首页
社区
课程
招聘
SDProtect 1.12 脱壳脚本
发表于: 2005-11-24 11:01 10294

SDProtect 1.12 脱壳脚本

2005-11-24 11:01
10294
Geet to:fly

莫问为什么要苦楚,为什么要高兴,我就是这个我.

/*
//////////////////////////////////////////////////
        SDProtect 1.12 脱壳脚本
        Author:        loveboom
        Email : loveboom...163.com
        OS    : Winxp sp2,OllyDbg 1.1,OllyScript v0.92
        Date  : N/A
        Config: 忽略除内存异常以外的其它全部异常
        Note  : 终于有一次用中文写注释了,不想写中文是因为懒,打中文要多打很多字嘛^_^
                脚本只对1.12版本有效;想了想还是没有把自动修复输入表功能加上去,因为全部功能
                加上去还不如直接做个脱壳机算了。
//////////////////////////////////////////////////
*/

var                apigetver
var                count
var                 apiaddr
var                 val
var                 addr
var                oep
var                 packerbase
var                 epaddr
var                crcaddr
var                 apisysinfo
var                IMGBASE

start:
                dbh
                mov epaddr,eip
                gpa "LoadLibraryA","kernel32.dll"
                cmp $RESULT,0
                JE lblend
                MOV apigetver,$RESULT
                BPRM apigetver,0F
                eoe lblexcept
                eob l1
                esto

l1:
                cob
                bpmc
                mov val,[esp]                //取esp的值
                mov addr,val
                /*
                        $+30  85F6   TEST ESI,ESI
                        $+32  8BD8   MOV EBX,EAX
                */
                add addr,30
                mov val,[addr]                //查找标志
                cmp val,D88BF685
                jne lblinver
                bp addr
                eoe lblexcept
                run               
l2:
                bc addr
                mov packerbase,eax        //Packer base
                mov addr,eax
                add addr,18
                mov oep,[addr]

l3:
                bprm epaddr,FF
                eob l4
                eoe lblexcept
                run

l4:
                cob
                bpmc
                findop eip,#C3#                        //查找返回
                go $RESULT
                mov addr,$RESULT
                add addr,153                        //8B4C24 04    MOV ECX,DWORD PTR SS:[ESP+4]
                mov val,[addr]
                cmp val,04244C8B
                jne lblinver
                mov crcaddr,addr                //保存CRC比较地址
       

l5:
                gpa "GetVersion","kernel32.dll"
                mov apiaddr,$RESULT
                findop apiaddr,#C3#
                mov apiaddr,$RESULT
                bp apiaddr
                mov count,0

l6loop:
                eoe lblexcept
                eob l7
                esto

l7:
                cob
                mov addr,[esp]
                add addr,2
                mov val,[addr]
                cmp val,73800000                //让壳检测时认为是win9x系统,跳过Winnt系统的Anti-debug
                jne l6loop
                mov eax,80000000
                cmp count,1
                je l8
                inc count
                jmp l6loop
l8:
               
                bc apiaddr
                sto
                rtr
                sto
               

l9:
                eob l10
                eoe lblexcept
                findop eip,#2DFA121DBC#                // 2D FA121DBC      SUB EAX,BC1D12FA
                cmp $RESULT,0
                JE lblinver
                bp $RESULT
                esto

l10:
                cob
                bc $RESULT
                mov eax,BC1D12FA

l11:
                eob l12
                eoe lblexcept
                gpa "GetSystemInfo","kernel32.dll"
                mov apisysinfo,$RESULT
                add apisysinfo,8
                bp apisysinfo
                esto

l12:
                cob
                bc apisysinfo
                rtu
                mov addr,esp
                sub addr,4
                mov addr,[addr]                                //让外壳认为不是单CPU
                add addr,14
                mov [addr],0
                cob

l13:
                eob lblbperr
                eoe l14
                esto

l14:
                coe
                gpa "GetModuleHandleA","kernel32.dll"
                mov apiaddr,$RESULT
                findop apiaddr,#C20400#                        //查找GetModuleHandleA的结束处RET4
                mov apiaddr,$RESULT
                bp apiaddr

l15:
                eob l16
                eoe lblexcept
                esto

l16:
                cob
                mov addr,esp
                add addr,4
                mov val,[addr]                        //mov val,[esp+4]
                cmp val,0
                jne l15
                sto

l17:
                bc  apiaddr
                mov IMGBASE,eax
                mov [crcaddr],08244c8b                //MOV ECX,DWORD PTR SS:[ESP+4]
                mov addr,eip
                add addr,12c
                log addr
                mov val,[addr]
                log val
                cmp val,282444c7      //$+121 >  C74424 28 01>MOV DWORD PTR SS:[ESP+28],1
                jne lblinver
                add addr,4
                mov [addr],0
                findop addr,#C20400#
                bp $RESULT

l18:
                eob l19
                eoe lblexcept
                esto

l19:
                cob
                bc $RESULT
                mov [addr],1                        //有借有还,再借xxxx:-)
                mov [crcaddr],04244C8B
               

ldone:
                eval         "Done!target OEP(RVA):{oep},now please dump target."                //感觉用抓取映象不好听,因此直接写烂文提示
                log         $RESULT                                //双管齐下,不会看不到吧:-)
                cmt        eip,$RESULT
                msg "Script by loveboom[DFCG],[FCG][CUG],Thank you for using my Scripts!"                       

lblend:

                ret       

lblexcept:
                msg        "异常出错,请确认忽略异常选项,或者目标不是SDProtect 1.12加的壳"
                ret

lblinver:
                msg        "目标可能不是SDPROTECT 1.12加的壳."
                ret

lblbperr:
                eval        "请取消原有断点:{eip}"
                msg        $RESULT
                ret

[课程]Linux pwn 探索篇!

收藏
免费 7
支持
分享
最新回复 (18)
雪    币: 108
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
哈哈 第一个支持
2005-11-24 11:03
0
雪    币: 254
活跃值: (126)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
让外壳认为不是单CPU
2005-11-24 11:10
0
雪    币: 3511
活跃值: (4037)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
4
打倒LOVEBOOM,

2005-11-24 11:16
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
5
收藏
2005-11-24 11:18
0
雪    币: 442
活跃值: (1216)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
6
终成正果,开心
2005-11-24 11:20
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
收藏..........
2005-11-24 15:05
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
支持.
2005-11-24 17:21
0
雪    币: 136
活跃值: (105)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
9
2005-11-24 17:40
0
雪    币: 389
活跃值: (912)
能力值: ( LV9,RANK:770 )
在线值:
发帖
回帖
粉丝
10
支持.收藏
2005-11-24 18:51
0
雪    币: 781
活跃值: (501)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
好呵,我顶.
2005-11-24 21:38
0
雪    币: 62
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
我用这个脚本脱 还是被程序发现 有调试器哦
我新手 能否指点一下
我已经设置 插件 隐藏标题了
2005-11-24 23:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
不错,哈,顶一下
2005-11-24 23:14
0
雪    币: 61
活跃值: (160)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
14
支持  
2005-11-25 00:30
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
这种好东东,一定要支持
2005-11-26 02:08
0
雪    币: 513
活跃值: (2258)
能力值: ( LV9,RANK:2130 )
在线值:
发帖
回帖
粉丝
16
最初由 heXer 发布
让外壳认为不是单CPU


是不是我搞错了,第一个看到用Getsysteminfo,参数是看msdn上的,
错误的话,还请指正哦.

BTW:BT fly的头像给倒了一张,bs一把.
2005-11-26 03:09
0
雪    币: 236
活跃值: (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
学习中。。。。
2005-11-26 22:13
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
好东西,收下先
2005-12-1 13:40
0
雪    币: 703
活跃值: (327)
能力值: (RANK:380 )
在线值:
发帖
回帖
粉丝
19
最初由 china 发布
打倒LOVEBOOM,


你慢慢打 我去给你买书去
2005-12-2 13:14
0
游客
登录 | 注册 方可回帖
返回
//