找游戏内存基址有啥技巧?

不请自来。ce找数值。od来调试。神器在手,天下我有。封包回溯大法好。
■网友
我们在逆向游戏的时候,老是听有人会说找基址呀. 但是你不好奇什么才叫基址码?
说下基址的原理,让你有个深入的理解。
首先我们认识一下exe文件是怎么加载进Memory的。
首先双击exe, 电脑就会分配 4GB Virtual Memory (32bit computer) 给程序。
exe首先会贴进这个4GB空间。在exe PE结构里面有Image Base 和 Image Size两个数字确认了exe在这个4GB内存中哪里开始贴,哪里结束。(因为exe是第一个加载进这个Virtual Memory里面的,正常情况下ImageBase不会被占用,不需要考虑重定位)。所以在Image Base ~ (Image Base + Image Size)这一区域的内存范围就是这个游戏的基址内存。
接着,当所有exe和dll贴到内存中之后,exe就开始运行了。在运行的时候,会产生很多malloc/new在堆中创建的数据。这个堆的数据就是临时的,我们平常查到的数据一般都来自这里。

【找游戏内存基址有啥技巧?】 找游戏内存基址有啥技巧?


那我们查基址的一种方法是通过偏移查基址,这个原理又是什么呢?
我们知道我们查到的数据都在new出来的结构里面,那么new出来的结构肯定都需要通过一个变量存储这个new出来的地址, 而且需要delete/free。如下:
int* newAddress = new int;
delete newAddress;
那么只要new/malloc了,那么在exe主函数中,就会存在一个指针指向这个new出来的空间。
我们寻找指针的过程其实就是寻找exe主函数中的指针的过程, 过程如下

找游戏内存基址有啥技巧?



■网友
对于游戏内存的修改/作弊,你不知道CheatEngine(简称CE)就太可惜了.CE里面有一个教程程序,专门教你如何找到游戏内存基址.从中你能学到不少技巧.然而,如果你想深入的了解,没有汇编语言的基础,没有软件逆向的基础,没有编程的基础,你是很难作出大的进步.留着自己玩倒是够用了.
■网友
学会ce od是必不可少的,另外再推荐一款神器,moonlight


    推荐阅读