起因是项目中临时需要对一个exe更改一些字符串,然而改完发现会闪退,于是知道有crc
这里把方法记录一下
首先改了一个字符串:
保存后打开闪退:
循着退出点 倒追:
到此函数头下断
发现调用到他后 是退出
于是往前追,查看跳出点。
在此函数头下断后 发现到退出函数的上一个函数会跳出来,走到退出函数,
于是知道这个函数里有crc,往里走:
发现在这个循环中 会退出。
而这个循环的判断条件是eax+9c是否为0,为1则往下走 就跳出了
所以要找出 在哪里给这个地方写了1
在这个地方下内存写入断点:
断下来后发现在这里
跳过来之后,就赋值1了,所以不让他跳,改成nop
保存测试,发现修改成功: