熟悉PE结构的请进,如何取 .rdata 中的数据呢?
按照网上资料,我现在按照PE结构自己读取资源节已经没有什么问题了——因为网上资料上对资源部分的结构描述的还算详细,所以按照原理总是可以写出来的。
而.rdata 段,貌似有全部变量和常量吧,这个却没找到资料描述是以什么样子的格式(或者说结构)存储的,那到底该怎么读取呢?
========================================
之所要读取这个段,原因是这样的:
找到一个第三方的程序,里面有一段字符串我想要修改,但是他不在资源节里,也就是这个字符串是属于汉化领域所谓的“非标资源”。
当然,我向简单修改的话,只需要使用二进制编辑器(如UE)查找数据并修改保存就可以了。
但是第一这个程序更新频繁,第二我的目的是想利用学到的PE结构知识写个通用的“内存”补丁,在程序启动时在内存中修改,免得每次都要查找修改(在其资源节中也有需要修改的地方,我已经写完了,证实可用)!
我用PE结构的方式遍历过这个程序的各个节并取出各自的二进制数据,发现我想要修改的数据就是在.rdata 段中。
当然,我知道这个段的属性是只读的,但是我发帖子问的不是“如何修改只读”的问题,这个我想修改段的属性可以解决吧(即使解决不了也没关系,我的目的是加深对PE结构的了解)
所以我的问题就是怎么用PE结构的方式读取到.rdata的数据(不是读入二进制在查找数据的方法哦,因为我要写内存补丁)。
请前辈们帮帮忙,其实最关键的只要有前辈能给出这部分的数据的存储结构就可以了,感激不尽!!!