wtujoxk 发表于 2023-11-8 15:04

使用SSE2加速暴力搜索内存特征码(支持模糊匹配)

本帖最后由 wtujoxk 于 2024-8-10 20:18 编辑

前言:在学习自写劫持补丁时,遇到搜索内存特征码,于是就有了这代码!!!


支持通配符??,支持一码多匹配,支持x86 x64
效果:



已集成在:https://www.52pojie.cn/thread-1950336-1-1.html


yiting8 发表于 2023-11-8 15:32

用CE可以吗?

DoraemonPocket 发表于 2023-11-8 15:36

谢谢楼主分享,真心不错

fjqisba 发表于 2023-11-8 16:42

https://github.com/fjqisba/FastBinSearch,我也写了一份,楼主可以对比看看{:301_993:}

wtujoxk 发表于 2023-11-8 17:14

本帖最后由 wtujoxk 于 2023-11-8 17:16 编辑

fjqisba 发表于 2023-11-8 16:42
https://github.com/fjqisba/FastBinSearch,我也写了一份,楼主可以对比看看
写这个之前,在看雪看过你的,非常好,也测试了这两种,但是这种方式更快一些,这两种在内存不连续和映射不完整的时候,都有抛锚的时候!比如在搜索32位的kernel32.dll模块时,必抛锚!!!

janken 发表于 2023-11-8 17:49

学习了,之前一直不知道内存搜索是怎么执行的。

wasm2023 发表于 2023-11-8 18:35

fjqisba 发表于 2023-11-8 16:42
https://github.com/fjqisba/FastBinSearch,我也写了一份,楼主可以对比看看

大佬的dart助手啥时候更新呦

Elaineliu 发表于 2023-11-8 22:37

本帖最后由 Elaineliu 于 2024-9-4 16:16 编辑

https://www-igm.univ-mlv.fr/~lecroq/string/
精确字符串匹配算法 36个



https://github.com/1aa82e/crysearch

666888tzq 发表于 2023-11-9 12:46

感谢分享,不错。

kicktj 发表于 2024-3-13 18:39

这个不能跨进程的吧,到 CurrEqual = (*CurrAddress == CurrUChar); 这里就报错了,*CurrAddress 读不出值

我只是把 if (GetModuleInformation(GetCurrentProcess(), module, &moduleInfo, sizeof(moduleInfo)) == 0)
改成 if (GetModuleInformation(OpenProcess(PROCESS_ALL_ACCESS, false, 8596), module, &moduleInfo, sizeof(moduleInfo)) == 0) 而已
页: [1]
查看完整版本: 使用SSE2加速暴力搜索内存特征码(支持模糊匹配)