
游戏
文章平均质量分 83
pomelozero
这个作者很懒,什么都没留下…
展开
-
注入(二):修改导入表(c++)
导入表注入:修改游戏EXE依赖dll树上找个结点,程序运行前加载,加载修改回导入表。 优:游戏依赖库多,不易用完整性来查验,同时客户端版本不同,更易躲过检测 缺点:文件操作明显,易被ProcessMonitor检测到//BeModeImportTableExe.exevoid main(void){ int i = 0; while(true) { __asm{ mo转载 2015-04-14 12:48:18 · 1505 阅读 · 0 评论 -
通过SEH 非inline hook
SEH(Struct Exception Handler,结构化异常) VEH(Vector Exception Handler,向量异常处理)SEH是OS提供给线程来感知和处理异常的一种回调机制。在Intel Win32平台上,由于FS寄存器问题指向当前的TIB(线程信息块),因此FS:[0]处能找到最新的一个EXCEPTION_REGISTRATION_RECORD结构。typed原创 2015-04-15 14:44:02 · 1660 阅读 · 0 评论 -
游戏保护模块
第八章:定位游戏保护模块GameSpiderkernel Detective1.定位ring0驱动级保护模块可以用KD比较游戏启动前后差异。2.定位ring3可以hook低层接口再栈回塑。(游戏可以自加载同一模块的另一份来用,此时hook无效)3.保护模块可能hook系统原生dll接口来保护,此时可以比较原生dll文件与加载到内存的映像来定位哪些被HOOK。为防止被保护模块原创 2015-04-15 23:26:42 · 2418 阅读 · 0 评论 -
页面异常反dump 及 内存访问异常hook
第七章:应用层保护加密,加壳,反调试,混淆。。。静态保护:去静态特征,去字符串,全局指针等。动态保护:在dump模块的方法中,一般会调用ReadProcessMemory来读取,可以修改PE结构中可选头中的ImageOfSize,还有抹去PE头的方法干扰,但对指定基址和大小就无效。修改页面访问属性为PAGE_NO_ACCESS可以反dump.修改代码方式的HOOK很难绕过代原创 2015-04-15 18:43:21 · 2372 阅读 · 0 评论 -
hook虚表监控虚表
RTTI(Runtime Type Identification,运行时类型识别)由c++编译器将对象的类型信息嵌入程序的只读数据段,以 支持C++的各种操作符在运行时确定(typeid)和检查(dynamic_cast)一个对象的数据类型。对微软的编译器而言,RTTI和虚表位置在-4的地址构建。#include #include #define VTSIZE 6#pragma pa原创 2015-04-15 09:24:56 · 911 阅读 · 0 评论 -
安全的交互通道 及 栈回塑检查与伪造
第四章:安全的交互通道消息钩子,Hook游戏消息处理过程,GetKeyState(),GetAsyncKeyState()和GetKeyBoardState()函数,进程间通信。消息钩子:SetWindowsHookEx(),UnhookWindowsHookEx()Hook游戏消息处理过程:GetWindowLong(),SetWindowLong()GetKeyState(),原创 2015-04-14 17:06:57 · 707 阅读 · 0 评论 -
模块隐藏(LDR_MODULE链 与 PE特征)
比较常见的模块隐藏方法有抹去模块的PE头,断开进程的LDR_MODULE链,Hook模块枚举函数等。后面备注VAD隐藏。//测试EXE,加载WaiGua.dll,再隐藏。#include #include #include typedef struct _LSA_UNICODE_STRING { USHORT Length; USHORT MaximumLength; PW转载 2015-04-14 15:54:49 · 7939 阅读 · 0 评论 -
游戏学习
外挂思想1.对于注入内存的内存挂,首先是注入外挂模块2.隐藏外挂模块3.与用户交互并操作游戏核心功能4.分析游戏安全保护并绕过5.外挂模块自我保护反外挂思路1.防止游戏客户端代码被分析(去明文字符串,加壳等等)2.防止被注入外挂模块(双进程保护,驱动监控加载模块)3.加密通信协议,防止重放数据包4.防止外挂call函数,修改代码与数据。第原创 2015-04-14 00:01:10 · 651 阅读 · 0 评论 -
注入(一):APC注入
APC注入:Asynchronous Procedure Call,异步过程调用,每个线程都有一个APC队列,在用户模式下,当线程调用SleepEx,WaitForSingleObjectEx等进入"Alterable Wait Status. 此时系统会遍历APC队列,先进先出地处理其中函数(QueueUserAPC) 优:比较隐蔽 缺:实现的条件苛刻//负责注入的exe#incl原创 2015-04-14 10:20:56 · 1687 阅读 · 0 评论 -
VEH Hook 及 检测
SEH(Struct Exception Handler,结构化异常) VEH(Vector Exception Handler,向量异常处理)SEH是OS提供给线程来感知和处理异常的一种回调机制。在Intel Win32平台上,由于FS寄存器问题指向当前的TIB(线程信息块),因此FS:[0]处能找到最新的一个EXCEPTION_REGISTRATION_RECORD结构。typed原创 2015-04-15 16:38:37 · 11881 阅读 · 0 评论