//重组部分
1、参考PE的格式,用WINHEX随便弄出来一个PE头。弄那种未处理过对齐的PE头。然后,用
WINHEX把三个节段按顺序粘进去。
2、修正PE的数据,像节表的大小等相关的信息。
3、通过比对VC程序的IAT位置,查出IAT位置。
4、用IDA分析程序,结合VC程序通用的入口代码,找出程序的入口。
5、添加资源段
//添加菜单部分
这个程序并不难,其实就是一个标准的VC向导程序,用VC写一个出来。分析差别,再套进去
应该就完事了。
1、添加菜单资源,参考代码ATOM MyRegisterClass(HINSTANCE hInstance),将菜单资源添加
进去。
修改位置1
0040123F FF15 18704000 call dword ptr ds:[<&GDI32.GetStockObject>] ; GDI32.GetStockObject
00401245 8945 CC mov dword ptr ss:[ebp-34],eax
00401248 6A 6D push 6D
0040124A 58 pop eax
0040124B 8945 D0 mov dword ptr ss:[ebp-30],eax
修改位置2
004012DB 8B45 0C mov eax,dword ptr ss:[ebp+C]
004012DE E9 1D5A0000 jmp newpe.00406D00
004012E3 90 nop
PATH3
00406D00 48 dec eax
00406D01 48 dec eax
00406D02 74 16 je short newpe.00406D1A
00406D04 83E8 03 sub eax,3
00406D07 74 16 je short newpe.00406D1F
00406D09 83E8 0A sub eax,0A
00406D0C 74 16 je short newpe.00406D24
00406D0E 2D 02010000 sub eax,102
00406D13 74 14 je short newpe.00406D29
00406D15 ^ E9 D2A5FFFF jmp newpe.004012EC
00406D1A ^ E9 2BA6FFFF jmp newpe.0040134A
00406D1F ^ E9 10A6FFFF jmp newpe.00401334
00406D24 ^ E9 D7A5FFFF jmp newpe.00401300
00406D29 3E:8B4D 10 mov ecx,dword ptr ds:[ebp+10]
00406D2D 8BC1 mov eax,ecx
00406D2F 25 FFFF0000 and eax,0FFFF
00406D34 83E8 68 sub eax,68
00406D37 74 05 je short newpe.00406D3E
00406D39 ^ E9 AEA5FFFF jmp newpe.004012EC
00406D39 ^\E9 AEA5FFFF jmp newpe.004012EC
00406D3E 50 push eax
00406D3F 33C0 xor eax,eax
00406D41 68 E06D4000 push newpe.00406DE0 ; ASCII "USER32.dll"
00406D46 FF15 88704000 call dword ptr ds:[<&KERNEL32.GetModuleHandle>; KERNEL32.GetModuleHandleA
00406D4C 83F8 00 cmp eax,0
00406D4F 74 21 je short newpe.00406D72
00406D51 68 EC6D4000 push newpe.00406DEC ; ASCII "MessageBoxA"
00406D56 50 push eax
00406D57 FF15 A0704000 call dword ptr ds:[<&KERNEL32.GetProcAddress>>; KERNEL32.GetProcAddress
00406D5D 83F8 00 cmp eax,0
00406D60 74 10 je short newpe.00406D72
00406D62 6A 40 push 40
00406D64 68 506E4000 push newpe.00406E50 ; ASCII "pediy"
00406D69 68 006E4000 push newpe.00406E00
00406D6E 6A 00 push 0
00406D70 FFD0 call eax
00406D72 58 pop eax
00406D73 33C0 xor eax,eax
00406D75 C9 leave
00406D76 C2 1000 retn 10
00406DD0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00406DE0 55 53 45 52 33 32 2E 64 6C 6C 00 00 4D 65 73 73 USER32.dll..Mess
00406DF0 61 67 65 42 6F 78 41 00 00 00 00 00 00 00 00 00 ageBoxA.........
00406E00 BF B4 D1 A9 C2 DB CC B3 2E D6 E9 BA A3 BD F0 C9 看雪论坛.珠海金
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)