程序入口:
0068CC43 <Mod>/$ 55 PUSH EBP
0068CC44 |. 8BEC MOV EBP,ESP
0068CC46 |. 6A FF PUSH -1
0068CC48 |. 68 905F6B00 PUSH patdownl.006B5F90
0068CC4D |. 68 80C96800 PUSH patdownl.0068C980 ; 入口地址; SE 处理程序安装
0068CC52 |. 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
0068CC58 |. 50 PUSH EAX
下断:BP GetModuleHandleA+5 然后F9运行:
7C80B6A6 837D 08 00 CMP DWORD PTR SS:[EBP+8],0
7C80B6AA 74 18 JE SHORT kernel32.7C80B6C4
7C80B6AC FF75 08 PUSH DWORD PTR SS:[EBP+8]
7C80B6AF E8 C0290000 CALL kernel32.7C80E074
7C80B6B4 85C0 TEST EAX,EAX
7C80B6B6 74 08 JE SHORT kernel32.7C80B6C0
7C80B6B8 FF70 04 PUSH DWORD PTR DS:[EAX+4]
这里中断N次,看BP GetModuleHandleA 时的堆栈变化:
1.
0012DB6C /0012DC88
0012DB70 |006818FB 返回到 patdownl.006818FB 来自 kernel32.GetModuleHandleA
0012DB74 |00000000
0012DB78 |7C930738 ntdll.7C930738
0012DB7C |00000008
2.
0012DC8C 0012F79C
0012DC90 0067B742 patdownl.0067B742
0012DC94 00000000
0012DC98 7C930738 ntdll.7C930738
0012DC9C 00000000
3.
0012EC94 /0012ECB0
0012EC98 |77F45BD8 返回到 SHLWAPI.77F45BD8 来自 kernel32.GetModuleHandleA
0012EC9C |77F4501C ASCII "KERNEL32.DLL"
0012ECA0 |00000001
0012ECA4 |77F40000 SHLWAPI.77F40000
4.
0012EBD8 |75C67634 返回到 urlmon.75C67634 来自 kernel32.GetModuleHandleA
0012EBDC |75C65E04 ASCII "kernel32.dll"
0012EBE0 |75CD53F8 urlmon.75CD53F8
0012EBE4 |00000000
5.
0012EC04 |75C68B3C 返回到 urlmon.75C68B3C 来自 kernel32.GetModuleHandleA
0012EC08 |75C68B48 ASCII "iexplore.exe"
0012EC0C |75C62EDF 返回到 urlmon.75C62EDF
0012EC10 |75C68778 urlmon.75C68778
6.
0012EC04 |75C68B65 返回到 urlmon.75C68B65 来自 kernel32.GetModuleHandleA
0012EC08 |75C68B74 ASCII "explorer.exe"
0012EC0C |75C62EDF 返回到 urlmon.75C62EDF
0012EC10 |75C68778 urlmon.75C68778
0012EC14 ]0012ECC4
7.
0012EC04 |75C672E8 返回到 urlmon.75C672E8 来自 kernel32.GetModuleHandleA
0012EC08 |75C68B48 ASCII "iexplore.exe"
0012EC0C |75C62EDF 返回到 urlmon.75C62EDF
0012EC10 |75C68778 urlmon.75C68778
0012EC14 ]0012ECC4
8.
0012EC04 |75C67304 返回到 urlmon.75C67304 来自 kernel32.GetModuleHandleA
0012EC08 |75C68B74 ASCII "explorer.exe"
0012EC0C |75C62EDF 返回到 urlmon.75C62EDF
0012EC10 |75C68778 urlmon.75C68778
9.
0012EC04 |75CCE6F0 返回到 urlmon.75CCE6F0 来自 kernel32.GetModuleHandleA
0012EC08 |75C68B48 ASCII "iexplore.exe"
0012EC0C |75C62EDF 返回到 urlmon.75C62EDF
0012EC10 |75C68778 urlmon.75C68778
10.
0012EC04 |75CCE70C 返回到 urlmon.75CCE70C 来自 kernel32.GetModuleHandleA
0012EC08 |75C68B74 ASCII "explorer.exe"
0012EC0C |75C62EDF 返回到 urlmon.75C62EDF
0012EC10 |75C68778 urlmon.75C68778
11.
0012EC04 |75CCE744 返回到 urlmon.75CCE744 来自 kernel32.GetModuleHandleA
0012EC08 |75C68B48 ASCII "iexplore.exe"
0012EC0C |75C62EDF 返回到 urlmon.75C62EDF
0012EC10 |75C68778 urlmon.75C68778
12.
0012EC04 |75CCE760 返回到 urlmon.75CCE760 来自 kernel32.GetModuleHandleA
0012EC08 |75C68B74 ASCII "explorer.exe"
0012EC0C |75C62EDF 返回到 urlmon.75C62EDF
0012EC10 |75C68778 urlmon.75C68778
13.
0012EC04 |75CCE798 返回到 urlmon.75CCE798 来自 kernel32.GetModuleHandleA
0012EC08 |75C68B48 ASCII "iexplore.exe"
0012EC0C |75C62EDF 返回到 urlmon.75C62EDF
0012EC10 |75C68778 urlmon.75C68778
我应该从哪里返回程序,请高手指点,谢谢!
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法