首页
社区
课程
招聘
[旧帖] [求助]ASProtect 1.23 RC4 壳 整理入口代码的疑问! 0.00雪花
发表于: 2008-10-7 19:01 3064

[旧帖] [求助]ASProtect 1.23 RC4 壳 整理入口代码的疑问! 0.00雪花

2008-10-7 19:01
3064
目标壳:
ASProtect 1.23 RC4 - 1.3.08.24 -> Alexey Solodovnikov
(Version: ASProtect 1.23 RC4 - 1.3.08.24 [1])

参考帖子:
http://bbs.pediy.com/showthread.php?t=32917

目标文件:
f92K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8U0t1H3x3W2)9J5k6e0p5H3x3W2)9J5k6e0j5@1i4K6u0W2x3e0u0Q4x3V1k6U0k6$3W2Q4x3X3c8T1K9h3&6Q4x3V1k6V1L8q4)9K6c8U0q4Q4x3V1j5H3y4V1j5%4x3V1j5#2z5e0W2q4x3@1y4p5b7@1x3%4c8V1q4p5x3f1t1%4y4U0y4n7c8p5g2p5z5e0j5%4b7U0j5@1y4K6x3#2c8f1u0r3x3f1f1^5b7e0b7@1z5p5q4p5b7e0b7K6x3U0k6q4b7@1k6m8y4K6t1J5x3o6y4q4z5f1c8p5y4e0f1&6c8e0c8r3b7K6q4p5z5e0W2q4y4V1b7I4y4o6f1#2x3o6y4m8y4e0g2o6z5e0t1%4x3p5j5I4y4o6x3@1b7V1b7%4b7K6b7J5b7e0y4r3b7e0W2m8z5p5k6n7x3K6k6p5y4U0p5H3c8f1q4o6x3f1p5%4y4f1p5#2b7f1b7K6z5e0N6q4x3V1c8r3x3K6R3^5x3U0M7$3y4K6p5@1x3e0m8p5b7e0M7@1y4e0S2r3b7K6l9$3x3p5t1%4z5f1f1#2c8o6x3^5x3e0S2q4x3K6f1#2c8e0R3K6x3K6p5I4i4K6u0r3k6$3q4E0k6g2)9J5k6i4u0S2M7R3`.`.

打开解压包 用OllDbg载入文件game.exe.
压缩代码? 点 否.
选项 -> 调试设置 -> 异常页  去掉 非法访问内存 处的勾. 确定.

程序停在

00401000 >  68 01602102     PUSH game.02216001
00401005    E8 01000000     CALL game.0040100B
0040100A    C3              RETN
0040100B    C3              RETN

F9,运行. 停在.

029F41A4    3100            XOR DWORD PTR DS:[EAX],EAX
029F41A6    EB 01           JMP SHORT 029F41A9
029F41A8    68 648F0500     PUSH 58F64
029F41AD    0000            ADD BYTE PTR DS:[EAX],AL
029F41AF    00EB            ADD BL,CH
029F41B1    02E8            ADD CH,AL
029F41B3    0158 68         ADD DWORD PTR DS:[EAX+68],EBX
029F41B6    6C              INS BYTE PTR ES:[EDI],DX                 ; I/O 命令

15次 Shift + F9 到达.

029F39EC    3100            XOR DWORD PTR DS:[EAX],EAX
029F39EE    64:8F05 0000000>POP DWORD PTR FS:[0]
029F39F5    58              POP EAX
029F39F6    833D B07E9F02 0>CMP DWORD PTR DS:[29F7EB0],0
029F39FD    74 14           JE SHORT 029F3A13
029F39FF    6A 0C           PUSH 0C
029F3A01    B9 B07E9F02     MOV ECX,29F7EB0
029F3A06    8D45 F8         LEA EAX,DWORD PTR SS:[EBP-8]
029F3A09    BA 04000000     MOV EDX,4
029F3A0E    E8 2DD1FFFF     CALL 029F0B40
029F3A13    FF75 FC         PUSH DWORD PTR SS:[EBP-4]
029F3A16    FF75 F8         PUSH DWORD PTR SS:[EBP-8]
029F3A19    8B45 F4         MOV EAX,DWORD PTR SS:[EBP-C]
029F3A1C    8338 00         CMP DWORD PTR DS:[EAX],0
029F3A1F    74 02           JE SHORT 029F3A23
029F3A21    FF30            PUSH DWORD PTR DS:[EAX]
029F3A23    FF75 F0         PUSH DWORD PTR SS:[EBP-10]
029F3A26    FF75 EC         PUSH DWORD PTR SS:[EBP-14]
029F3A29    C3              RETN

单击029F3A29处F2下断点,  Shift + F9  运行到断点.

029F3A29    C3              RETN
029F3A2A    5F              POP EDI
029F3A2B    5E              POP ESI
029F3A2C    5B              POP EBX
029F3A2D    8BE5            MOV ESP,EBP
029F3A2F    5D              POP EBP
029F3A30    C3              RETN

按F2取消029F3A29处断点.
右下角堆栈为:
0012FF5C  02A06294
0012FF60  00400000  game.00400000
0012FF64  CB6EF46A
0012FF68  0012FFA4

左下角命令中 hr 0012FF68  下断点
F9 运行到断点处.

02A063E7   /EB 44           JMP SHORT 02A0642D
02A063E9   |EB 01           JMP SHORT 02A063EC
02A063EB   |9A 51579CFC BF0>CALL FAR 00BF:FC9C5751                   ; 远调用
02A063F2   |0000            ADD BYTE PTR DS:[EAX],AL
02A063F4   |00B9 00000000   ADD BYTE PTR DS:[ECX],BH
02A063FA   |F3:AA           REP STOS BYTE PTR ES:[EDI]
02A063FC   |9D              POPFD
02A063FD   |5F              POP EDI
02A063FE   |59              POP ECX
02A063FF   |C3              RETN

F8往下走跳到

02A0642D    03C3            ADD EAX,EBX                              ; game.00400000
02A0642F    BB BA020000     MOV EBX,2BA
02A06434    0BDB            OR EBX,EBX
02A06436    75 07           JNZ SHORT 02A0643F
02A06438    894424 1C       MOV DWORD PTR SS:[ESP+1C],EAX
02A0643C    61              POPAD
02A0643D    50              PUSH EAX
02A0643E    C3              RETN
02A0643F    E8 00000000     CALL 02A06444
02A06444    5D              POP EBP
02A06445    81ED 4DE14B00   SUB EBP,4BE14D
02A0644B    8D85 F2E04B00   LEA EAX,DWORD PTR SS:[EBP+4BE0F2]
02A06451    8D8D 94E14B00   LEA ECX,DWORD PTR SS:[EBP+4BE194]
02A06457    03CB            ADD ECX,EBX
02A06459    8941 01         MOV DWORD PTR DS:[ECX+1],EAX
02A0645C    8D85 36E14B00   LEA EAX,DWORD PTR SS:[EBP+4BE136]
02A06462    8D8D FAE04B00   LEA ECX,DWORD PTR SS:[EBP+4BE0FA]
02A06468    8901            MOV DWORD PTR DS:[ECX],EAX
02A0646A    B8 5E140000     MOV EAX,145E
02A0646F    8D8D FFE04B00   LEA ECX,DWORD PTR SS:[EBP+4BE0FF]
02A06475    8901            MOV DWORD PTR DS:[ECX],EAX
02A06477    8D8D 94E14B00   LEA ECX,DWORD PTR SS:[EBP+4BE194]
02A0647D    8D85 94F34B00   LEA EAX,DWORD PTR SS:[EBP+4BF394]
02A06483    51              PUSH ECX
02A06484    50              PUSH EAX
02A06485    E8 76FFFFFF     CALL 02A06400

F7一直走到 02A06485 处 进入CALL

02A06400    55              PUSH EBP
02A06401    8BEC            MOV EBP,ESP
02A06403    53              PUSH EBX
02A06404    56              PUSH ESI
02A06405    8B75 0C         MOV ESI,DWORD PTR SS:[EBP+C]
02A06408    8B5D 08         MOV EBX,DWORD PTR SS:[EBP+8]
02A0640B    EB 11           JMP SHORT 02A0641E
02A0640D    0FB703          MOVZX EAX,WORD PTR DS:[EBX]
02A06410    03C6            ADD EAX,ESI
02A06412    83C3 02         ADD EBX,2
02A06415    8BD0            MOV EDX,EAX
02A06417    8BC6            MOV EAX,ESI

再F7往下走我就迷路了 扰乱后的入口代码到底在哪呢?
怎么整理出来呢?
还望高手赐教!

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
在线等!!!
2008-10-7 21:58
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
没人回? 回去睡觉了,明天来了继续等。
2008-10-8 00:03
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
还没有人回?
2008-10-8 11:51
0
游客
登录 | 注册 方可回帖
返回