能力值:
( LV2,RANK:10 )
|
-
-
2 楼
听说只能在xp下
|
能力值:
( LV3,RANK:30 )
|
-
-
3 楼
2003、Vista都可以
|
能力值:
( LV6,RANK:80 )
|
-
-
4 楼
巧 顶
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
汇编的技巧真多啊,仔细琢磨下!
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
不错,,多谢了
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
好东西~回头试一试~先转掉~~
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
同理最后调用的是ExitProcess(参数1),防止rundll32继续运行下去出错。
请教下,按照FreeLibrary和DeleteFile
的思路,我怎么觉得取不到参数1呀
|
能力值:
( LV3,RANK:30 )
|
-
-
9 楼
少写了个push 0,呵呵,多谢指正,这回对了吧
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
很精妙呀,学习了
|
能力值:
( LV3,RANK:20 )
|
-
-
11 楼
不错的方法
|
能力值:
(RANK:1130 )
|
-
-
12 楼
不如reloadandrun
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
不错,很巧妙
|
能力值:
( LV9,RANK:290 )
|
-
-
14 楼
有没有哪位兄弟翻译成delphi版的看看呢
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
不错,怎么才能改成exe的?
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
在windowsxp下好像实现exe的自删除只能通过注入,命令行实现,目前还不知道有其他办法能购实现不依赖其他程序的自删除
|
能力值:
( LV15,RANK:340 )
|
-
-
17 楼
Delphi的很容易改啊,注意下BASM的API调用方式就行了。
其实这个代码巧妙的地方在于,FreeLibrary后依靠残留在栈中的参数继续ret:
library selfdel;
uses
SysUtils,
Windows;
procedure DeleteMe();
var
pDllName: PChar;
begin
MessageBox(0, '自删除DLL演示!', 'Call DeleteMe()', MB_OK);
pDllName := VirtualAlloc(nil, MAX_PATH, MEM_COMMIT, PAGE_READWRITE);
GetModuleFileName(HInstance, pDllName, MAX_PATH);
asm
push 0 // 参数1
push pDllName // 参数2
// ExitProcess:
// 0040785C FF25 786D4700 jmp dword ptr [$00476d78]
mov eax, DWORD ptr [ExitProcess+2] // long JMP +2
push DWORD ptr [eax] // Func Address
push HInstance // 参数3
mov eax, DWORD ptr [DeleteFile+2]
push DWORD ptr [eax]
mov eax, DWORD ptr [FreeLibrary+2]
push DWORD ptr [eax]
ret
end;
end;
exports
DeleteMe;
begin
end.
运行方法:rundll32 selfdel.dll, DeleteMe
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
能向运行中的EXE文件写入数据吗?
不考虑生成程序副本
以前听说在驱动层可以做到,但不知道如何做。
直接写物理硬盘理论上能实现吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
不错,精巧!!
|
能力值:
( LV9,RANK:170 )
|
-
-
20 楼
bat
del xxx.exe
del %0
|
能力值:
( LV6,RANK:80 )
|
-
-
21 楼
cmd /c "path"
|
能力值:
( LV4,RANK:50 )
|
-
-
22 楼
这个不错,好玩
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
学习了.ASM用得真是好啊
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
WinExec(Pchar('cmd /c del '+GetCommandLine),SW_HIDE); 这样就可以了吧
|
能力值:
( LV6,RANK:90 )
|
-
-
25 楼
收藏了
|
|
|