首页
社区
课程
招聘
程序为何不能自删除
发表于: 2004-5-12 15:19 5345

程序为何不能自删除

2004-5-12 15:19
5345
看了hume关于程序自删除的文章,自己也找这些了一个,执行后为何删除不了?UnmapViewOfFile的返回值为 0,代码如下:
start:
; 得到进程句柄
invoke        GetModuleHandle,NULL
mov        hInstance,eax
; 得到自身的文件名
invoke        GetModuleFileName,hInstance,addr buf,sizeof buf
.if !eax
invoke MessageBox,NULL,addr szFName, addr szCaption, MB_OK or MB_ICONSTOP
.endif
lea        eax,buf
push  0
push  0                     
push  eax
push  ExitProcess
push  hInstance
push  DeleteFile
push  hInstance        ;eax
push  UnmapViewOfFile
push  4
push  FreeLibrary        
push  CloseHandle
ret
end        start

[峰会]看雪.第八届安全开发者峰会10月23日上海龙之梦大酒店举办!

收藏
免费 6
支持
分享
最新回复 (1)
雪    币: 272
活跃值: (340)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
关于这个问题我也看了几篇文章,我所了解的主要有两种方法:
1。县关闭程序自身的线程(文件),然后在删
2。创建一个新线程,用子线程关闭父线程。然后删程序。
不过我没去编程。
2004-5-12 18:05
0
游客
登录 | 注册 方可回帖
返回
//