外挂辅助技术分析任务对象基址及封装任务更新函数
来源:互联网 发布:人工智能三级推进体系 编辑:程序博客网 时间:2024/06/17 02:59
基础要求:
1、会一点C语言
2、懂一点汇编
学习目标:
动态定位基址
编写相关函数
编写特征码定位函数ScanFeatureCode
//1把特征码转换成全大写
//2读取游戏字节数组数据
//3转换成十六进制字串
//4十六进制 字串比较 找到则返回地址 未找到返回0
DWORD ScanFeatureCode(HANDLE hProcess,//进程句柄
IN OUT char* szpFeatureCode,
DWORD ndStartAddress,
DWORD ndEndAddress
);
作业:优化算法 提升函数速度;
//www.yjxsoft.com QQ150330575
//时间:2014.11月
//函数名:ScanFeatureCode 功能:特征定位
//1把特征码转换成全大写
//2读取游戏字节数组数据
//3转换成十六进制字串
//4十六进制 字串比较 找到则返回地址 未找到返回0
#define PAGESIZE 0x1024 //每次读取的大小 1KB
DWORD ScanFeatureCode(HANDLE hProcess,//进程句柄
IN OUT char* szpFeatureCode,
DWORD ndStartAddress,
DWORD ndEndAddress
)
{
//如果存在小写字母 则全转大写
HexStrToBigCase(szpFeatureCode);
DWORD ndLenHexCode=strlen(szpFeatureCode);//0xAF
BYTE *nbDataBuf=new BYTE[PAGESIZE+ndLenHexCode/2+2];//每次要读取的缓冲区大小
DWORD ndByReadSize=0;//实际读取缓冲区大小
for (DWORD ndCurAddr=ndStartAddress;ndCurAddr<ndEndAddress-ndLenHexCode/2;ndCurAddr=ndCurAddr+PAGESIZE)
{
ReadProcessMemory(hProcess,(LPVOID)ndCurAddr,(LPVOID)nbDataBuf,PAGESIZE+ndLenHexCode/2+2,&ndByReadSize);
//nbDataBuf 逐字节比较数据
for (DWORD i=0;i<PAGESIZE;i++)
{
char szpTempHex[256]="";
BytesToHexStr(&nbDataBuf,ndLenHexCode/2,szpTempHex);
if (HexStrCmp(szpFeatureCode,szpTempHex)!=FALSE)
{
return ndCurAddr+i;//
}
}
}
return NULL;
}
1、会一点C语言
2、懂一点汇编
学习目标:
动态定位基址
编写相关函数
编写特征码定位函数ScanFeatureCode
//1把特征码转换成全大写
//2读取游戏字节数组数据
//3转换成十六进制字串
//4十六进制 字串比较 找到则返回地址 未找到返回0
DWORD ScanFeatureCode(HANDLE hProcess,//进程句柄
IN OUT char* szpFeatureCode,
DWORD ndStartAddress,
DWORD ndEndAddress
);
作业:优化算法 提升函数速度;
//www.yjxsoft.com QQ150330575
//时间:2014.11月
//函数名:ScanFeatureCode 功能:特征定位
//1把特征码转换成全大写
//2读取游戏字节数组数据
//3转换成十六进制字串
//4十六进制 字串比较 找到则返回地址 未找到返回0
#define PAGESIZE 0x1024 //每次读取的大小 1KB
DWORD ScanFeatureCode(HANDLE hProcess,//进程句柄
IN OUT char* szpFeatureCode,
DWORD ndStartAddress,
DWORD ndEndAddress
)
{
//如果存在小写字母 则全转大写
HexStrToBigCase(szpFeatureCode);
DWORD ndLenHexCode=strlen(szpFeatureCode);//0xAF
BYTE *nbDataBuf=new BYTE[PAGESIZE+ndLenHexCode/2+2];//每次要读取的缓冲区大小
DWORD ndByReadSize=0;//实际读取缓冲区大小
for (DWORD ndCurAddr=ndStartAddress;ndCurAddr<ndEndAddress-ndLenHexCode/2;ndCurAddr=ndCurAddr+PAGESIZE)
{
ReadProcessMemory(hProcess,(LPVOID)ndCurAddr,(LPVOID)nbDataBuf,PAGESIZE+ndLenHexCode/2+2,&ndByReadSize);
//nbDataBuf 逐字节比较数据
for (DWORD i=0;i<PAGESIZE;i++)
{
char szpTempHex[256]="";
BytesToHexStr(&nbDataBuf,ndLenHexCode/2,szpTempHex);
if (HexStrCmp(szpFeatureCode,szpTempHex)!=FALSE)
{
return ndCurAddr+i;//
}
}
}
return NULL;
}
0 0
- 外挂辅助技术分析任务对象基址及封装任务更新函数
- 外挂辅助技术-更新任务列表分析
- 外挂辅助技术-分析任务等级需求并测试
- 外挂辅助技术-编写代码遍历任务列表
- 外挂辅助技术研究-逆向分析任务等级需求并测试
- 外挂辅助技术原理分析
- 外挂辅助技术-分析游戏寻路相关数据准备
- 外挂辅助技术研究-封装背包对象列表+读物背包物品信息
- CE找基址及偏移教程 外挂必学
- 技术任务
- 外挂辅助技术-寻路CALL测试
- VC 2014 QQ连连看外挂辅助(讲解,附带下载) CE QQ连连看基址
- ucos代码分析(一):任务创建及系统任务
- 外挂辅助技术研究-分析怪物列表
- 外挂辅助技术研究-分析选怪功能
- 游戏外挂技术分析
- UCOS_II学习笔记---任务管理之建立任务函数分析
- UCOS_II学习笔记---任务管理之删除任务函数分析
- 使用 Strace 和 GDB 调试工具的乐趣
- oracle中对数字加汉字的排序以及REGEXP_SUBSTR介绍
- 基本数据类型 范围大小
- hdu2104 hide handkerchief
- mysql 编码utf-8
- 外挂辅助技术分析任务对象基址及封装任务更新函数
- 用U盘启动vmare虚拟机
- 一个有点意思的SQL问题(连续的序列并且值相同的用区间来体现)
- 状态模式的应用
- Android-性能优化典范(第一季)
- 使用apache CXF和maven开发Web Service
- 使用php+session实现登陆
- Lua 的协程 为什么会出现?
- C# 划分多空格