精易论坛

标题: kmp算法特征码批量搜索工具 [打印本页]

作者: 随遇而安2    时间: 2024-11-8 04:52
标题: kmp算法特征码批量搜索工具
本帖最后由 随遇而安2 于 2024-11-8 05:18 编辑



终于到了回馈论坛的时候了,学逆向很多问题都是在论坛里面搜索得到解决的
自己写了个批量获取特征码的工具,自认为还是挺方便做项目的
这个软件基本上能够解决一个项目或者多个项目对特征码的定位查找,后期更新的问题

因为也是自己做来方便做项目的,所以基本上实现了所有类型的基址数据定位。还有各种控件之间的相互关联,交互性还是不错的
功能包含但不局限于



一:可以通过进程加载查找(对于有驱动保护的进程无效)
,也可以通过DUMP文件加载查找

注意:一定要等标题提示Dump已加载,才可以正常查找数据

二:定位特征码=》查看特征码能找到多少条


三:支持静态模块基址和动态模块基址的格式



四:支持免更新的数据的录入,尽量做到一键覆盖掉原本的常量,免除繁琐的比对工作


五:特征库功能(重要)
当找到自己想要的数据,下方编辑框会自动生成一段指令,点击记录到库,就可以保存到项目相对应的特征库下,不用在手动去复制保存添加特征码的各种数值,下次直接调用即可


六:各个编辑框的作用(使用方法)
1.数据类型编辑框,顾名思义,需要找那种就选哪种就好了


2:基址名称:这个也不用说了吧····



3:查找数量/指定位置
可以用于定位特征码的时候定位多少条(与数据查找无关,只是用来看这条特征码能定位到的位置是不是太多)
也可以用于查数据的时候取第几条数据(不知道这么表达能不能明白,就是如果一个特征码定位到多个位置,选第几个位置的意思)



4:进call偏移
比如我要定位一个这种有很多相似位置,或者不容易定位到的位置

那么我可以 返回到他的外层call,通过外层call进到这个位置再进行计算
-1表示不进  0表示当前行 其他自行判断(注意是16进制)
总得来说就是接下来的分析是不是需要进到call里面 还是直接在定位到的位置分析





5:偏移
进call后,或者不用进call的情况下,数据行对于特征码定位到的位置的相对偏移
比如上一条,进call后是不需要再有偏移了,就设置0即可

如果定位到的位置不是数据所在行,就需要加上相对应的偏移到数据所在行
如下图中要定位0x1740



6:代码段长度
数据所在行所占用了几个字节
基址/call 型:老老实实  是多长就填多长(十进制)

偏移型:
写入型偏移(带尾巴的)(无视rsp 实在没找到例子)


不带尾巴的




7:基址断尾长度/偏移数据长度
两种数据类型略有不同

基址型的



call型的
填0即可(因为call肯定不会赋值,这个懂得都懂)

偏移型的
因为前面的偏移数据长度已经截掉了赋值的尾巴,所以只需要填数据的长度就可以了,至于为什么基址类型不能这样,emmmm 懂得都懂






七:负偏移
使用方法和偏移一致 就不过多赘述了




最后:就这样吧,教材都写了两个小时,原本是想方便自己,不过写好了也想方便一下大家,算是一种回馈社会吧。使用这款工具需要一定的汇编基础,如果这教材的看不懂的话,就不用勉强使用了。
希望版主能给个精,大家多给点精币(绝对不会把为了能发帖还充了十块钱交易币说出来的!)
特征码获取.rar (766.45 KB, 下载次数: 34)







作者: liudewei666    时间: 2024-11-8 09:07
好强,谢谢分享
作者: jysoft2022    时间: 2024-11-8 10:08
谢谢分享
作者: mrghost    时间: 2024-11-8 11:44
发个特征码搜索模块吧
作者: 星空Allstar    时间: 2024-11-8 16:50
谢谢楼主分享
作者: 何以为    时间: 2024-11-8 19:39
888888888888888888888888888888888888
作者: 背靠背拥抱    时间: 2024-11-10 15:56
发帖为什么要充十块钱交易币?
作者: qq2518    时间: 2024-11-11 22:25
很强。感谢分享
作者: beatone    时间: 2024-11-18 23:10
支持开源~!感谢分享
作者: 眸子里的忧伤    时间: 2024-11-23 00:12
好东西




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4