首页
社区
课程
招聘
[原创]第一阶段第二题dragoner提交
发表于: 2007-8-25 19:34 7077

[原创]第一阶段第二题dragoner提交

2007-8-25 19:34
7077
//重组部分
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  看雪论坛.珠海金

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
2
验证通过~~~~
2007-8-26 10:59
0
游客
登录 | 注册 方可回帖
返回
//