我请一位老师教我逆向了某程序,因为我需要获取这个程序中的某一个解密密码。现在我已经能够在x32dbg中,发现该密码在Call XXXX后的返回值EAX中,但这个EAX的内存地址在别人电脑上运行时是不固定的,但我想直接通过读内存的方式,来获取这个地址(不想通过拦截函数的方式),并且那位老师也告诉我了,可以通过读取固定的一个内存地址值,然后通过多次偏移来得到这个解密密码,比如老师已经告诉我了,可以读取0x12345678处的值,然后再读取0x12345678指向的值,再读取指向值+8所指向的值就是解密密码(也就是前面Call XXXX后的返回值eax),请问我该怎么找到那个固定内存值0x12345678?因为我逆向的那个程序也会不断更新,更新后的固定地址值就不是0x12345678呢?所以我想请问一下怎么找到那个0x12345678呢?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
KongKong20 算出固定的偏移就行 全局变量0x12345678 = 变化的开始地址+固定的偏移 变化的开始地址=GetModule(L"模块"); 固定的偏移=0x12345678 - G ...