lhw5432 发表于 2013-7-29 21:48:25

TP新驱动dbgobject权限清0的最简单pass.无hook.

b =*(*(tpbase+0x44a74));
b+=8;
*a =b;
* (tpbase+0x44a74) =a; 如上即可.
简单说就是被清零的结构成员指针TP是区分系统版本以后硬编码的.+8给它去清原本是0的东西就可以了.
如果已经被清0.b =*(*(tpbase+0x44a74));
c=b+0x78;
//xp 2k3为0x78   win7win8为+0x44
*c=0x1f000f;

b+=8;
*a =b;
* (tpbase+0x44a74) =a; 补上两个相关结构

xp/2k3:
============
lkd> dt _object_type
nt!_OBJECT_TYPE
   +0x060 TypeInfo         : _OBJECT_TYPE_INITIALIZER

lkd> dt _OBJECT_TYPE_INITIALIZER
nt!_OBJECT_TYPE_INITIALIZER
   +0x018 ValidAccessMask: Uint4B   


win7 win8
=============================

kd> dt _object_type
ntdll!_OBJECT_TYPE
   +0x028 TypeInfo         : _OBJECT_TYPE_INITIALIZER---------------------

kd> dt _OBJECT_TYPE_INITIALIZER
ntdll!_OBJECT_TYPE_INITIALIZER
   +0x01c ValidAccessMask: Uint4B------------------------

lhw5432 发表于 2013-7-29 21:49:14

这还什么思路的.
游戏关闭时tp还得写回去.

按一般写程序的逻辑..
这种重取一次麻烦的地址都会存到全局变量..

那就搜索清0位置--没存..
dbgxxxxxobjecttype地址--没存.
但是系统存放dbgobject的地址---存了---改之

1433784648 发表于 2013-7-30 07:17:07

可以弄个软件吗,不会弄这个啊

andy03 发表于 2013-7-30 09:28:37

完全抄过来了啊。。。

1016832420 发表于 2013-7-30 20:51:13

TP新驱动dbgobject权限清0怎么清零啊 用什么工具啊
页: [1]
查看完整版本: TP新驱动dbgobject权限清0的最简单pass.无hook.