a__p 发表于 2007-3-26 12:40:33

Acpr1.41-2.0_unpacker全自动脱壳脚本

Acpr1.41-2.0_unpacker全自动脱壳脚本

此脚本是在前人基础上改进而成,自动修复ITA和DUMP。
SORRY!这个脚本最初原作者是zpunpack,我只是在试验脚本编写过程中发现VolX大侠写的
Aspr2.XX_unpacker_v1.0SC.osc 脚本能自动DUMP文件,于是就进去挖掘了一下,发现关键
点,立即查看了hnhuqiong大侠的OllyScript中文说明.txt
=========================================================
DPE 文件名, 入口
----------------
<Dump Process with Entry point>
提取执行模块到指定文件中。
“入口”用来设定入口地址。
这个命令用来抓取文件,还是比较好用的,因为直接利用了OD强大的内存管理功能.
例:
dpe "c:\test.exe", eip //入口为当前地址,保存为C盘下test.exe
=========================================================
受启发后就实验了这句:dpe "\\已脱壳未修复IAT.exe", eip
发现脚本自动帮我们DUMP下来了,所以就索性拿Acprotect这个脚本改造了一下,并无技术含量
脚本编写我只是入门而已,还要向前辈们多学习才行。
=====================================================================

刚才经过skylly大侠的指点,修正了一下,如果遇到出错,请尝试重新运行一下
脚本!

=====================================================================
/*
Script written by ~icy~学习班
Script   : Acpr1.41-2.0_unpacker全自动脱壳
日期   : 2007-03-26
调试环境 : OllyDbg 1.1, ODBGScript 1.51, Winxp Win2003
调试选项 : 设置 OllyDbg 忽略所有异常选项
工具   : OllyDbg, ODBGScript 1.51, Import Reconstructor.
*/
//support ACprotect1.41-2.0UltraProtect 1.x

var eipaddr1
var esiadd   
var ebxadd   
var cbase
var csize
var imgbase
var iatrva
var add1

GMI eip, MODULEBASE
cmp $RESULT,0
je lblabort
mov imgbase,$RESULT

gmi eip,CODEBASE                     //获得代码基地
cmp $RESULT,0
je lblabort
mov cbase,$RESULT
mov cbase,$RESULT
gmemi cbase,MEMORYsize
cmp $RESULT,0
je lblabort
mov csize,$RESULT
gpa "GetModuleHandleA","kernel32.dll"
cmp $RESULT,0
je lblabort
mov add1,$RESULT
bprm add1,ff
esto
bpmc
rtu
findop eip,#F3AA#                     //查找指定内容
cmp $RESULT,0
je lblabort   
repl $RESULT,#F3AA#,#9090#,2
bp $RESULT
run
bc $RESULT
sto
sto
sto
bprm add1,ff
esto
bpmc
rtu
mov eipaddr1,eip
mov eipaddr1,eipaddr1-30
mov esiadd,esi+0c
mov ebxadd,ebx-imgbase
mov ,ebxadd
mov iatrva,esi-imgbase
findop eipaddr1,#83660c00#         //地址中查找:and dword ptr ds:,0
cmp $RESULT,0
je lblabort
repl $RESULT,#83660C00#,#90909090#,4
find eipaddr1,#2BC08803#             //内存中查找:sub eax,eax mov byte ptr ds:
cmp $RESULT,0
je lblabort
repl $RESULT,#2BC08803#,#90909090#,4
find eipaddr1,#2BC08803#
cmp $RESULT,0
je lblabort
repl $RESULT,#2BC08803#,#90909090#,4
find eipaddr1,#80BD16564100007457#   //魔法跳
je lblabort
repl $RESULT,#80BD16564100007457#,#80BD1656410000eb57#,9 //jmp
find eipaddr1,#8DBD??????0033C0#
cmp $RESULT,0
je lblabort
bp $RESULT
esto
bc $RESULT
bpmc
bprm cbase,csize
esto
cmt eip,"传说中的光明之颠~OEP~"
dpe "\\已脱壳未修复IAT.exe", eip
eval "程序已脱壳请直接用ImportREC修复IAT"
msg $RESULT
ret

lblabort:
msg "脚本失败!"
ret



http://bbs.pediy.com/upload/2006/8/image/03.jpg_323.jpg

http://bbs.pediy.com/upload/2006/8/image/04.jpg

[ 本帖最后由 a__p 于 2007-3-26 14:54 编辑 ]

wan 发表于 2007-3-26 13:50:51

试了两个软件,不知是不是版本问题,都失败!

Video Fixer 3.23
http://www.newhua.com/soft/17920.htm

同益起名大师 3.61
http://www.newhua.com/soft/4063.htm

zhimingcom 发表于 2007-3-27 09:10:29

试用一下看看效果怎么样

棒棒糖 发表于 2007-4-2 08:17:04

修复IAT还不是很完善/:16

易之侠 发表于 2007-5-7 19:56:45

是的,好像用OllyDBG 汉化第三版可以成功脱壳,而用OllyICE v1.10 修改版却不行.

a__p 发表于 2007-5-8 07:25:37

原帖由 易之侠 于 2007-5-7 19:56 发表 https://www.chinapyg.com/images/common/back.gif
是的,好像用OllyDBG 汉化第三版可以成功脱壳,而用OllyICE v1.10 修改版却不行.

应该是插件版本问题,这个脚本要用到1.51的。1.52以上有些脚本命令没有了,所以跑不起来

极飞游侠 发表于 2007-5-16 23:01:01

学习下..

b12021 发表于 2008-4-1 17:49:56

/:014   感谢楼主..

丰城龙剑 发表于 2008-4-5 19:26:35

学习下..谢谢!

fghtiger 发表于 2008-4-9 13:08:10

顶下好的插件。
页: [1]
查看完整版本: Acpr1.41-2.0_unpacker全自动脱壳脚本