进程隐藏器|Linux添加启动进程或任务
前言:
有时需要一些自启动任务或定时重启任务进程隐藏器,等一段时间后重启程序。有两种方法:
1、编写一个脚本来执行要完成的操作,并将该脚本添加到系统的开机自启动任务进程中。在这里进程隐藏器,启动了 root 用户进程。这个启动后,在后面的流程中就可以看到了。
上面添加自启动任务,需要以下文件、文件和脚本自己创建:
文件介绍:
1.1、忽略名称问题,run.sh脚本内容如下:
1.2、-OD@。内容:
.service文件定义了一个服务,分为[Unit],[Service],[Install]三个小节
[Unit]
Description="helloword object detection %i" 服务进程描述,写有意义的内容,便于识别
Requires=network.target senseshield.service 当前 Unit 依赖的其他 Unit,如果它们没有运行,当前 Unit 会启动失败,定义启动顺序
After=network.target senseshield.service 在network.target,senseshield.service启动后才启动
PartOf=helloword-OD.target
BindTo与 Requires 相似,但是一种更强的关联。启动这个服务时会同时启动列出的所有模块,当有模块启动失败时终止当前服务。
反之,只要列出的模块全部启动以后,也会自动启动当前服务。并且这些模块中有任意一个出现意外结束或重启,这个服务会跟着终止或重启。
PartOf这是一个 BindTo 作用的子集,仅在列出的任何模块失败或重启时,终止或重启当前服务,而不会随列出模块的启动而启动。
[Service]WorkingDirectory=/home/nvidia/.config #设置应用的工作目录
ExecStart=/bin/bash helloword_run.sh 执行启动脚本,指定启动单元的命令或者脚本,
ExecStartPre和ExecStartPost节指定在ExecStart之前或者之后用户自定义执行的脚本。Type=oneshot允许指定多个希望顺序执行的用户自定义命令。
Restart=on-failure fail时重启,这个选项如果被允许,服务重启的时候进程会退出,会通过systemctl命令执行清除并重启的操作。
1.3、-OD。内容:
.target定义了一些基础的组件,供.service文件调用
[Unit]
Description="helloword object detection %i" 简短描述,服务描述,写有意义的内容,便于识别
Requires=helloword-OD@1.service 当前 Unit 依赖的其他 Unit,如果它们没有运行,当前 Unit 会启动失败
#Requires=helloword-OD@{1..2}.service
#After=network.target senseshield.service
[Install]
WantedBy=multi-user.target 它的值是一个或多个 Target,当前 Unit 激活时(enable)符号链接会放入/etc/systemd/system目录下面以 Target 名 + .wants后缀构成的子目录中,单元被允许运行需要的一系列依赖单元,RequiredBy列表从Require获得依赖信息
1.4、创建以上两个文件和脚本后:
复制-OD。到系统 /etc// 目录,
cp helloword-OD.target helloword-OD@.service /etc/systemd/system
为两个复制的文件添加执行权限:
sudo chmod +x helloword-OD.target helloword-OD@.service
执行命令添加-OD.,作用是添加-OD。到系统自启动项。
sudo systemctl enable helloword-OD.target
1.5、写几个可以在这里使用的命令:
程序自启动从启动项取消(关机重启就不在了):sudo systemctl disable helloword-OD.target
程序自启动添加到启动项(关机重启还在):sudo systemctl enable helloword-OD.target
关闭当前程序自启动(只关闭当前进程):sudo systemctl stop helloword-OD.target
开启当前程序自启动(只开启当前进程):sudo systemctl start helloword-OD.target
2、编写一个脚本来执行需要做的操作,在启动时将脚本添加到普通用户的自启动任务进程中。到这里,普通用户进程就启动了。这可以专用于终端来显示和收听。
1、比如我添加一个开机自启创建一个叫helloword.txt的任务,就使用helloword-od.desktop文件来实现这个文件夹你自交创建一个就行,内容如下:
忽略名称问题,run.sh脚本的内容如下:
2、将这个helloword-od.desktop文件放在home目录下的隐藏文件有一个叫 “.config”的隐藏文件夹。他里面有一个叫autostart这个文件里面。这文件是系统自带的。
如果你拥有这个。上面没有这个文件夹,可以自己创建一个,名字就叫。
3、放进去之后,确认helloword-od.desktop文件内容和目录路径正确,然后在终端使用:
gnome-session-properties
进入之后,勾选bash run.sh 并退出。
就完成了,每次开机自启都会在helloword_run.sh脚本所在的文件夹里面创建一个叫helloword.txt的文本。
3、例如这里添加一个定时器程序:
除了使用桌面自启动程序之外还要使用linux上面的crontab来添加程序定时重新启动。
1、在终端使用 crontab -e

1、编辑crontab文件,用来存放你要执行的命令
sudo crontab -e
2、第一次用这个命令,会让你选择文本编辑器,我选的是vim
(输入数字选择就是了!)
3:在这个文件最后面最后一行添加执行命令
每天的00点00分执行这个/home/user/workspace/helloword_auto_start路径下面的helloword_run.sh脚本并将结果输出到log.txt。
00 00 * * * cd /home/user/workspace/helloword_auto_start; bash helloword_run.sh > log.txt
4、还需要在helloword_run.sh里面最后一行前一行加上:
export DISPLAY=:0
5:重启cron来应用这个计划任务
sudo service cron restart
6、使用这个命令来查看是否有执行重启或者查看自己将输出重定向到txt文本的内容或者看进程名字是否有重启。 watch -n .5 "sudo systemctl status cron.service"
3.1、编辑器选择错误的解决方法:
方法一:
vim ~/.bashrc
在文件最后面添加以下代码,保存退出
export EDITOR=/usr/bin/vim
然后生效配置
source ~/.bashrc
方法二:
select-editor
3.2、详情
1、crontab文件的基本格式如下所示
* * * * * command
分 时 天 月 周 命令
1、 中的每一行代表一个定期执行的任务,分为 6 个部分。前 5 部分表示命令何时执行,最后部分表示执行的命令。每个部分用空格分隔,不仅最后一部分(命令)里面可以使用空格,其他部分不能使用空格。前5部分分别代表:分、时、日、月、周,各部分取值范围如下:
分钟 0 - 59
小时 0 - 23
天 1 - 31
月 1 - 12
星期 0 - 6 0表示星期天
* (星号) 表示任意值,比如在小时部分填写 * 代表任意小时(每小时)
,(逗号) 可以允许在一个部分中填写多个值,比如在分钟部分填写 1,3 表示一分钟或三分钟
/(斜线) 一般配合 * 使用,代表每隔多长时间,比如在小时部分填写 /2 代表每隔两分钟。所以 /1 和 * 没有区别
2:反例
(1)30 20 * * * date >> /home/date.log //每天的20:30将日期信息追加home目录下的date.log中
(2)5 20 13,14 * * date >> /home/date.log //每月的13日,14日20:5分将日期信息最追加home目录下的date.log中
(3)0,10 10,12 * * * date >> /home/date.log //每天10点至12点之间,隔10分钟将日期信息最追加home目录下的date.log中
(4)/5 * * * date >> /home/date.log //每5分钟将日期信息最追加home目录下的date.log中
3:是UNIX系统下定时执行任务的触发器。用户在这个文件下记录要周期性执行的任务,然后crond会周期性的查看周期性执行列表,有工作要执行的时候手动执行。
以下信息可以通过man查看
(1)/etc/crond.allow 表示的是允许使用crontab的用户列表
(2)/etc/crond.deny 表示的是不允许使用crontab的用户列表
4:几种常用的命令格式
crontab -l //显示用户的crontab文件的内容
crontab -e //编辑用户的crontab文件的内容
crontab -r //删除用户的crontab文件
1、 计划任务,crontab命令选项:
-u指定一个用户,
-l列出某个用户的任务计划,
-r删除某个用户的任务,
-e编辑某个用户的任务
2、Cron 文件语法:
分 小时 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command
可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件
进程隐藏器|windows黑客编程技术的隐藏技术(进程伪装、傀儡进程、进程隐藏)
进程隐藏器|windows黑客编程技术之隐藏技术(进程伪装,傀儡进程,进程隐藏)进程伪装:通过修改指定进程PEB中的路径和命令行信息实现伪装。傀儡进程:通过进程挂起,替换内存数据再恢复执行,从而实现创建“傀儡进程”。进程隐藏:通过HOOK函数ion来实现进程隐藏。傀儡进程的创建原理就是修改某一进程的内存数据,向内存中写入代码,并修改该进程的执行流程,使其转而执行代码。用傀儡进程的形式启动,成功执行了代码。在钩子函数中判断检索的信息是否是该进程信息,是则去掉,进而隐藏进程信息。 【查看详情】
进程隐藏器|SuperMapiServer微服务多实例
进程隐藏器|SuperMap iServer 微服务多实例多实例特性是基于多进程工作模式,将一个服务自动扩展出多个完全相同的实例,并且每个实例分别运行在一个进程中,每个实例都可以独立处理请求。当多进程的主节点(节点)收到用户的请求后,根据特定算法,选择一个实例来响应用户的请求。当服务器收到相同服务的并发请求时,便可由多个进程处理,减少客户端的等待时间。如图3所示,利用第三方测试工具,测试了同一服务在设置了不同实例个数时,服务点击率的变化情况。 【查看详情】
进程隐藏器|基于PEB断链的隐藏进程/模块
进程隐藏器|基于PEB断链实现进程/模块隐藏断链这种技术非常古老,同时应用于非常多的场景,在内核层如果我们需要隐藏一个进程的内核结构体,也会使用这种技术。本文基于PEB断链在用户层和内核层分别进行实现,在用户层达到的效果主要是dll模块的隐藏,在内核层达到的效果主要是进程的隐藏。这个链表跟进程隐藏有关,只要我们把想要隐藏进程对应的的链断掉,就可以达到在0环进程隐藏的目的。如果是我们想要隐藏的进程就执行断链操作 【查看详情】