飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 9573|回复: 9

老壳ASProtect 1.2 / 1.2c的另类脱壳(ESP定律快速脱壳)

[复制链接]

该用户从未签到

发表于 2005-10-13 20:06:58 | 显示全部楼层 |阅读模式
【调试环境】:WinXP、PEiD、ODbyDYK v1.10、ImportREC1.6 Final

【学习目的】:手动脱ASProtect 1.2 / 1.2c-> Alexey Solodovnikov壳

【目标软件】:ABC Amber Excel Converter V1.26

【下载连接】:(自己去搜索)

【作者声明】:我是一只小菜鸟,偶得一点心得,愿与大家分享

------------------------------------------------------------------------------------------

1.前言

前天在一个论坛看到一篇有关该软件脱壳的教程,想下来学习一下,在那个教程里是用
ASProtect 1.2x - 1.3x [已经注册] -> Alexey Solodovnikov加的壳(ABC Amber Excel
Converter 1.20 多国语言),这几天在学习脱ASProtect壳,就下来看了一下,没想到这
个是ASProtect 1.2 / 1.2c-> Alexey Solodovnikov的壳,有点失望。不过琢磨了一下,发
现了一个可以快速脱ASProtect 1.2 / 1.2c-> Alexey Solodovnikov的方法,大家遇到这个
加壳方式时不防用来试试,是否通用,我也不知道,但是在这个软件是可以的。

2.脱壳过程

OD载入程序,忽略所有异常,再添加以下几个异常C0000005(ACCESS VIOLATION)、C000001D(ILLEGAL
INSTRUCTION)、C000001E(INVALID LOCK SEQUENCE)、C0000096(PRIVILEGED INSTRUCTION),请检查
自己的OD设置。

入口代码:

00401000 a>  68 01C06B00       push abcexcel.006BC001
00401005     C3                retn---------------------------F8下来到这里,看寄存器ESP=12ffc0
00401006     A2 8034479C       mov byte ptr ds:[9C473480],al
0040100B     E7 9E             out 9E,eax
0040100D     49                dec ecx
0040100E     3C 90             cmp al,90
00401010     E0 73             loopdne short abcexcel.00401085
00401012     90                nop
00401013     21E8              and eax,ebp

于是在命令行下:hr 12ffc0       F9运行

006BC002     E8 1B000000       call abcexcel.006BC022--------第一次硬件中断在这里
006BC007   - E9 FC8DB50F       jmp 10214E08
006BC00C     06                push es
006BC00D     0000              add byte ptr ds:[eax],al
006BC00F     8BFE              mov edi,esi
006BC011     B9 97000000       mov ecx,97
006BC016     AD                lods dword ptr ds:[esi]
006BC017     35 78563412       xor eax,12345678
006BC01C     AB                stos dword ptr es:[edi]
006BC01D     49                dec ecx
006BC01E   ^ 75 F6             jnz short abcexcel.006BC016
006BC020     EB 04             jmp short abcexcel.006BC026
006BC022     5D                pop ebp
006BC023     45                inc ebp
006BC024     55                push ebp
006BC025     C3                retn

继续F9运行


00CDA213     8901              mov dword ptr ds:[ecx],eax
00CDA215     03C3              add eax,ebx
00CDA217     894424 1C         mov dword ptr ss:[esp+1C],eax
00CDA21B     61                popad ---------------------第二次硬件中断在这里
00CDA21C     FFE0              jmp eax-----★飞向光明顶(这个词很cool,借用一下)
00CDA21E     0060 E8           add byte ptr ds:[eax-18],ah
00CDA221     06                push es
00CDA222     0000              add byte ptr ds:[eax],al
00CDA224     008B 642408EB     add byte ptr ds:[ebx+EB082464],cl
00CDA22A     0C 33             or al,33
00CDA22C     F664FF 36         mul byte ptr ds:[edi+edi*8+36]
00CDA230     64:8926           mov dword ptr fs:[esi],esp
00CDA233     FE06              inc byte ptr ds:[esi]
00CDA235   ^ EB E8             jmp short 00CDA21F


第二次硬件中断后,F8两下就到OEP了:

0062A61C     55                push ebp-----------------OEP
0062A61D     8BEC              mov ebp,esp
0062A61F     81C4 E8FEFFFF     add esp,-118
0062A625     53                push ebx
0062A626     56                push esi
0062A627     33C0              xor eax,eax
0062A629     8945 E8           mov dword ptr ss:[ebp-18],eax
0062A62C     8945 F0           mov dword ptr ss:[ebp-10],eax
0062A62F     8945 EC           mov dword ptr ss:[ebp-14],eax
0062A632     B8 3C9F6200       mov eax,abcexcel.00629F3C
0062A637     E8 40DDDDFF       call abcexcel.0040837C
0062A63C     33C0              xor eax,eax
0062A63E     55                push ebp
0062A63F     68 06A76200       push abcexcel.0062A706
0062A644     64:FF30           push dword ptr fs:[eax]
0062A647     64:8920           mov dword ptr fs:[eax],esp
0062A64A     8D55 EC           lea edx,dword ptr ss:[ebp-14]

用OD插件直接dump出来,用ImportREC修复便可了,OEP:22A61C(PEID查看dump出来文件的数值)
“自动搜索”,先Level 1修复,再ASProtect 1.22插件修复即可。

还是运行修复后的程序,出错!具体的修复方法参考---密界脱壳文集第二版[1]---51Crack的
文章《菜鸟也脱壳--ABC Amber CHM Converter 1.11脱壳》,修复后的程序可以正常运行。
PYG19周年生日快乐!

该用户从未签到

发表于 2005-10-13 21:56:07 | 显示全部楼层

不错,支持~~~`

PYG19周年生日快乐!

该用户从未签到

发表于 2005-10-13 22:14:30 | 显示全部楼层
学习,~
PYG19周年生日快乐!

该用户从未签到

发表于 2005-11-12 01:02:52 | 显示全部楼层
有意识,这应该是手动脱壳,可我不会不知哪里找教程
PYG19周年生日快乐!

该用户从未签到

发表于 2005-11-28 18:42:46 | 显示全部楼层
呵呵~asp的壳这样也行?谢谢楼主了辛苦了
PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2024-11-2 08:45
  • 签到天数: 41 天

    [LV.5]常住居民I

    发表于 2007-2-11 20:18:34 | 显示全部楼层
    谢谢

    方法我去试下
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-2-18 10:14:51 | 显示全部楼层
    哎。。没用。。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-9-11 00:40:59 | 显示全部楼层
    全收下,谢谢分享
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-9-12 09:47:42 | 显示全部楼层
    学习一下,不错不错。我想看看ARM的壳。不知道有没有人写
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2017-8-31 14:43
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2007-9-13 09:36:40 | 显示全部楼层
    学习了        :loveliness:
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表