下下雪 发表于 2006-12-24 22:39:28

轻轻松松脱手动ASPack 2.12 -> Alexey Solodovnikov

【文章标题】: 轻轻松松脱手动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:
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:                                 ; 按F4
00408144    EB 00         JMP SHORT 排列3.00408146
00408146    803E 06         CMP BYTE PTR DS:,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:,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:
00408171    03BD 22040000   ADD EDI,DWORD PTR SS:
00408177    8BB5 52010000   MOV ESI,DWORD PTR SS:
0040817D    C1F9 02         SAR ECX,2
00408180    F3:A5         REP MOVS DWORD PTR ES:,DWORD PTR DS>
00408182    8BC8            MOV ECX,EAX
00408184    83E1 03         AND ECX,3
00408187    F3:A4         REP MOVS BYTE PTR ES:,BYTE PTR DS:[>
00408189    5E            POP ESI
0040818A    68 00800000   PUSH 8000
0040818F    6A 00         PUSH 0
00408191    FFB5 52010000   PUSH DWORD PTR SS:
00408197    FF95 51050000   CALL DWORD PTR SS:
0040819D    83C6 08         ADD ESI,8
004081A0    833E 00         CMP DWORD PTR DS:,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:
00408364    0385 22040000   ADD EAX,DWORD PTR SS:
0040836A    50            PUSH EAX
0040836B    53            PUSH EBX
0040836C    8D85 C6040000   LEA EAX,DWORD PTR SS:
00408372    50            PUSH EAX
00408373    57            PUSH EDI
00408374    EB 4A         JMP SHORT 排列3.004083C0
00408376    8907            MOV DWORD PTR DS:,EAX
00408378    8385 49050000 0>ADD DWORD PTR SS:,4
0040837F^ E9 32FFFFFF   JMP 排列3.004082B6                                          向后跳到:0040837F 不能让他跳 在下一句处下断
00408384    8906            MOV DWORD PTR DS:,EAX                                 下断按F4
00408386    8946 0C         MOV DWORD PTR DS:,EAX
00408389    8946 10         MOV DWORD PTR DS:,EAX
0040838C    83C6 14         ADD ESI,14
0040838F    8B95 22040000   MOV EDX,DWORD PTR SS:               
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:
004083A6    59            POP ECX
004083A7    0BC9            OR ECX,ECX
004083A9    8985 A8030000   MOV DWORD PTR SS:,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的使用技巧。只在有信心,难学的东西都会学会。想信自已,自已搞不定的还有看学里的前辈给我们指导!第一次写关于脱壳的文章写的有点不好,请大家批评指出。

--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

mswhy 发表于 2006-12-25 09:23:59

自己试试看
谢谢哇

hangyubin 发表于 2006-12-31 18:10:00

支持楼主!

rayicy 发表于 2006-12-31 21:16:41

支持下,大家都加油!

have 发表于 2007-1-5 09:24:47

支持了,学习中~~
谢谢

风间仁 发表于 2007-1-6 10:00:09

脱壳过程中一定不能让它往回跳,想办法跳出循环圈。

这句是重点啊,就凭着这句,回去找了个壳立马就脱了,呵呵~

wer 发表于 2007-1-6 10:22:20

原帖由 风间仁 于 2007-1-6 10:00 发表
脱壳过程中一定不能让它往回跳,想办法跳出循环圈。

这句是重点啊,就凭着这句,回去找了个壳立马就脱了,呵呵~
学习了:victory:

songdaosha 发表于 2007-9-20 18:41:38

好好学习,天天向上!/:014

mayongmao 发表于 2007-12-6 20:21:06

学习了!~谢谢楼主!~

一知半解 发表于 2007-12-10 20:24:30

按照示例还是没有成功!看来我需要继续学习!
页: [1] 2 3
查看完整版本: 轻轻松松脱手动ASPack 2.12 -> Alexey Solodovnikov