2503001933 发表于 2021-4-11 22:33

CE扫描 汇编代码修改 求大神解惑

小弟不才,最近在研究一个游戏软件,遇到困难,恳请大神相助
1、已通过CE排查找出内存值为167E759C的位置为1则显示目标,为0时则隐藏目标
2、167E759C这个地址是变动的,每次打开软件这个地址都变了
3、已找到该值是通过0042ef3f控制,0042ef3f这个内存地址每次都不变
4、问题来了,怎么修改汇编代码,使0042ef3f始终赋予“167E759C(可能会变化)”的值为1,实现始终显示目标
{:1_893:}{:1_893:}{:1_893:}{:1_919:}

2503001933 发表于 2021-4-11 23:17

把 moveax,   改成 mov eax,1   程序直接奔溃了,我也不知道问题出在哪里,已知这个程序是没有加壳保护的,因为我改过其他地方保存之后没有问题

bester 发表于 2021-4-11 22:47

0042ef3f 下面补一句 mov ,1

小能维尼 发表于 2021-4-11 22:45

手动添加指针,地址+偏移
看样子只有一个偏移,应该可以的。
P->0042ef3f

2503001933 发表于 2021-4-11 22:52

感谢回复,我先试下

2503001933 发表于 2021-4-11 22:56

请问要怎么样才能在箭头所指位置加入一句mov ,1

2503001933 发表于 2021-4-11 23:03

OD初学,还望理解,我在网上搜到这个,我应该具体怎么写代码

唯美孤独 发表于 2021-4-11 23:05

2503001933 发表于 2021-4-11 22:56
请问要怎么样才能在箭头所指位置加入一句mov ,1

把 moveax,   改成 mov eax,1    就可以了   

answdl 发表于 2021-4-11 23:28

2503001933 发表于 2021-4-11 23:17
把 moveax,   改成 mov eax,1   程序直接奔溃了,我也不知道问题出在哪里,已知这个程序是没有加 ...

程序崩溃,可能是因为这一段代码不单单实现显示(隐藏)目标,
分析一下moveax,都有什么值在这里进行赋值。
或简单粗暴的来个判断(用CE自动汇编)
moveax,
cmp eax,0//如果为0,就改为1
jne @f
mov eax,1
@@:
pop edi

fanvalen 发表于 2021-4-11 23:32

说明你找的位置是共用代码段,这个地方不只对16xxxxxx地址修改还对其他地址修改值
页: [1] 2
查看完整版本: CE扫描 汇编代码修改 求大神解惑