首页
社区
课程
招聘
[求助]关于实现程序自删除的问题,高手进
发表于: 2009-2-13 15:20 4193

[求助]关于实现程序自删除的问题,高手进

2009-2-13 15:20
4193
.386
.model flat,stdcall
option casemap:none

include std.inc

.data
        hModule DWORD 0
        buf db 128 dup(0)
.code
main proc
        invoke GetModuleHandle,NULL
        mov hModule,eax
        invoke GetModuleFileName,hModule,offset buf,128
        call next
        ret
next:
        lea eax,buf
        push 0
        push 0
        push eax
        push ExitProcess
        push hModule
        push DeleteFile
        push UnmapViewOfFile
        ret
main endp
end main
当执行完UnmapViewOfFile后就不能继续执行下去了,
所以我觉得这种方法实现自删除肯定不行,,有没有人有好点的方法

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 229
活跃值: (483)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
2
顶啊我顶啊我
2009-2-14 16:36
0
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
3
上批处理吧
2009-2-14 16:51
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
WinExec Lib "kernel32" (ByVal lpCmdLine As String, ByVal nCmdShow As Long)
2009-2-14 17:49
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
5
这要看你想要的“自删除”的定义是什么了。

你给的那个代码是很经典的一个代码,这里的自删除的定义就是简单的“程序删除自身的可执行文件”。

如果你想要实现的“自删除”,除了删除文件外,还想要代码继续执行,那就需要其它一些技巧。有一款by shell,有这样的功能。我只知道早期版本使用的基本原理是将自身的代码注入到其它进程,比如explorer进程,在宿主进程里完成真正的功能,而本进程剩下的工作就是“自删除”了。至于新版本,不清楚。
2009-2-14 19:55
0
游客
登录 | 注册 方可回帖
返回
//