能力值:
( LV4,RANK:50 )
|
-
-
2 楼
很简短的几句代码就搞定
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
说……你来地球的目的是什么?
|
能力值:
( LV5,RANK:70 )
|
-
-
4 楼
小弟过来寻医问药的。。。
|
能力值:
( LV8,RANK:140 )
|
-
-
5 楼
你能保证调用DeleteThis的时候你的程序已经退出了?
|
能力值:
( LV5,RANK:70 )
|
-
-
6 楼
呵呵,所以我才加了一句注释啊
DeleteThis() ;//注意要用在代码最后
在调用DeleteThis()时确实还没退出,但是WinExec启动的新进程初始化要花时间,WinExec直接返回,这段时间已经足够本进程退出了。
代码经过测试,表示有效。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
利用的是GetCommandLine()这句,然后就是cmd的指令而已。感觉,LZ可以直接考虑写在main里面,动一动ebp就好了啊……
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
自删除有何意义……
|
能力值:
( LV5,RANK:70 )
|
-
-
9 楼
其实关键是创建一个外部进程,所以同样是执行命令行,用system()却是达不到目的。
写在main里也是可以的,只是我有意把它抽出来弄个函数,需要时直接copy过去就可以用了。
GetCommandLine()这句只是取得文件名,完全可以用其他函数代替,比如GetModuleFileName。
动ebp的话。。。要用汇编shellcode吗?感觉会复杂一些。。。
|
能力值:
( LV5,RANK:70 )
|
-
-
10 楼
据说这样子比较好玩。
|
能力值:
( LV4,RANK:50 )
|
-
-
11 楼
将自己的exe movefile 然后退出即可
|
能力值:
( LV3,RANK:20 )
|
-
-
12 楼
1.这种代码还是很有意义的,例如软件更新
2.你能完全保证该删除命令执行的时候程序已经退出?一台电脑测试成功并不能说明什么——假如在老爷机上……
这的确是一个问题哦。
楼主可以这么执行:WinExec("cmd /c taskkill -f -im xxx.exe & del /f /q xxx.exe", SW_HIDE);
避免删除失败
|
能力值:
( LV5,RANK:70 )
|
-
-
13 楼
哈哈,谢谢。忘了还可以用taskkill 了。不过在构造命令行时要多调用两次 strcat 。
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
您这是找着被报毒啊……
99%的自动动态分析工具跑此类代码都会定义为病毒
|
能力值:
( LV5,RANK:70 )
|
-
-
15 楼
写个helloworld都会被报毒,更别说这种代码了。习惯就好了。
况且,有一类软件是要关闭杀软才能正常使用的,你懂的。
|
能力值:
( LV3,RANK:20 )
|
-
-
16 楼
呵呵,没有报毒。
#include <stdio.h>
#include <windows.h>
int main()
{
printf("Hello World!\n");
WinExec("cmd /c taskkill -f -im cpp1.exe & del /f /q c:\\cpp1.exe", SW_HIDE);
Sleep(10 * 1000);
return 0;
}
以上代码没有报毒,配置:
Win7 x64,360安全卫士9.2Beta,360杀毒4.2.1,VC6简体中文版。
代码照常工作
|
能力值:
( LV2,RANK:15 )
|
-
-
17 楼
感谢,有用,测试版本 win7 64
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
测试发现Sleep(10 * 1000);这行代码已经不会执行了。
不知谁知道有什么技巧在xxx.exe执行后删除硬盘上的xxx.exe文件而进程xxx.exe还活着。这个用途实际上比LZ的东西更有价值。
|
能力值:
( LV3,RANK:20 )
|
-
-
19 楼
这里的Sleep()只是为了看效果而设置的。
那倒是,以前看过把dll隐藏的办法,实际上就是注入,exe不知咋办。
不过要是有这种技术病毒会泛滥很长时间
|
能力值:
( LV9,RANK:170 )
|
-
-
20 楼
好!留名备用,,,
|
能力值:
( LV5,RANK:70 )
|
-
-
21 楼
有多种方法可以实现这个技巧的
1.使用vbs脚本,你把脚本运行后再删除了,宿主进程还是活着的。
2.使用“代码注入技术”(具体方法你可以百度一下),是编写病毒的一种常用技术。
你先把代码注入到另外一个进程,再调用我这个函数删除自身即可。
其实都是老技巧了,被以前的病毒用到泛滥了。我就不再炒冷饭了。
|
能力值:
( LV5,RANK:70 )
|
-
-
22 楼
注入方式分dll注入和代码注入。实际上都需要一个启动程序,该程序的功能就是把dll或代码注入到目标进程。许多病毒就是使用这种技术的,并不新鲜了。
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
关掉自身占用exe的句柄……
|
能力值:
( LV5,RANK:70 )
|
-
-
24 楼
标题党。。
其实没有多少价值,他就是让cmd完成这些操作的,,,跟批处理差不多。
|
能力值:
( LV5,RANK:70 )
|
-
-
25 楼
可以尝试代码注入技术,通常有直接代码输入,和DLL,两种,但是在Win7环境下用直接代码注入会有权限保护机制(主要在虚拟内存中写入代码后,不能直接执行),总是会失败,而在WinXp下直接代码注入仍然可以用。DLL注入较为简单,只要将DLL理解成宿主进程的一个常规DLL即可,所以这个方法只要DLL不淘汰就一直可以用。两个方法都要用CreateRemoteThread和VirtualAllocEx函数,或者想隐蔽一点就调用NTDLL里的函数,可以用WinDbg跟一下它用了NTDLL里的哪个函数。
|
|
|