首页
社区
课程
招聘
[原创]可执行程序的自删除。。。。
发表于: 2008-4-16 12:18 6116

[原创]可执行程序的自删除。。。。

2008-4-16 12:18
6116

当然有很多方法了,不过这个方法不知道有没有人用过,我在无意间发现的:
.data
   explorer                db "Progman",0
   exp_class                db "Program Manager",0
   ken                        db "Kernel32.dll",0
   LoadLib                  db "LoadLibraryA",0
   delef                db "DeleteFileA",0   

.data?
   hInstance HINSTANCE ?
   rs_addr                dd ?
   system_dir                db 260 dup(?)
   explorer_hd                dword <>
   vm_hd                dword <>
   bw_file                dd ?
   open_proc_hd                dword <>  
   ken32                dword <>
   

.code

start:
        invoke GetModuleHandle, 0
        mov    hInstance,eax
       

        invoke FindWindow,addr explorer,addr exp_class       
        invoke  GetWindowThreadProcessId,eax,offset dwProcessID       
        invoke OpenProcess,PROCESS_VM_WRITE or PROCESS_CREATE_THREAD or PROCESS_VM_OPERATION,TRUE ,dwProcessID
        mov         open_proc_hd,eax  
        invoke VirtualAllocEx,open_proc_hd,0,260,MEM_COMMIT,PAGE_EXECUTE_READWRITE
        mov vm_hd,eax
        invoke LoadLibrary,addr ken
        mov        ken32,eax
        invoke GetModuleFileName,hInstance,addr system_dir,MAX_PATH
        invoke WriteProcessMemory,open_proc_hd,vm_hd,addr system_dir,250,rt_hd
        invoke GetProcAddress,ken32,addr delef
        invoke CreateRemoteThread,open_proc_hd,NULL,0,eax,vm_hd,0,NULL
        ;invoke CloseHandle,open_proc_hd       
        invoke ExitProcess,NULL
end start


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 7
支持
分享
最新回复 (2)
雪    币: 321
活跃值: (271)
能力值: ( LV13,RANK:1050 )
在线值:
发帖
回帖
粉丝
2
呵呵,这个办法不错。学习了
2008-4-16 12:47
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
又是远程线程啊,这方法主动防御得拦...来点有趣的...

program SuperDeleteMe;

uses
  Windows;

begin
  WinExec(PChar('cmd /c erase /F '+GetCommandLine),0);
  ExitProcess(0);
end.
2008-4-16 12:49
0
游客
登录 | 注册 方可回帖
返回
//