目标程序:Maxthon 1.5.9
PEID查壳:UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
OD载入.
00623410 > 60 PUSHAD// 停在这里,保存现场环境
00623411 BE 00105600 MOV ESI,Maxthon.00561000
00623416 8DBE 0000EAFF LEA EDI,DWORD PTR DS:[ESI+FFEA0000]
0062341C 57 PUSH EDI
0062341D 83CD FF OR EBP,FFFFFFFF
00623420 EB 10 JMP SHORT Maxthon.00623432
... // 保持程序向下执行...
// 来到这里->
00623558 95 XCHG EAX,EBP
00623559 8A07 MOV AL,BYTE PTR DS:[EDI] ; 开始循环
0062355B 47 INC EDI
0062355C 08C0 OR AL,AL
0062355E ^ 74 DC JE SHORT Maxthon.0062353C
00623560 89F9 MOV ECX,EDI
00623562 79 07 JNS SHORT Maxthon.0062356B
00623564 0FB707 MOVZX EAX,WORD PTR DS:[EDI]
00623567 47 INC EDI
00623568 50 PUSH EAX
00623569 47 INC EDI
0062356A B9 5748F2AE MOV ECX,AEF24857
0062356F 55 PUSH EBP
00623570 FF96 D0BB2300 CALL DWORD PTR DS:[ESI+23BBD0] ; kernel32.GetProcAddress
00623576 09C0 OR EAX,EAX ; kernel32.SetFilePointer
00623578 74 07 JE SHORT Maxthon.00623581
0062357A 8903 MOV DWORD PTR DS:[EBX],EAX ; kernel.ReadFile
0062357C 83C3 04 ADD EBX,4
0062357F ^ EB D8 JMP SHORT Maxthon.00623559 ; 下一次循环
00623581 FF96 D8BB2300 CALL DWORD PTR DS:[ESI+23BBD8] // 下断
程序运行在始终在循环体里面执行,调用kernal32.dll里面里面的方法.
我在00623581下断,但是F9就跟飞了,没有找到出口语句POPAD.不知道在什么时候DUMP,请高手帮忙
[培训]科锐逆向工程师培训第53期2025年7月8日开班!