sunday算法特征码_C++ sunday算法 极速定位指定进程内存特征码!

#include

#include

#include

using namespace std;

/*

findMatchingCode() 参数说明:

1) hProcess                要打开的进程句柄

2) markCode                特征码,支持通配符(??),如: 55 8b ec ?? 56 83 ec 20 ?? ?? 08 d9 ee

3) memBeginAddr                起始搜索地址

4) memEndAddr                结束搜索地址

5) retAddr[]                记录找到的地址,传入这个参数前一定要清0,如 DWORD retAddr[32] = {0};  或者 DWORD *retAddr = new DWORD[32]();

6) deviation                特征码地址离目标地址的偏移距离,上负下正

7) isCall                是否为找CALL的跳转地址,true 则 retAddr[] 返回的是CALL跳转的地址

8) isAll                是否查找所有符合的地址,false找到第一个符合的地址后就结束搜索,true继续搜索,直到搜索地址大于结束地址(memEndAddr)

return返回值                找到的地址总数

*/

DWORD findMatchingCode(HANDLE hProcess, string markCode, DWORD memBeginAddr, DWORD memEndAddr, DWORD retAddr[], int deviation, bool isCall, bool isAll = false);

DWORD findMatchingCode(HANDLE hProcess, string markCode, DWORD memBeginAddr, DWORD memEndAddr, DWORD retAddr[], int deviation, bool isCall, bool isAll)

{

//----------------------处理特征码----------------------//

//去除所有空格

if (!markCode.empty())

{

int index = 0;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值