首页
社区
课程
招聘
[旧帖] [求助]请问为什么使用 OD 不能调试迅雷呢? 0.00雪花
发表于: 2009-6-22 10:19 1542

[旧帖] [求助]请问为什么使用 OD 不能调试迅雷呢? 0.00雪花

2009-6-22 10:19
1542
如题,在用 OD 打开迅雷,一运行就 Terminated 了,不知道是什么原因呢?谢谢。

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 53
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
请大家解释一下呢。
2009-6-22 11:15
0
雪    币: 53
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
下面这张图显示的是我刚用 OD 打开 thunder.exe 文件时的情形:

004BAB6A >/$ 55             PUSH EBP
004BAB6B  |. 8BEC           MOV EBP,ESP
004BAB6D  |. 6A FF          PUSH -1
004BAB6F  |. 68 08E34D00    PUSH Thunder5.004DE308
004BAB74  |. 68 B8AD4B00    PUSH <JMP.&MSVCRT._except_handler3>      ;  SE handler installation

如果我再 F9 直接运行时,就 terminate 了 :(

7C92E512   0F34             SYSENTER
7C92E514 > C3               RETN
7C92E515   8DA424 00000000  LEA ESP,DWORD PTR SS:[ESP]
2009-6-22 12:54
0
雪    币: 53
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不知道是不是里面加了反调试的代码,或者加壳了呢?请指点一下。
2009-6-22 12:54
0
雪    币: 53
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不知道是不是这种问题太简单的原因,导致无人问津呢:

下面显示的是我刚用 OD 打开 thunder.exe 文件时的入口点:

004BAB6A >/$  55            PUSH EBP
004BAB6B  |.  8BEC          MOV EBP,ESP
004BAB6D  |.  6A FF         PUSH -1
004BAB6F  |.  68 08E34D00   PUSH Thunder5.004DE308
004BAB74  |.  68 B8AD4B00   PUSH <JMP.&MSVCRT._except_handler3>                  ;  SE handler installation

在每次 F9 运行的时候就直接跳到 ntdll 中的:

7C92E512   0F34             SYSENTER
7C92E514 > C3               RETN                      ; 直接跳到这边结束返回了
7C92E515   8DA424 00000000  LEA ESP,DWORD PTR SS:[ESP]

看了一下调用栈,发现在这里 exit 的:

004BAC92  |.  FF15 08D24C00 CALL DWORD PTR DS:[<&KERNEL32.GetModuleHandleA>]     ; \GetModuleHandleA
004BAC98  |.  50            PUSH EAX
004BAC99  |.  E8 B2010000   CALL Thunder5.004BAE50
004BAC9E  |.  8945 98       MOV DWORD PTR SS:[EBP-68],EAX
004BACA1  |.  50            PUSH EAX                                             ; /status
004BACA2  |.  FF15 28DE4C00 CALL DWORD PTR DS:[<&MSVCRT.exit>]                   ; \就在这里 exit 的
004BACA8  |.  8B45 EC       MOV EAX,DWORD PTR SS:[EBP-14]

不知道是怎么回事呢?

然后又跟了一下:

004BAC99  |.  E8 B2010000   CALL Thunder5.004BAE50

004BAE50  /$  FF7424 10     PUSH DWORD PTR SS:[ESP+10]
004BAE54  |.  FF7424 10     PUSH DWORD PTR SS:[ESP+10]
004BAE58  |.  FF7424 10     PUSH DWORD PTR SS:[ESP+10]
004BAE5C  |.  FF7424 10     PUSH DWORD PTR SS:[ESP+10]
004BAE60  |.  E8 43000000   CALL <JMP.&MFC42.#1576>            ; 这里进入 MFC42 的领空了。
004BAE65  \.  C2 1000       RET 10

请大侠指点一下吧。
2009-6-23 14:30
0
雪    币: 53
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
不好意思,没有搜一下以前帖子,原来我一直调的是 program 下的 thunder5.exe,而其实应该是从安装目录下的那个启动器 thunder5.exe 开始调的:

004019B2  |.  68 0C524000   PUSH Thunder.0040520C                             ; |DefDir = ""
004019B7  |.  FF75 F0       PUSH DWORD PTR SS:[EBP-10]                        ; |Parameters
004019BA  |.  FF75 E8       PUSH DWORD PTR SS:[EBP-18]                        ; |FileName
004019BD  |.  68 58504000   PUSH Thunder.00405058                             ; |Operation = "open"
004019C2  |.  FF15 F4314000 CALL DWORD PTR DS:[<&USER32.GetDesktopWindow>]    ; |[GetDesktopWindow
004019C8  |.  50            PUSH EAX                                          ; |hWnd
004019C9  |.  FF15 C8314000 CALL DWORD PTR DS:[<&SHELL32.ShellExecuteA>]      ; \ShellExecuteA,就在这里启动了 program/thunder5.exe 了
004019CF  |.  8D4D EC       LEA ECX,DWORD PTR SS:[EBP-14]

那下面 program/thunder5.exe 已经被以另外一个进程运行了,该怎么来调试它呢,我用了 attach,但是一 attach 就跑到这里了:

7C92120E >  CC              INT3
7C92120F    C3              RET                                               ; 直接就跳到ntdll的领空这里,迅雷也用不了
7C921210    8BFF            MOV EDI,EDI

----------------------------
2009-6-23 16:23
0
雪    币: 55
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我以前也问过被CreateProcessA创建出来的进程怎么调试的问题,不过也是没人答……

感觉这个版块真正的高手根本不会来看。或者说看了也没兴趣答……
2009-6-24 10:06
0
雪    币: 53
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这个问题,后来昨天搜索了一下,还是找到了一个帖子里提到调试迅雷的问题。

我调试的那个 thunder5.exe(安装目录下)其实只是一个启动器。
2009-6-24 13:21
0
雪    币: 68
活跃值: (47)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
原来是这样,看来有的需要调试安装文件
2009-7-18 09:06
0
游客
登录 | 注册 方可回帖
返回
//