- UID
- 41862
注册时间2007-12-18
阅读权限8
最后登录1970-1-1
初入江湖
该用户从未签到
|
【破文标题】脚本脱ASProtect 2.1x SKE -> Alexey Solodovnikov +补区段+修复Route Check
【破文作者】阿富
【作者邮箱】
【作者主页】
【破解工具】WinXP、OllyDbg、PEiD、LordPE、RecImport+VolX脚本
【破解平台】WinXP sp2
【软件名称】FlashFXP
【软件大小】
【原版下载】
【保护方式】ASProtect 2.1x SKE -> Alexey Solodovnikov
【软件简介】
【破解声明】只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
-----------------------------------------------------------------------------------------------------------------
【破解过程】最近时间在学脱ASProtect的壳~~在此要向VolX大侠致敬~写出一个好这么好的脚本,给我们这些菜鸟脱ASProtect壳已不再是梦了!刚好看了黑鹰里面的教程,有个ASProtect2.X脱壳练习作业,正好是练手,所以把破文写出来给跟我一样的菜鸟人交流交流~~
用 PEid 0.94 显示为 ASProtect 2.1x SKE -> Alexey Solodovnikov [Overlay]
用OD载入
00401000 > 68 01207100 PUSH FlashFXP.00712001 ----原程序入口点
00401005 E8 01000000 CALL FlashFXP.0040100B
0040100A C3 RETN
0040100B C3 RETN
0040100C 54 PUSH ESP
0040100D CF IRETD
运行VolX大侠的脚本
011002AD > 55 PUSH EBP------------到OEP了
011002AE EB 01 JMP SHORT dumped_.011002B1
011002B0 9A 036C2418 C1D>CALL FAR D5C1:18246C03 ; 远距调用
011002B7 0F036C24 38 LSL EBP,DWORD PTR SS:[ESP+38]
011002BC 036C24 18 ADD EBP,DWORD PTR SS:[ESP+18]
011002C0 8D6C24 12 LEA EBP,DWORD PTR SS:[ESP+12]
011002C4 8D6C05 EE LEA EBP,DWORD PTR SS:[EBP+EAX-12]
011002C8 2BE8 SUB EBP,EAX
011002CA 83C4 E0 ADD ESP,-20
011002CD 53 PUSH EBX
011002CE 56 PUSH ESI
011002CF 57 PUSH EDI
011002D0 33C0 XOR EAX,EAX
-----------------------------------------------------------------------------------------------------------------
好了,现在用LordPE-->dump, 选择下面的脱壳进程,完整转存为dump.exe。
打开RecImport,选loaddll进程,选exe,填入OEP=1000,获取输入表,显示一个无效函数,手动修改为GetProcAddress~~然后把OEP改为D002AD,修复抓取文件,存为dump_.exe。
--------------------------------------------------------------------------------------------------------------------
补区段:
SYSCOM大侠的教程,采用补区段的方法很适合我们菜鸟
Alt+M,打开内存窗口
把00C40000、01060000、01100000-01110000、01140000、012F0000、01300000-01350000、01370000-013B0000,17个区段用lordpe区域转存,然后把dump出的区段附加在dumped_后面,按从小到大顺序附加,保存!
最后打开lordpe,重建PE,选到dumped_!
---------------------------------------------------------------------------------------------------------------------
修复Route Check
用OD载入dumped_,Alt+M,打开内存窗口,把刚才我们补的区段全部下内存访问断点,F9三次
来到这里
01134BC0 55 PUSH EBP ; dumped_.01134BC0
01134BC1 8BEC MOV EBP,ESP
01134BC3 83C4 F8 ADD ESP,-8
01134BC6 53 PUSH EBX
01134BC7 56 PUSH ESI
01134BC8 57 PUSH EDI
01134BC9 8B5D 08 MOV EBX,DWORD PTR SS:[EBP+8]
01134BCC EB 01 JMP SHORT dumped_.01134BCF
01134BCE 9A 8B451883 E80>CALL FAR 08E8:8318458B ; 远距调用
01134BD5 8B00 MOV EAX,DWORD PTR DS:[EAX]
01134BD7 50 PUSH EAX
01134BD8 8A8B 8E000000 MOV CL,BYTE PTR DS:[EBX+8E]
F8单步走到这里,修复Route Check
01134C01 A1 DC671301 MOV EAX,DWORD PTR DS:[11367DC]
01134C06 8B40 34 MOV EAX,DWORD PTR DS:[EAX+34]
01134C09 FFD0 CALL EAX
01134C0B 2945 0C SUB DWORD PTR SS:[EBP+C],EAX
01134C0E 8B45 0C MOV EAX,DWORD PTR SS:[EBP+C]
01134C11 2B43 18 SUB EAX,DWORD PTR DS:[EBX+18]
01134C14 2B43 68 SUB EAX,DWORD PTR DS:[EBX+68]
01134C17 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
01134C1A 8D43 24 LEA EAX,DWORD PTR DS:[EBX+24]
01134C1D 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
90 90 90 8B 44 24 58 83 E8 05 90 二进制粘贴
选择部分,保存文件!
F9,运行很畅快,脱壳过程算是结束了。
-------------------------------------------------------------------------------------------------------------------
【破解总结】对于初学者,选用脚本、补区段的方法,相对成功率会高一些~~
------------------------------------------------------------------------------------------------------------ |
|