吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10385|回复: 21
收起左侧

[原创] 【脚本更新】反JMP+CALL乱序

[复制链接]
NONAME剑人 发表于 2009-8-16 21:15
本帖最后由 NONAME剑人 于 2009-8-17 17:39 编辑

天哪。NP太WS了……最小保护还有乱序……看得我头大
本来想休息会,玩会ZP,还有乱序……
怒了,做了个脚本,效果不错……就是编程习惯太差,效率一般,各位海涵。

查看方法:查看--》记录

使用说明:
         1 可修改脚本里的“反汇编长度”以增长反汇编长度
!!!2 一定要使文件名中没有数字……谢谢
感谢各位朋友的支持,yangjt朋友的测试

【更新】
(实在抱歉,因为我的疏忽,导致频繁更新……)
2009.8.17
[-]当不处理CALL的时候照样处理RETN引起的BUG
2009.8.17
[+]RETN的处理
2009.8.17
[+]CALL处理强化
2009.8.17
[+]增加CALL乱序的解决办法
[-] 除去脚本结束后EAX,EBX数值改变的BUG
//////////////////////////////////////////////////
//  Comment     :  反JMP+CALL乱序
//  Environment :  WinXP SP2,OllyDbg V1.10,OllyScript V1.56
//  Author      :  NONAME剑人
//  WebSite     :  http://www.unpack.cn
//  Date        :  2009-08-07 16:02
//////////////////////////////////////////////////
var 反汇编长度,myeip,temp,newadd,temp2,temp3
var mystack
var eeax,eebx,eesp
var kkkk
var ifcall,calltemp
mov calltemp,0

//设置
mov 反汇编长度,30 //请自行修改
mov ifcall,1      //是否跟进CALL,0为否,1为是,请自行修改


//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//!!!!!!!!使用前请务必将程序名改为不带数字的!!!!!!!!!
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

//======================
//初始化操作
lc
mov myeip,eip
alloc 5
mov newadd,$RESULT
mov eeax,eax
mov eebx,ebx
mov eesp,esp
alloc 100
mov mystack,$RESULT

mov temp,mystack
add temp,100
mov esp,temp
//======================



//======================
//进入正题
redo:
opcode myeip                ;得到代码
//======================

scmp $RESULT,"EB",2         ;判断JMP
je YESJMP
scmp $RESULT,"E9",2
je YESJMP
cmp ifcall,0
je coun_1
                            
scmp $RESULT,"E8",2         ;判断CALL
je YEScall

coun_1:
jmp countinue1              ;CASE 无跳转,call


YEScall:                    ;call的单独处理
mov calltemp,1
jmp YESJMP


YESJMP:                     ;CASE 有跳转
mov temp,$RESULT_1
mov [newadd],temp


mov temp,newadd
jxx_1:
mov al,[temp]
cmp al,30
jb jxx_goon
cmp al,39
ja jxx_goon

readstr [temp],8
mov temp3,$RESULT
atoi temp3,10
mov temp3,$RESULT

jmp jxx_over

jxx_goon:
cmp al,0
inc temp
jnz jxx_1
msg "出现问题?"
mov eax,eeax
mov ebx,eebx
mov esp,eesp
ret

jxx_over:

cmp calltemp,1
jnz next_1
itoa temp3
log "已进入CALL",$RESULT
itoa myeip
log $RESULT,"--->PUSH "
mov calltemp,0


push myeip


next_1:



mov myeip,temp3
jmp redo



countinue1:





itoa myeip

add $RESULT,":"

log $RESULT_1,$RESULT

cmp ifcall,0
je next_2
scmp $RESULT_1,"RETN"
jnz next_2
pop eax

itoa eax 
log eax,"retn被发现,即将返回到:"
mov myeip,eax
opcode myeip
add myeip,$RESULT_2
jmp redo



next_2:
add myeip,$RESULT_2
inc kkkk
cmp kkkk,反汇编长度
jb  redo
mov eax,eeax
mov ebx,eebx
mov esp,eesp
ret

免费评分

参与人数 2威望 +2 收起 理由
小生我怕怕 + 1 谢谢@Thanks!
CHHSun + 1 感谢发布原创作品,[吾爱破解]因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

ujtyug 发表于 2009-8-16 22:45
这个要顶,很实用的东西
mmfdr 发表于 2009-8-17 06:26
wgz001 发表于 2009-8-17 07:00
daihu37 发表于 2009-8-17 08:38
好东西,谢谢分享,试一试看看效果
Hmily 发表于 2009-8-17 14:16
处理了乱序才好分析代码,感谢兄弟发布这么好的脚本~:)
CHHSun 发表于 2009-8-17 14:22
强大的有点看不懂,后期要好好学习。
ZeNiX 发表于 2009-8-17 14:33
老兄一進來就出手不凡.
學習了.
小生我怕怕 发表于 2009-8-17 14:40
强悍,学习下这个脚本~
pizigao 发表于 2009-8-17 15:53
真是牛人啊~造福了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 22:12

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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