首页
社区
课程
招聘
[求助]插入远程线程问题。。 问题已解决,谢谢 liuzewei!
发表于: 2007-12-23 02:19 4812

[求助]插入远程线程问题。。 问题已解决,谢谢 liuzewei!

2007-12-23 02:19
4812
本人用CreateRemoteThread 向 explorer.exe中插入了一个dll文件,dll中的内容很简单,就是每隔5秒钟查找一次窗口类,如果有符合条件者,就将其关闭,但是,dll插入成功后,系统就变得很慢,用进程管理器查看,没有cpu占用很多的进程,高手指点以下,怎么回事啊??

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 324
活跃值: (91)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
2
你的 dll 中查询有没有新开一个线程?

不开的话,会直接阻碍宿主程序运行!
2007-12-23 12:32
0
雪    币: 218
活跃值: (17)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
我的DLL本来就是一个线程吧?
2007-12-23 19:11
0
雪    币: 218
活跃值: (17)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
谢谢高手指教啊,创建新进程后问题解决了!
代码如下:

var
log : textfile;
mes : msg;
tr_id: Cardinal;

{$R *.res}

function timer(e: Pointer) :integer ;stdcall;
var
hwnd1,Thand1: THandle;
begin
while True do
begin

      HWnd1 :=FindWindow('ThunderRT5Form', nil); // 检查是否有类名为'ThunderRT5Form'(连连看)的窗口在运行
      if HWnd1 <> 0 then
       begin
          GetWindowThreadProcessId(hwnd1,Thand1);
           //GetModuleFileName(thand1,path_name,name_size) ;
           TerminateProcess(OpenProcess(PROCESS_TERMINATE, BOOL(0),thand1), 0) ;
          //DeleteFile(path_name);

       end;
       sleep(30000);     //大家说说这样行不行啊?
end;

end;

begin

  CreateThread(nil,0,@timer,nil,0,tr_id);

end.
2007-12-23 20:24
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
你创建完了那个线程怎么关闭阿,不关闭会引起explorer.exe崩溃的
2008-1-17 19:03
0
雪    币: 189
活跃值: (4810)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
把代码发出来分享下
2008-1-21 09:40
0
游客
登录 | 注册 方可回帖
返回
//