- UID
- 23416
注册时间2006-10-1
阅读权限20
最后登录1970-1-1
以武会友
该用户从未签到
|
【文章标题】: 轻轻松松脱手动ASPack 2.12 -> Alexey Solodovnikov
【文章作者】: overlayer
【作者邮箱】: [email protected]
【作者QQ号】: 55575616
【软件名称】: 智取数字3 3.7.23
【软件大小】: 1.51M
【下载地址】: 自己搜索下载
【加壳方式】: ASPack 2.12 -> Alexey Solodovnikov
【保护方式】: ASPack 2.12 -> Alexey Solodovnikov
【编写语言】: PowerBASIC/Win 8.00
【使用工具】: OD DEID
【亲作平台】: WINXP+ SP2
【软件介绍】: 极品的彩票数字智能选号投注软件
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
脱壳前首先查壳:用PEID查壳。加壳类型:ASPack 2.12 -> Alexey Solodovnikov 。
OD脱壳可增强手动脱能力,打开OD载入要脱壳的对像
00408001 > 60 PUSHAD ; pushhad关键字 F8跳过
00408002 E8 03000000 CALL 排列3.0040800A ; 关键CALL F7进入
到了:
0040800A 5D POP EBP 排列3.00408007 (按下F8,注意向前跳的语句不用问继续按F8向后跳的要在跳的下一句下断按F4)
0040800B 45 INC EB
0040800C 55 PUSH EBP
0040800D C3 RETN
0040800E E8 01000000 CALL 排列3.00408014
00408008 /EB 04 JMP SHORT 排列3.0040800E有 向前跳到0040800继续按F8
0040800A |5D POP EBP
0040800B |45 INC EBP
0040800C |55 PUSH EBP
0040800D |C3 RETN
0040800E \E8 01000000 CALL 排列3.00408014 关键CALL 按F7进入 只有前面00408002处和这个CALL是关键CALL,其它的CALL不用问他F8跳过
一路F8下来
0040812D 0BC9 OR ECX,ECX
0040812F 74 2E JE SHORT 排列3.0040815F
00408131 78 2C JS SHORT 排列3.0040815F
00408133 AC LODS BYTE PTR DS:[ESI]
00408134 3C E8 CMP AL,0E8
00408136 74 0A JE SHORT 排列3.00408142
00408138 EB 00 JMP SHORT 排列3.0040813A
0040813A 3C E9 CMP AL,0E9
0040813C 74 04 JE SHORT 排列3.00408142
0040813E 43 INC EBX
0040813F 49 DEC ECX
00408140 ^ EB EB JMP SHORT 排列3.0040812D ; 向到跳到:0040812D 不能让他朝回跳,要在下一句处下断按F4
00408142 8B06 MOV EAX,DWORD PTR DS:[ESI] ; 按F4
00408144 EB 00 JMP SHORT 排列3.00408146
00408146 803E 06 CMP BYTE PTR DS:[ESI],6
00408149 ^ 75 F3 JNZ SHORT 排列3.0040813E ; 向到跳到:0040813E 不能让他朝回跳,要在下一句处下断按F4
0040814B 24 00 AND AL,0 ; 按F4下断
0040814D C1C0 18 ROL EAX,18
00408150 2BC3 SUB EAX,EBX
00408152 8906 MOV DWORD PTR DS:[ESI],EAX
00408154 83C3 05 ADD EBX,5
00408157 83C6 04 ADD ESI,4
0040815A 83E9 05 SUB ECX,5
0040815D ^ EB CE JMP SHORT 排列3.0040812D ; 向到跳到:0040812D 不能让他朝回跳,要在下一句处下断按F4
0040815F 5B POP EBX ; 排列3.00401000按F4下断
一路F8下来到:
0040816F 8B3E MOV EDI,DWORD PTR DS:[ESI]
00408171 03BD 22040000 ADD EDI,DWORD PTR SS:[EBP+422]
00408177 8BB5 52010000 MOV ESI,DWORD PTR SS:[EBP+152]
0040817D C1F9 02 SAR ECX,2
00408180 F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS>
00408182 8BC8 MOV ECX,EAX
00408184 83E1 03 AND ECX,3
00408187 F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[>
00408189 5E POP ESI
0040818A 68 00800000 PUSH 8000
0040818F 6A 00 PUSH 0
00408191 FFB5 52010000 PUSH DWORD PTR SS:[EBP+152]
00408197 FF95 51050000 CALL DWORD PTR SS:[EBP+551]
0040819D 83C6 08 ADD ESI,8
004081A0 833E 00 CMP DWORD PTR DS:[ESI],0
004081A3 ^ 0F85 1EFFFFFF JNZ 排列3.004080C7 向后跳:004080C7要在下一句处下断
004081A9 68 00800000 PUSH 8000 按F4下断
一路F8跳过
0040835D 5F POP EDI
0040835E EB 16 JMP SHORT 排列3.00408376
00408360 57 PUSH EDI
00408361 8B46 0C MOV EAX,DWORD PTR DS:[ESI+C]
00408364 0385 22040000 ADD EAX,DWORD PTR SS:[EBP+422]
0040836A 50 PUSH EAX
0040836B 53 PUSH EBX
0040836C 8D85 C6040000 LEA EAX,DWORD PTR SS:[EBP+4C6]
00408372 50 PUSH EAX
00408373 57 PUSH EDI
00408374 EB 4A JMP SHORT 排列3.004083C0
00408376 8907 MOV DWORD PTR DS:[EDI],EAX
00408378 8385 49050000 0>ADD DWORD PTR SS:[EBP+549],4
0040837F ^ E9 32FFFFFF JMP 排列3.004082B6 向后跳到:0040837F 不能让他跳 在下一句处下断
00408384 8906 MOV DWORD PTR DS:[ESI],EAX 下断按F4
00408386 8946 0C MOV DWORD PTR DS:[ESI+C],EAX
00408389 8946 10 MOV DWORD PTR DS:[ESI+10],EAX
0040838C 83C6 14 ADD ESI,14
0040838F 8B95 22040000 MOV EDX,DWORD PTR SS:[EBP+422]
00408395 ^ E9 EBFEFFFF JMP 排列3.00408285 向后跳到:00408285不能让他跳 在下一句处下断下断按F4
0040839A B8 943C0000 MOV EAX,3C94 下断按F4后续F8
0040839F 50 PUSH EAX
004083A0 0385 22040000 ADD EAX,DWORD PTR SS:[EBP+422]
004083A6 59 POP ECX
004083A7 0BC9 OR ECX,ECX
004083A9 8985 A8030000 MOV DWORD PTR SS:[EBP+3A8],EAX
004083AF 61 POPAD
004083B0 75 08 JNZ SHORT 排列3.004083BA
004083B2 B8 01000000 MOV EAX,1
004083B7 C2 0C00 RETN 0C
004083BA 68 943C4000 PUSH 排列3.00403C94 关键字请注意 指向入口点00403C94
004083BF C3 RETN F8 到:00403C94
00403C94 55 PUSH EBP 入口点停在些处可以脱了(点右键--OLLYDUMP脱壳调试进程--脱壳。下面的我相信都会了)
00403C95 8BEC MOV EBP,ESP
00403C97 53 PUSH EBX
00403C98 56 PUSH ESI
00403C99 57 PUSH EDI
用PEID查脱。显示PowerBASIC/Win 8.00,大功告成!!我也是个菜鸟!!写的不好,仅仅以些贴写给刚入门的菜们!!
--------------------------------------------------------------------------------
【经验总结】
脱壳过程中一定不能让它往回跳,想办法跳出循环圈。在向回跳转语句的下一句下断按F4,还有进入F7 F8跳过。多多练习
,慢慢就会掌握OD的使用技巧。只在有信心,难学的东西都会学会。想信自已,自已搞不定的还有看学里的前辈给我们指导!第一次写关于脱壳的文章写的有点不好,请大家批评指出。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢! |
|