首页
社区
课程
招聘
一个简单问题,赋值为啥不对,ULONG test = *(PULONG)KeAddSystemServiceTable;
发表于: 2013-4-4 23:44 4595

一个简单问题,赋值为啥不对,ULONG test = *(PULONG)KeAddSystemServiceTable;

2013-4-4 23:44
4595
ULONG test = *(PULONG)KeAddSystemServiceTable;

在windbg里面调试的时候,想在后面这个到处函数中搜索,
我直接把这个地址的值弄出来赋值给一个ULONG,然后查看数据
kd> dd test
f8214c44  301825ff 00000000 00000000 00000000
f8214c54  f8214c7c f80bf3e7 00220020 f80c3078
f8214c64  00000000 001a0018 f80c305c 8238ef18
f8214c74  0000001c f8214d4c f8214d4c 8057777f
f8214c84  828ab458 8237a000 00000000 b2b12cf4
f8214c94  00000000 00000018 00000000 f8214cc0
f8214ca4  00000010 00000000 00000000 828ab458
f8214cb4  f8214d70 823b2770 8237a000 00160016
kd> dd KeAddSystemServiceTable
80597784  8b55ff8b 187d83ec 8b607703 e0c11845
80597794  a0b88304 0080553f 888d5175 80553f60
805977a4  75003983 187d8346 08558b01 10758b56
805977b4  147d8b57 4d8b1189 6488890c 8980553f
805977c4  553f68b0 6cb88980 7480553f a0908918
805977d4  8980553f 553fa488 a8b08980 8980553f
805977e4  553facb8 01b05f80 3202eb5e 14c25dc0
805977f4  cccccc00 ff8bcccc 83ec8b55 7703087d

为啥取出来不是这个值啊~~~

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 601
活跃值: (256)
能力值: ( LV11,RANK:190 )
在线值:
发帖
回帖
粉丝
2
ULONG test = (ULONG)KeAddSystemServiceTable;
2013-4-5 01:31
0
雪    币: 72
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
__try
        {
                if(KeAddSystemServiceTable)
                        KdPrint(("\n\nKeAddSystemServiceTable=%x\n",KeAddSystemServiceTable));
                ULONG test;
                test = *(PULONG)KeAddSystemServiceTable;
        KdPrint(("test=%x\n",test));
        }
        __except(EXCEPTION_EXECUTE_HANDLER)
        {
                KdPrint(("异常\n"));
        }

一切正常  试试
2013-4-5 02:40
0
雪    币: 48
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
ULONG test = *(PULONG)KeAddSystemServiceTable;
ULONG test1 = (ULONG)KeAddSystemServiceTable;

kd> dd KeAddSystemServiceTable
80597784  8b55ff8b 187d83ec 8b607703 e0c11845
80597794  a0b88304 0080553f 888d5175 80553f60
805977a4  75003983 187d8346 08558b01 10758b56
805977b4  147d8b57 4d8b1189 6488890c 8980553f
805977c4  553f68b0 6cb88980 7480553f a0908918
805977d4  8980553f 553fa488 a8b08980 8980553f
805977e4  553facb8 01b05f80 3202eb5e 14c25dc0
805977f4  cccccc00 ff8bcccc 83ec8b55 7703087d
kd> dv test
           test = 0x201825ff
kd> dv test1
          test1 = 0xb207e570

我真是 有一种要崩溃的感觉。。
2013-4-5 08:19
0
雪    币: 48
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
KeAddSystemServiceTable=b1f7e606
test=201c25ff

咋是这样了= =
2013-4-5 08:25
0
雪    币: 524
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
ULONG test = *(PULONG)KeAddSystemServiceTable;//把KeAddSystemServiceTable里面的值作为地址去访问这个地址中的类型为ulong的值赋给test
ULONG test1 = (ULONG)KeAddSystemServiceTable;//直接把KeAddSystemServiceTable中的值赋给test1

两句目的不一样哦
2013-4-5 09:02
0
雪    币: 48
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
噢 对 这个对,晕头了。。。

不过第一个问题,*(PULONG)取出来赋值给TEST,这两只为啥不一样呢。。
2013-4-5 09:31
0
雪    币: 48
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
晕 结贴啦,声明导出函数的时候没有加dllimport,然后发现他好像赋值的不是nt!KeAddSystemServiceTable,而是我自己程序的yyy!KeAddSystemServiceTable,然后里面好像是个jmp到nt的实现,好+_+。。。不过至少解决鸟~~~遗留问题待解决
2013-4-5 10:26
0
游客
登录 | 注册 方可回帖
返回
//