求助关于写补丁的问题.
一个小游戏的修改。地址都是动态的 只能通过特征码来定位.
这张是OD修改的 JMP跳到空白内存放补的数据.然后在跳回(1ECF2667)来.
这张是补的数据,上面的JMP 027C00内存申请的动态的,下面JMP 1ECF2667这个可以通过偏移算出来.
易语言补丁不会写,下面我写的不行,要么空白补的数据没有,要么JMP跳的地址没有,
大牛们来给我们菜鸟上一课呗.
或着直接 JMP 命令......
.版本 2
.子程序 JMP
.参数 原地址, 整数型
.参数 空地址, 整数型
.局部变量 地址, 整数型
地址 = 空地址 - 原地址 - 5
写字节集 (进程ID, 原地址, { 233 } + 到字节集 (地址))
返回 ()
申请内存申请的是自身程序的内存, 而不是其他进程的内存. 应该搜索进程0x00处的内存,在那里补数据.
内存搜索 (逆向进程ID, 还原字节集2 (“00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ”), 补丁数据)
我这样写怎么也不行?
查看我的这个贴子,应该可以解决问题:https://www.52hb.com/thread-9783-1-2.html
w1103744410 发表于 2015-5-9 15:40
查看我的这个贴子,应该可以解决问题:https://www.52hb.com/thread-9783-1-2.html
看不懂.
feifei 发表于 2015-5-9 18:31
还原字节集2是一个字节带一个空格的,而且你那些字节集写的完全不对,还原字节集2只能是每个字节集带空 ...
自己又弄了下,前面的都好了,所有地址都正确,最后一行代码在OD里面那JMP 地址怎么不对.
https://www.52hb.com/thread-9783-1-2.html 这个贴看不懂,
本来是JMP 2345CBA0这样写的话 2345CBA0写到机器码那去了.
feifei 发表于 2015-5-9 19:19
你傻呀,还原字节集2就是写成机器码的
那怎么写?
页:
[1]
2