内存特征码搜索,为什么搜不到结果?
小菜在研究一个FZ的时候,该FZ属于动态地址,动态地址嘛也见多了,其核心在于:
1.定位到代码加载基址
2.定位到指定的目标函数
3.目标函数VA-加载基址Base==偏移
4.随便你怎么个动态地址,有了基址和偏移,就能找得到地址
这里我就想,既然我有了基址和特征码,能不能利用特征码开发一个软件呢?可以自动帮我获取函数地址,这岂不是很开心!
于是说干就干,软件界面我都画好了!
1.输入指定的进程的PID
2.指定内存搜索的首地址
3.输入特征码,当点击查询,就能把指定函数地址帮我打印出来
其实这个功能就是OD和x32dbg的特征码搜索功能。我也借鉴了一些前辈的的代码。
核心代码如下:
但是当我写好编译出来的时候,发现通过内存特征码搜索,根本搜索不到结果。
换了很多前辈们写的源码都不行,也是搜不到结果。
我也不明白问题出在哪儿,想请教有没有过来的老师也遇到过类似的问题?麻烦帮点拨一下,感恩
排除权限问题,因为尝试了提权,依然搜不到。
排除特征码错误的问题,因为在OD和x32dbg亲测确实是可以搜的到的。
排除搜索时机问题,因为APIhook的时候,相同的时机,OD和x32dbg利用特征码都能搜到函数地址。
FZ链接就不发了,避免求破。
100HB不值一提,可以走骑士论坛,写个特征码搜索的例子也好呀。
本帖最后由 故林 于 2023-9-22 22:24 编辑
1.写法是否支持模糊定位,2.起始地址跟结束地址问题,其他我想不到为什么搜不到咯,一般只有这两种问题出现。你这个又没有什么保护权限问题,这两个问题排查一下,附我自己用的源码链接:https://share.weiyun.com/R2cr4o7V 密码:ifdyk6 看看隐藏内容~ 先看看隐藏的消息 如果你说的那3个问题真的都是不存在,那么你或许需要获取模块基址去搜索 隐藏内容有意思 看看隐藏内容 建议你输出日志看一下 隐藏内容
建议你输出日志看一下