破竹而入 发表于 2024-3-2 09:46

有一段代码是共用的,有什么方法判断。

图中这段代码是共用的,调用了100多次才真正到自己想要修改的时候。求大佬教点方法进行判断修改。

xlhwxyh 发表于 2024-3-2 11:00

游戏吗?这个有难度的,我弄了快10年了,遇到这种代码的游戏还是无法下手!

苏紫方璇 发表于 2024-3-2 17:02

破竹而入 发表于 2024-3-2 15:29
这个是ce脚本写进去的代码,我用x32dbg去跳这个地址提示:汇编分支指令未指向可执行的内存区域

CE这段代码估计是ce动态申请的,x32dbg可以这样,按ctrl+B,16进制那里填十来个0,搜到的地方一般就是空白的,这部分一般在程序代码段的末尾

苏紫方璇 发表于 2024-3-2 10:19

加个条件判断,在达到某种情况时,才进行修改

alicc 发表于 2024-3-2 10:27

共用说白了。通俗易懂就是一个空桶什么水都往里面倒,你下断跟上去看谁倒的就行了(下寄存器条件断点)

破竹而入 发表于 2024-3-2 10:27

苏紫方璇 发表于 2024-3-2 10:19
加个条件判断,在达到某种情况时,才进行修改

应该怎么加入条件判断。可以详细说下吗?

破竹而入 发表于 2024-3-2 10:39

alicc 发表于 2024-3-2 10:27
共用说白了。通俗易懂就是一个空桶什么水都往里面倒,你下断跟上去看谁倒的就行了(下寄存器条件断点)

应该怎么判断,来对这个位置进行改写。不会出现其它地方调用时出错

苏紫方璇 发表于 2024-3-2 10:40

破竹而入 发表于 2024-3-2 10:27
应该怎么加入条件判断。可以详细说下吗?

手动改的话,下一个条件断点,断下来改数据,自动的话,需要写点汇编,找个空白的地方,原来的指令那里改成跳转跳下来,条件判断是否成立,满足了就改数据,不满足就按原来的代码运行。
如果不太懂汇编的话,ce脚本也比较方便能实现

alicc 发表于 2024-3-2 10:45

破竹而入 发表于 2024-3-2 10:39
应该怎么判断,来对这个位置进行改写。不会出现其它地方调用时出错

或 RAX == 0x*******

破竹而入 发表于 2024-3-2 10:58

alicc 发表于 2024-3-2 10:45
或 RAX == 0x*******

这个是条件断点吗?我是想怎么写个判断,自动修改共用的代码。

苏紫方璇 发表于 2024-3-2 12:32

ce的教程闯关第九关就是共用代码处理,可以先拿这种简单的试一下
页: [1] 2
查看完整版本: 有一段代码是共用的,有什么方法判断。