程序加载到OD找不到字符串。
先OD加载软件,运行到注册界面,进行注册,在弹窗注册失败窗口。返回OD窗口,在内存映射查找“登录失败”。
程序会跳转到“数据窗口”,显示查找到的字符串。在这个字符串设置断点,右击->断点->内存访问,。
在次软件注册,程序会断下来,在“CPU窗口”记录下地址,单步运行,到RETN,返回上一个调用程序。
[Asm] 纯文本查看 复制代码 00402363 |. 8B45 08 MOV EAX, [ARG.1]
00402366 |. 8A08 MOV CL, BYTE PTR DS:[EAX]
00402368 |. 8A45 10 MOV AL, BYTE PTR SS:[EBP+0x10];od断下
.......
00402398 |. 5D POP EBP
00402399 \. C3 RETN;返回上一级代码
记录地址,上下看一下有没有能跳个这个Call的跳转添加,返回上一个程序
[Asm] 纯文本查看 复制代码 0040159A . 57 PUSH EDI ; |Arg1
0040159B . E8 B00D0000 CALL CM(有错.00402350 ; \CM(有错.00402350
004015A0 . 83C4 0C ADD ESP, 0xC ;od断下
.....
004015BD . 83C4 64 ADD ESP, 0x64
004015C0 . C3 RETN;返回上一级代码
一步一步往主程序走,返回上一级程序。
[Asm] 纯文本查看 复制代码 00419F7E . 52 PUSH EDX
00419F7F . FFD3 CALL EBX
00419F81 . 8B4424 0C MOV EAX, DWORD PTR SS:[ESP+0xC];od断下
00419F85 . 8B5424 10 MOV EDX, DWORD PTR SS:[ESP+0x10]
00419F89 . 8B4C24 14 MOV ECX, DWORD PTR SS:[ESP+0x14]
00419F8D . 83C4 18 ADD ESP, 0x18
00419F90 . C3 RETN;返回上一级代码
一步一步往主程序走,到主程序了。
[Asm] 纯文本查看 复制代码 004011ED |. E8 31020000 CALL CM(有错.00401423 ; 对话框跟踪到主程序
004011F2 |. 83C4 10 ADD ESP, 0x10;od断下
......
004012E0 |> B8 00000000 MOV EAX, 0x0
004012E5 |> 85C0 TEST EAX, EAX
004012E7 0F84 72000000 JE CM(有错.0040135F ; 跳过登录成功je跳转决定的。修改不跳,成功。
......
00401342 |. E8 DC000000 CALL CM(有错.00401423 ; 登录成功
......
0040135A |> E9 6D000000 JMP CM(有错.004013CC ; 跳过登录失败
........
004013B4 |. E8 6A000000 CALL CM(有错.00401423 ; 登录失败提示
|