通过内存搜索到的动态地址怎样打补丁
软件是这样的,本身exe程序无壳,可是软件目录下的一些后缀名为.bpl的动态链接库加了壳(查壳显示ASPack 2.12 -> Alexey Solodovnikov这个壳,但应该是伪装这个壳的入口,或许实际不是这个壳,因为用这个壳的脱壳机无法脱壳,直接报错)。用od载入,直接搜索字符串搜索不到。例如:假设我要找“蓝蓝的天空”这几个字,需要od载入后把软件彻底运行起来,这个时候通过M窗口搜索内存,才能搜索到“蓝蓝的天空”这几个字的地址,在CPU窗口右键数据跟随,可以完全的看得到,但是修改后无法保存,不能保存出文件。由于脱不了壳,想着打补丁,可是这个地址又是动态的,每次启动运行后,搜索到的地址都不一样。但地址旁边的机器码往下数3行是一样的,往上就不知道了,因为只要一动鼠标,代码就乱了(估计也是壳的原因)。我想实现的效果是:怎样通过打补丁来实现更改“蓝蓝的天空”这几个字呢。假设“蓝蓝的天空”蓝字位于图中第一行地址处,但地址又是动态变化的。恳求论坛各位大佬不吝赐教,教教我们这些新手,非常感谢,也特别感谢吾爱能提供这个平台供大家交流学习。 xujie236 发表于 2020-10-22 09:04易语言的 简单点,获取模块基址(程序ID,模块), 修改基址=模块基址+偏移量 (固定的) 写内存 = ...
主要是没这方面的基础,这几个参数怎么获得呢?比如上面说的模块基址和偏移量 易语言的 简单点,获取模块基址(程序ID,模块), 修改基址=模块基址+偏移量 (固定的) 写内存 =(修改基址, 数据) 大概就是这个思路 以前写过忘了。找找易语言去 看地址应该不是主程序,打补丁时都不知道对象怎么办? 大白或者小黑,特征码补丁 基址偏移都不会吗 ,一看这就是在模块的 找打模块基址+偏移就好了! 我很赞同 byh3025 发表于 2020-10-21 20:42
看地址应该不是主程序,打补丁时都不知道对象怎么办?
是的,本身exe程序是无壳的,他这个应该是通过调用目录下的bpl文件,而要修改的信息保存在bpl文件里,可是bpl文件加壳了 xujie236 发表于 2020-10-21 21:07
基址偏移都不会吗 ,一看这就是在模块的 找打模块基址+偏移就好了!
就是不会呀,新手来着,,老兄可以帮帮忙,给我示范下啊,感激不尽 罗萨 发表于 2020-10-21 20:56
大白或者小黑,特征码补丁
不会呀,老兄能演示下,给个例程吗,感激不尽 不明觉厉。。。 读取模块基址,得到指定模块的基址后,加上偏移就是你要得位置了!
页:
[1]
2