首页
论坛
课程
招聘
[原创]浅谈之重读老文章之那些年我们追过的gdt hook
2014-4-27 02:22 7484

[原创]浅谈之重读老文章之那些年我们追过的gdt hook

2014-4-27 02:22
7484
好久不见啊大伙,大一下学期更加的忙碌,每天就是上课,敲代码,敲代码,泡妞,泡不成,换一个接着泡,感觉就像吃泡椒,泡太久了,味道太重,泡不久呢,又没味道。
1.闲话少说,接着今晚的 GDT HOOK
(1).概念请百度。
就说关键部分。
typedef struct CALLGATE_DESCRIPTOR
{
	USHORT  offset_0_15; (2)
	USHORT selector;
    UCHAR    param_count : 4;
	UCHAR    some_bits   : 4;
    UCHAR    type        : 4;
	UCHAR    app_system  : 1;
	UCHAR    dpl         : 2;
	UCHAR    present     : 1;
    USHORT  offset_16_31(3);

2.我们来说说这个的结构(2)(3)我就不说了,首先是 DPL(Descriptor Privilege Lebel)权力等级描述,我们是为了让r3访问这个全局描述符所以我们要把DPL=3.
3.param_count 表示你建立的new pro 的参数有几个;
4.selector 选择段,我们要写0x8(windows)下都是;
5.type        类型:调用门的类型是0xc;

6.先贴代码在解释~ ~.
(1.)要先得到人家的地址,
ULONG  Gdtbase()
{
	char gdt[6] ;
	ULONG base;
	__asm sgdt gdt;
	base=*(ULONG *)(&gdt[2]);
	DbgPrint("base 0x%x\n",base);
	return base;	
}

(2.)接着要初始化人家:
CALLGATE_DESCRIPTOR cg;
  cg.selector=0x8;
  cg.param_count=0;
  cg.type=0x3;
  cg.dpl=0x3;
  cg.offset_0_15=0xffff&Address;
  cg.offset_16_31=Address>>16;
  return cg;

(3.)接着要hook 人家(好害羞)
Void  Hook(CALLGATE_DESCRIPTOR cg)
{
PSEG_DESCRIPTOR gdt;
PSEG_DESCRIPTOR  gdtEntry;
PCALLGATE_DESCRIPTOR old;
CALLGATE_DESCRIPTOR  oldcg;
int i=0;
gdt=(PSEG_DESCRIPTOR)Gdtbase();
old=(PCALLGATE_DESCRIPTOR)&(gdt[60]);
DbgPrint("0x%x\n",sizeof(CALLGATE_DESCRIPTOR));
for (i=0;i<=0x1F;i++)
{
	DbgPrint("0x%x\n",&(gdt[i]));
}
oldcg=*old;
gdtEntry=(PSEG_DESCRIPTOR)&cg;
gdt[60]=*gdtEntry;

}

7.下面解释hook idt

typedef struct SEG_DESCRIPTOR{
	UINT32 base:32;        
	UINT32 seg_limit:20;   
	UINT32 g:1;        
	UINT32 d_b:1;      
	UINT32 unused:1;   
	UINT32 avl:1;      
	UINT32 p:1;        
	UINT32 dpl:2;      
	UINT32 s:1;        
	UINT32 type:4;     
}SEG_DESCRIPTOR,*PSEG_DESCRIPTOR;

首先人家这个结构占了8个空间,so 数字下表也就是往前面+8x,系统一边段选择被试用0x1-0x1f;你想XX也可以每人拦你,你想插入新的每人管你,甚至我们可以改变他们的权利等级.
8.好像扯来扯去,都没说概念,测试一下
9.这个很重要,cpu KeSetSystemAffinityThread 设置一下线程只绑定第x个cpu那。
Super-Rootkis 121157016 欢迎你的到来
好多牛都在你们,最近群的活跃度不太好,进来后请看群规定.


                                 

[培训] 优秀毕业生寄语:恭喜id咸鱼炒白菜拿到远超3W月薪的offer,《安卓高级研修班》火热招生!!!

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (12)
雪    币: 15
活跃值: 活跃值 (97)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Dlnn 活跃值 2014-4-27 02:25
2
0
沙发 哈哈 基佬乃好
雪    币: 248
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
紫夜星纱 活跃值 2014-4-27 10:04
3
0
楼主受一枚,鉴定完毕
雪    币: 177
活跃值: 活跃值 (255)
能力值: (RANK:290 )
在线值:
发帖
回帖
粉丝
viphack 活跃值 4 2014-4-28 10:14
4
0
←_←忘记丢附件了!上课回去搞
雪    币: 129
活跃值: 活跃值 (41)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
xSpy 活跃值 2 2014-4-28 13:24
5
0
看标题我还以为是老V
雪    币: 177
活跃值: 活跃值 (255)
能力值: (RANK:290 )
在线值:
发帖
回帖
粉丝
viphack 活跃值 4 2014-4-28 21:52
6
0
让你失望了~ ~ 忙了一晚上
雪    币: 727
活跃值: 活跃值 (443)
能力值: (RANK:400 )
在线值:
发帖
回帖
粉丝
莫灰灰 活跃值 9 2014-5-1 23:22
7
0
还是读书那会最舒服啊。
雪    币: 255
活跃值: 活跃值 (18)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
AioliaSky 活跃值 1 2014-5-1 23:43
8
0
隐藏IDT hook的绝招啊
雪    币: 151
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
gxkm 活跃值 2014-5-2 00:50
9
0
真是羡慕这些读书的学生啊
雪    币: 18
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
OXFFFFFFFE 活跃值 2014-5-2 02:18
10
0
这个开起来很厉害的样子
雪    币: 2032
活跃值: 活跃值 (1075)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
caolinkai 活跃值 2014-5-2 09:47
11
0
这方法论坛上早就有了。。。。。。。
雪    币: 334
活跃值: 活跃值 (25)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
JoySauce 活跃值 1 2014-5-3 10:50
12
0
真以为是老V = =
雪    币: 239
活跃值: 活跃值 (11)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
tangwenbin 活跃值 1 2014-5-4 09:51
13
0
每次看楼主发的帖子都感觉到真心蛋痛。。。
游客
登录 | 注册 方可回帖
返回