首页
社区
课程
招聘
[旧帖] [求助]爆破的时候 JNE 改成 JE 正常,改成 JMP 或者 NOP 程序出错是为什么? 0.00雪花
发表于: 2007-5-19 15:22 10768

[旧帖] [求助]爆破的时候 JNE 改成 JE 正常,改成 JMP 或者 NOP 程序出错是为什么? 0.00雪花

2007-5-19 15:22
10768
爆破的时候 JNE 改成 JE 正常,改成 JMP 或者 NOP 程序出错是为什么?
我在破解一个程序的时候发现这么个问题
找到关键跳转 85 B2
然后改成     84 B2
这样程序被爆破了,可以用了.可是万一遇到正确的情况( 注册码的话几乎不可能 )就会退出
我试验的时候差不多每 20 次运行会有一次退出
所以想改成无条件跳转 EB B2
可是改了之后程序出错了,一运行到关键的地方就把 VC++ 调试器给启动了
我又试着改成   00 00 正常的话它一定会退出,可是它还是把 VC++ 调试器给启动了
因为 84 B2 后面是 00 00 00 所以我还试过把 84 B2 后面的两个 00 改成了 85 B0
这样的话正确也跳错误也跳,可是运行的时候还是不行,还是直接把 VC++ 调试器给启动了

困惑中......

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
2
你的工具有问题吧``哦呵呵呵`
没见过这种情况`
2007-5-19 15:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
工具?我用ultraedit改的啊
直接运行程序怎么会存在工具问题?  VC++ 调试器出来是因为程序产生了错误
如果没装VC或者禁止了调试功能的话,就会弹出一个程序产生错误的对话框,然后退出
2007-5-19 19:32
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
原来的完整指令是 0F 85 B2 00 00 00
0F 85 cw/cd  JNE  rel16/32  不等于  near (ZF=0)
应该是32位相对跳转

无条件跳转有下面这些:

EB  cb JMP rel8 相对短跳转(8位),使rel8处的代码位下一条指令
E9  cw JMP rel16  相对跳转(16位),使rel16处的代码位下一条指令
FF  /4 JMP r/m16 绝对跳转(16位),下一指令地址在r/m16中给出
FF  /4 JMP r/m32 绝对跳转(32位),下一指令地址在r/m32中给出
EA  cb JMP ptr16:16 远距离绝对跳转, 下一指令地址在操作数中
EA  cb JMP ptr16:32  远距离绝对跳转, 下一指令地址在操作数中
FF  /5 JMP m16:16 远距离绝对跳转, 下一指令地址在内存m16:16中
FF  /5 JMP m16:32  远距离绝对跳转, 下一指令地址在内存m16:32中

把 0F 85 B2 改成 90 E9 B2 就OK了( 以前忽略了前面的 0F ,刚刚看入门教程才知道,真是受益匪浅)
PS: 90 是 NOP,刚刚跟坛主学到的,呵呵
2007-5-19 22:41
0
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
5
那就是你程序有问题`
2007-5-20 10:02
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
6
也可以在OllyDBG里面直接修改汇编

红警player,哪个版本玩的最多?
2007-5-20 13:20
0
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
7
我玩共和国``
2007-5-20 14:04
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
ra2原版,共和国的电脑太弱智了
共和国之辉有矿厂就能造幻影坦克,原版要有作战实验室才行,打几家的时候,原版的每家冷酷敌人都是真正的冷酷,而共和国是只有一两家冷酷
我原来打共和国之辉习惯了,后来打原版的,两家都打不过了
2007-5-20 15:30
0
游客
登录 | 注册 方可回帖
返回
//