过 DNF TP 驱动保护(一)】的更多相关文章

过 DNF TP 驱动保护(二)   文章目录:                   01. 博文简介: 02. 环境及工具准备: 03. 分析 TP 所做的保护: 04. 干掉 NtOpenProcess 中的 Deep InLine Hook: 05. 干掉 NtOpenThread 中的 Deep InLine Hook: 06. 干掉 NtReadVirtualMemory 中的 InLine Hook: 07. 干掉 NtWriteVirtualMemory 中的 InLine Hoo…
过 DNF TP 驱动保护(一)   文章目录:                   01. 博文简介: 02. 环境及工具准备: 03. 分析 TP 所做的保护: 04. 干掉 NtOpenProcess 中的 Deep InLine Hook: 05. 干掉 NtOpenThread 中的 Deep InLine Hook: 06. 干掉 NtReadVirtualMemory 中的 InLine Hook: 07. 干掉 NtWriteVirtualMemory 中的 InLine Hoo…
1. 添加I2C 设备 TP 一般采用的是I2C 作为数据和命令接口,所以TP 驱动也可以归类为I2C 驱动.TP驱动的主要逻辑不在这里,但是了解了Linux 的I2C 体系架构,就可以对整个驱动流程有了 更加清晰的认识,但这里不详细展开讨论I2C 的体系架构,只围绕怎么移植开发TP 驱动展开讨论. 在板级文件中,也就是瑞星微的代码文件board-rk30-sdk.c 中,实例化一个i2c_board_info结构体,该结构抽象描述一个具体的i2c 设备,然后将该实例添加到__i2c_board…
最近学习驱动保护,有点小小心德与大家分享下. 当前环境:VM中的win7 32 保护程序是某游戏的驱动保护. 具体现象是:在用PCHunter工具查看object钩子时发现如下的信息: 疑问点1:在HOOK列显示的是ObjectType_Callback,以前只听说过ObjectType HOOK没听说过这个呀,这个是什么呢? 疑问点2:Object类型列显示的是“Process” 查阅了<windows内核原理与实现>的55页WRK中的全局类型对象变量,发现不是系统创建的类型,难道这个对象类…
本文转载自:http://blog.csdn.net/encourage2011/article/details/51679332 本文描述在RK3126平台上添加一个新的TP驱动(gslx680驱动)以及详细的驱动代码信息.如有不足之处,敬请指出. 1.修改dts,添加新的i2c设备. 在 arch/arm/boot/dts/rk312x-sdk-v2.2.dtsi中添加i2c设备的相关信息: ts@40 { compatible = "gslX680"; reg = <0x4…
这里的简单驱动保护就是简单的HOOK掉内核API的现象 找到被HOOK的函数的当前地址在此地址处先修改页面保护属性然后写入5个字节.5个字节就是一个简单的JMP指令.这里说一下JMP指令,如下: 001 JMP 002 这样我们就会跳到 001 (在此地址写入JMP指令)+ 002(我们要写入的JMP操作数) +5(jmp指令的字节数)这里. 就是说如果你要跳回NtOpenProcess的原地址,就应该向被HOOK后的地址处写入这样的指令   JMP ( NtOpenProcess的原地址-被H…
这个是过TX游戏自我保护驱动的源代码.可以过qq堂.DNF.寻仙等QQ游戏. #include <ntddk.h>#include <windef.h>#include <ntimage.h>#include "Common.h" typedef struct _KAPC_STATE {        LIST_ENTRY ApcListHead[2];        PVOID Process;        BOOLEAN KernelApcIn…
为了安全起见,Windows XP及其以后的系统将一些重要的内存页设置为只读属性,这样就算有权力访问该表也不能随意对其修改,例如SSDT.IDT等.但这种方法很容易被绕过,我们只要将这些部分修改为可写属性就可以了,不过当我们的事情做完后记得把它们恢复为只读属性,不然会造成一些很难预料到的后果. cr0是系统内的控制寄存器之一.控制寄存器是一些特殊的寄存器,它们可以控制CPU的一些重要特性. 控制寄存器最初出现于低级的286处理器中,以前称之为机器状态字(machine status word),…
代码从mtk6589平台移植,ic为用户定制. 解决的问题有: 一.build err:主要原因是89和82平台函数和宏定义冲突,如: extern void mt_eint_unmask(unsigned int line);extern void mt_eint_mask(unsigned int line);extern void mt_eint_set_hw_debounce(unsigned int eintno, unsigned int ms);extern kal_uint32…
转自 blog.csdn.net/dddxxxx/article/details/54312415…