推广 热搜: 快速  企业  未来  公司  中国  上海  政策    行业  教师 

Mac APP 破解之路四 010Editor

   日期:2024-11-02     作者:caijiyuan    caijiyuan   评论:0    移动:http://houdi.cs-ej.cn/mobile/news/199.html
核心提示:破解经常需要改跳转,跳到指定地点.000000010036d5f5 je sub_10036c970+3211. 指令代码:0F 84 00 00 00 00这句话的含义是:je0

 

Mac APP 破解之路四  010Editor

 

破解经常需要改跳转,跳到指定地点.

000000010036d5f5         je         sub_10036c970+3211.      指令代码: 0F 84 00 00 00 00 

这句话的含义是:   je 0x10036d5fb 如果相等就是跳到下一行

如果我想将其修改到sub_10036d6d3地址怎么做呢?

 

我所记得的是je指令编码是74。  jne指令是75.

而上面的指令编码是 :0F 84 00 00 00 00 很奇怪?跳到下一行的指令应该是 74 00才对

 

000000010036d809         je         loc_10036d97d   (分析: 10036d97d - 10036d809 =  0x174(包含指令长度6))

指令代码: 0F 84 6E 01 00 00 

000000010036d811         je         loc_10036d829。(分析: 10036d829 - 10036d811 =  0x18  (包含指令长度2)).   

指令代码: 74 16 

=========

总结一点:  

sub_xxxxx 的地址位置以函数起始地址开始计算.     loc_xxxxx的地址以当前指令位置开始计算

0F 84 6E 01 00 00   因为要跳的距离大于1个字节(FF)所以用 0F 84表示 je.  

 6E 01 00 00 表示以当前指令地址的结尾处开始算起第016e处就是他的地址,

也就是:  10036d809+6(指令长度) + 016e = 0x10036d97d.   刚好吻合.

归纳:

je 长跳: 0F 84 + 4字节数据

jne长跳: 0F 85 + 4字节数据

je短跳: 74 + 1字节数据

jne短跳: 75 + 1字节数据

=============================

回到之前的问题: 

 je 0x10036d5fb   编码: :0F 84 00 00 00 00

改为: je sub_10036d6d3

编码应该是:  

0x10036d5f5 + 6 + x = 0x10036d6d3

x = 0x10036d6d3 -6 - 0x10036d5f5

x = 0xd8

 

结果:0F 84 D8 00 00 00 

完美改造.

说明:这是我在破解010Editor编辑器里的一个点,改完跳转指令,运行结果: 

还没有完全破解, 以后有时间继续吧.

 冷静分析: 导出为pdf 从失败地方开始向上走, 总有一个分支,是区别成功和失败的.

 

 

 破解成功: 

本文地址:http://houdi.cs-ej.cn/news/199.html    成事e家 http://houdi.cs-ej.cn/ , 查看更多
 
标签: 破解
 
更多>同类行业资讯
0相关评论

新闻列表
企业新闻
推荐企业新闻
推荐图文
推荐行业资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号