首页
社区
课程
招聘
[求助]关于 ntdll.CsrNewThread
2009-2-11 00:38 8700

[求助]关于 ntdll.CsrNewThread

2009-2-11 00:38
8700
今天我写的一个程序莫名出现问题,

然后就用OD 为调试器进行调试,堆栈中找到,
7C80B6EC  |.  64:A1 1800000>MOV EAX,DWORD PTR FS:[18]
7C80B6F2  |.  8945 E0       MOV DWORD PTR SS:[EBP-20],EAX
7C80B6F5  |.  8178 10 001E0>CMP DWORD PTR DS:[EAX+10],1E00
7C80B6FC  |.  75 0F         JNZ SHORT kernel32.7C80B70D
7C80B6FE  |.  803D 0850887C>CMP BYTE PTR DS:[7C885008],0
7C80B705  |.  75 06         JNZ SHORT kernel32.7C80B70D
7C80B707  |.  FF15 F412807C CALL DWORD PTR DS:[<&ntdll.CsrNewThread>]                   ;  ntdll.CsrNewThread
7C80B70D  |>  FF75 0C       PUSH DWORD PTR SS:[EBP+C]
7C80B710  |.  FF55 08       CALL DWORD PTR SS:[EBP+8]
7C80B713  |.  50            PUSH EAX                                                    ; /ExitCode
7C80B714  \>  E8 CF090000   CALL kernel32.ExitThread                                    ; \ExitThread

跟进 CsrNewThread
7C93B08A >/$  FF35 D4B1997C PUSH DWORD PTR DS:[7C99B1D4]        //0x18
7C93B090  |.  E8 5B29FFFF   CALL ntdll.ZwRegisterThreadTerminatePort
7C93B095  \.  C3            RETN

7C92D9F0 >/$  B8 BB000000   MOV EAX,0BB
7C92D9F5  |.  BA 0003FE7F   MOV EDX,7FFE0300
7C92D9FA  |.  FF12          CALL DWORD PTR DS:[EDX]        //这里应该是call SSDT 吧?
7C92D9FC  \.  C2 0400       RETN 4                        //0XBB RegisterThreadTerminatePort

我的感觉是运行到,在调用 ntdll.CsrNewThread 后出现了问题,于是搜索这个函数,结果搜索到
论坛:
原贴见:
http://bbs.pediy.com/showthread.php?t=51441
(由于很久没有回复,所以已经关闭了)

然后又找了半天资源,还是没有什么眉目, 程序中没有调用 CreateRemoteThread

搜索一下,好像迅雷也经常因为这个 API 崩溃,(难道我中毒了??)

高手们,告诉一下,这里调用的几个 API 是什么意思

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
DazzleJ 2009-2-11 00:58
2
0
Terminate是关闭,不是远程``
雪    币: 6
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zjein 2009-2-11 01:08
3
0
  这都看错了, 我看到那那个帖子里面说,别人说"在CreateRemoteThread里下断点看进去不?"

误以为是 远程线程了!!重新编一下, 以免 贻笑大方
游客
登录 | 注册 方可回帖
返回