首页
社区
课程
招聘
[求助]汇编语言,远程插入线程的问题 问题已解决....
发表于: 2008-4-13 19:43 4270

[求助]汇编语言,远程插入线程的问题 问题已解决....

2008-4-13 19:43
4270
用汇编语言写的远程线程插入,但插入到explorer.exe的话,就会造成explorer.exe忙碌,感觉像死机了,但是插入线程工作正常,那位高手指教以下啊??

代码如下:

System_Dir           db "c:\test.dll",0
start:
        invoke GetModuleHandle, NULL
        mov    hInstance,eax
       
        invoke GetCommandLine
        mov    CommandLine,eax

       
        invoke CreateToolhelp32Snapshot,TH32CS_SNAPPROCESS,0
        mov         proc_snap_hd,eax
        mov         snap_st.dwSize,sizeof snap_st
        invoke Process32First,proc_snap_hd,addr snap_st
        .while         eax !=0
                lea        edi,snap_st.szExeFile
                lea        esi,Explorer
                mov        ecx,12
                repe        cmpsb
               
                 .if        ZERO?
                         .REPEAT
                                 invoke Sleep,2000
                                 invoke OpenProcess,PROCESS_CREATE_THREAD or PROCESS_VM_WRITE or PROCESS_VM_OPERATION,1,snap_st.th32ProcessID
                                
                         .UNTIL eax!=0
                        
                         mov        explorer_hd, eax
                         invoke  VirtualAllocEx,explorer_hd,NULL,260,MEM_COMMIT,PAGE_EXECUTE_READWRITE
                         mov        VoM_hd,eax
                         invoke WriteProcessMemory,explorer_hd,VoM_hd,addr System_Dir,260,NULL
                         invoke LoadLibrary,addr Kernel
                         invoke GetProcAddress,eax,addr LoadL_name
                         invoke CreateRemoteThread,explorer_hd,NULL,0,eax,VoM_hd,NULL,NULL       
                        
                        
                        
                 .endif
                 invoke Process32Next,proc_snap_hd,addr  snap_st
               
        .endw       
       
       
        ;invoke WinMain, hInstance,NULL,CommandLine, SW_SHOWDEFAULT
        invoke ExitProcess,eax

end start

dll 文件源代码如下:
.code
DllEntry proc hInstDLL:HINSTANCE, reason:DWORD, reserved1:DWORD
        invoke CreateThread,NULL,0,addr GetSysInfo,NULL,0,tr_l
        mov  eax,0
        ret
DllEntry Endp
GetSysInfo  proc
  
      .while true
          invoke sleep,5000
         
       ret

GetSysInfo endp

End DllEntry

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

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 224
活跃值: (10)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
.while true
          invoke sleep,5000
         
       ret
是不是因为这个的原因???
你将这个线程的优先级调低着点呢???
2008-4-14 08:51
0
雪    币: 247
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
罗云彬不是写过吗 自己看例子去
2008-4-14 14:03
0
雪    币: 218
活跃值: (17)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
问题以解决,释放句柄后一切正常..
2008-4-15 17:29
0
游客
登录 | 注册 方可回帖
返回