首页
社区
课程
招聘
[旧帖] [求助]谁能给思路,我送他QQ会员 0.00雪花
发表于: 2010-10-10 10:05 5371

[旧帖] [求助]谁能给思路,我送他QQ会员 0.00雪花

2010-10-10 10:05
5371
00ACBB70  /$  55            PUSH EBP
00ACBB71  |.  8BEC          MOV EBP,ESP
00ACBB73  |.  83EC 1C       SUB ESP,1C
00ACBB76  |.  837D 08 00    CMP DWORD PTR SS:[EBP+8],0
00ACBB7A  |.  75 04         JNZ SHORT Zone.00ACBB80
00ACBB7C  |.  33C0          XOR EAX,EAX
00ACBB7E  |.  EB 7B         JMP SHORT Zone.00ACBBFB
00ACBB80  |>  6A 1C         PUSH 1C                                  ; /n = 1C (28.)
00ACBB82  |.  6A 00         PUSH 0                                   ; |c = 00
00ACBB84  |.  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]            ; |
00ACBB87  |.  50            PUSH EAX                                 ; |s
00ACBB88  |.  E8 F7960900   CALL <JMP.&MSVCR80.memset>               ; \memset
00ACBB8D  |.  83C4 0C       ADD ESP,0C
00ACBB90  |>  837D E8 12    /CMP DWORD PTR SS:[EBP-18],12
00ACBB94  |.  74 62         |JE SHORT Zone.00ACBBF8
00ACBB96  |.  6A 01         |PUSH 1                                  ; /RemoveMsg = PM_REMOVE
00ACBB98  |.  6A 00         |PUSH 0                                  ; |MsgFilterMax = WM_NULL
00ACBB9A  |.  6A 00         |PUSH 0                                  ; |MsgFilterMin = WM_NULL
00ACBB9C  |.  6A 00         |PUSH 0                                  ; |hWnd = NULL
00ACBB9E  |.  8D4D E4       |LEA ECX,DWORD PTR SS:[EBP-1C]           ; |
00ACBBA1  |.  51            |PUSH ECX                                ; |pMsg
00ACBBA2  |.  FF15 B4E1D600 |CALL DWORD PTR DS:[<&USER32.PeekMessage>; \PeekMessageA
00ACBBA8  |.  85C0          |TEST EAX,EAX
00ACBBAA  |.  74 35         |JE SHORT Zone.00ACBBE1
00ACBBAC  |.  8B55 F0       |MOV EDX,DWORD PTR SS:[EBP-10]
00ACBBAF  |.  52            |PUSH EDX
00ACBBB0  |.  8B45 EC       |MOV EAX,DWORD PTR SS:[EBP-14]
00ACBBB3  |.  50            |PUSH EAX
00ACBBB4  |.  8B4D E8       |MOV ECX,DWORD PTR SS:[EBP-18]
00ACBBB7  |.  51            |PUSH ECX
00ACBBB8  |.  8B55 E4       |MOV EDX,DWORD PTR SS:[EBP-1C]
00ACBBBB  |.  52            |PUSH EDX
00ACBBBC  |.  8B4D 08       |MOV ECX,DWORD PTR SS:[EBP+8]
00ACBBBF  |.  E8 BCDBFFFF   |CALL Zone.00AC9780
00ACBBC4  |.  0FB6C0        |MOVZX EAX,AL
00ACBBC7  |.  85C0          |TEST EAX,EAX
00ACBBC9  |.  75 14         |JNZ SHORT Zone.00ACBBDF
00ACBBCB  |.  8D4D E4       |LEA ECX,DWORD PTR SS:[EBP-1C]
00ACBBCE  |.  51            |PUSH ECX                                ; /pMsg
00ACBBCF  |.  FF15 88E1D600 |CALL DWORD PTR DS:[<&USER32.TranslateMe>; \TranslateMessage
00ACBBD5  |.  8D55 E4       |LEA EDX,DWORD PTR SS:[EBP-1C]
00ACBBD8  |.  52            |PUSH EDX                                ; /pMsg
00ACBBD9  |.  FF15 8CE1D600 |CALL DWORD PTR DS:[<&USER32.DispatchMes>; \DispatchMessageA
00ACBBDF  |>  EB 15         |JMP SHORT Zone.00ACBBF6
00ACBBE1  |>  8B4D 08       |MOV ECX,DWORD PTR SS:[EBP+8]            ; *************
00ACBBE4  |.  E8 D7DBFFFF   |CALL Zone.00AC97C0
00ACBBE9  |.  0FB6C0        |MOVZX EAX,AL
00ACBBEC  |.  85C0          |TEST EAX,EAX
00ACBBEE  |.  74 02         |JE SHORT Zone.00ACBBF2
00ACBBF0  |.  EB 04         |JMP SHORT Zone.00ACBBF6
00ACBBF2  |>  33C0          |XOR EAX,EAX
00ACBBF4  |.  EB 05         |JMP SHORT Zone.00ACBBFB
00ACBBF6  |>^ EB 98         \JMP SHORT Zone.00ACBB90
00ACBBF8  |>  8B45 EC       MOV EAX,DWORD PTR SS:[EBP-14]
00ACBBFB  |>  8BE5          MOV ESP,EBP
00ACBBFD  |.  5D            POP EBP
00ACBBFE  \.  C3            RETN

00ACBBE1  |>  8B4D 08       |MOV ECX,DWORD PTR SS:[EBP+8]            ; *************

这里的[EBP+8]改如何跟呢
请教,如给出思路正确,我送他QQ会员,记得留下QQ号码

这里也有详细描述
http://www.ghoffice.com/bbs/read-htm-tid-82875.html

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 39
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
F2下断 看寄存器
2010-10-10 10:54
0
雪    币: 101
活跃值: (157)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
你发的这段代码是消息循环的代码,EBP+8就是main函数的参数1,跟来干嘛。。
2010-10-10 10:59
0
雪    币: 18
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
兄弟,我跟基址,跟到这里了呀
2010-10-10 11:21
0
雪    币: 411
活跃值: (247)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
00ACBBE1  |>  8B4D 08       |MOV ECX,DWORD PTR SS:[EBP+8]            ; *************

要跳到上面这段的条件是下面这里的返回值为 0

00ACBBA2  |.  FF15 B4E1D600 |CALL DWORD PTR DS:[<&USER32.PeekMessage>; \PeekMessageA
00ACBBA8  |.  85C0          |TEST EAX,EAX
00ACBBAA  |.  74 35         |JE SHORT Zone.00ACBBE1

PeekMessageA什么时候的返回值为0呢,MSDN告诉我们:“If no messages are available, the return value is zero. ”

lz可以在00ACBBE1处下断,然后F9跑程序,当消息队列没消息时,自然断到这里,这段代码看样子就是窗口程序死循环取消息然后处理消息的代码,利用PeekMessage在没有消息时处理一些别的事情。

另:
要想知道EBP+8是怎么赋值的,随便在上面的代码中下断,断下后看返回地址,直接到返回地址处分析当前模块的参数传递信息,就OK
2010-10-10 14:34
0
雪    币: 166
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
楼上正解。。。
2010-10-11 08:55
0
雪    币: 18
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
[QUOTE=blackwhite;869672]00ACBBE1  |>  8B4D 08       |MOV ECX,DWORD PTR SS:[EBP+8]            ; *************

要跳到上面这段的条件是下面这里的返回值为 0

00ACBBA2  |.  FF15 B4E1D600 |CALL DW...[/QUOTE]

我下断点试过了,一直在死循环中,所以我没办法找到是谁给[EBP+8]赋值的,也就没办法找到这个基址
2010-10-11 09:46
0
雪    币: 101
活跃值: (157)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
[QUOTE=小楼来了;870083]我下断点试过了,一直在死循环中,所以我没办法找到是谁给[EBP+8]赋值的,也就没办法找到这个基址[/QUOTE]

断下来之后看下调用堆栈啊,看从哪里调过来的,然后就可以往上跟了。。
2010-10-11 13:25
0
雪    币: 401
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
EBP+8就是第一个参数嘛,到了00ACBB71  |.  8BEC          MOV EBP,ESP之后就可以看到值了,想要知道谁给[EBP+8]赋值赋值那就看谁调用了这个函数。
2010-10-12 12:14
0
雪    币: 997
活跃值: (987)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
跟外挂的基址竟然跟到消息循环里来了 厉害
2010-11-5 22:06
0
雪    币: 145
活跃值: (85)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
11
楼主,首先你的思路错了。。。怎么可能跟到这里来呢?????????

你要时刻注意数值的变化。在选择怎么跟。
2010-11-5 22:42
0
雪    币: 678
活跃值: (101)
能力值: ( LV2,RANK:150 )
在线值:
发帖
回帖
粉丝
12
不是很明白这个。
2010-11-5 23:10
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
貌似不能留QQ号什么的吧
2010-11-6 22:06
0
游客
登录 | 注册 方可回帖
返回
//