CE查基址搜出了数组mov eax,[ecx+eax*4]而且下一步搜索死循环

刚开始正常搜索下去 得出动态地址是:059B5530
继续出现了 Mov eax,[ecx+eax*4] 地址指针可能是067C4F20
然后搜索067C4F20就一个地址是059B5530他的值是067C4F20
然后就无限循环....

第1个回答  2013-09-18
我也碰到这样的问题,楼主现在解决了么

为用CE找基址 直接出现了[ECX+EAX*4],EDX 那位高人指点下 谢谢
ecx+eax*4其实是一个数组遍历,这时候可以看下eax里面的值一般是个整数,记录下来,然后跳出这个循环继续查找ecx的值就行了,比如找到ecx的值是[123456],eax的值是3,那么该物品的表达应该为[123456]+3*4

...MOV EAX,[ECX+ECX*4] 详细点 谢谢谢谢了,大神帮忙啊
ECX加ECX中的变量乘4得到一个值,然后以这个值为段偏移地址,取其中的变量赋给EAX 希望采纳

CE找到基址了 可是不知道偏移是多少
在第一个截图中,ecx的值每次都是0x11A?从汇编上看是执行了and操作后得到的结果,明显是编译器优化了,不知道它想干啥。在第二个截图上,CE给出的eax值,是执行了mov eax,[edx+eax*4]之后eax的值,你无法知道执行前eax值是多少,这个也是单纯使用CE的缺点,CE的反汇编能力是很弱的,跟OD没法比...

关于ce找植物大战僵尸冷却基址问题
右键 选择 查找写入该地址的代码 ,此时切换到游戏 点击向日葵,拿起来但不建造,再次放下 这两行如何理解呢第一条我们拿起向日葵的记录第二条我们放回向日葵的记录当然选择 mov [eax+ecx+70],01 双击 此时EAX=0 ECX = 070f8830 ECX + 70 = 070f88A0 再次确认就是这条记录搜索070f8830 只有一个结果 0CEEF7...

005df3ed mov eax.[ecx+eax*4+000003a8] 这是什么意思啊?
把[ecx的值+eax×4的值+3a8]当作一个地址,再把这个地址的值传递给eax。其中3a8是偏移常量,eax是数量,ecx是指针,也就是说,只要在内存中搜索ecx,就能搜到你想要的东西,也许是基址,也许是二级或多级指针。

CE基址出现了ecx+eax+0000060C这个怎么算
回答:ECX是指针 eax*4+04是偏值

CE找到mov [edx+ecx],eax 怎么找了 偏移量是什么
ECX=00833A20 这是基址 EDX=00000060 这是偏移

005df3ed mov eax.[ecx+eax*4+000003a8] 这是什么意思啊?
把[ecx的值+eax×4的值+3a8]当作一个地址,再把这个地址的值传递给eax。其中3a8是偏移常量,eax是数量,ecx是指针,也就是说,只要在内存中搜索ecx,就能搜到你想要的东西,也许是基址,也许是二级或多级指针。

游戏内存地址mov eax,[eax+ecx*4+08]
mov eax,[eax+ecx*4+08] 这句是汇编语言,汇编语言是用来操作CPU通用寄存器的一门底层语言。mov是移动的意思,eax为32位系统CPU中的通用寄存器里的累加器,ecx为32位系统CPU中的通用寄存器里的计数器,[]为取内存地址中的数值,这句整体的含义为将ecx中的数值*4再加上十六进制数08再加上eax中的...

mov [eax],ecx,这个怎么找基址
eax的默认基地址寄存器是ds 程序中 mov ecx,[eax]的写法是mov ecx,ds:[eax]的简化写法

相似回答