找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 6391|回复: 4

逆向Gdiquerytable函数遇到的问题

[复制链接]

1

主题

19

回帖

0

精华

铜牌会员

积分
47
发表于 2012-9-9 13:10:10 | 显示全部楼层 |阅读模式
我用ida f5了Gdiquerytable这个未公开函数,得到的结果让我很困惑,大侠帮忙看看


环境:Windows 7 sp1  x86 32bit系统
工具:IDA  hex-rays
目标:GdiQueryTable函数

int __cdecl GdiQueryTable()
{
   int result; // eax@3
   int v1; // [sp+0h] [bp-8h]@1
   char v2; // [sp+4h] [bp-4h]@1

  v1 = -1;
   v2 = 0;
   if ( NtVdmControl(14, &v1) >= 0 && v2 )//v2不是明显为0么?这个if难道不是一直为false么?奇怪啊
     result = dword_77BA900C;
   else
     result = 0;
   return result;
}
v2不是明显为0么?这个if难道不是一直为false么?奇怪啊
谢谢了

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2012-9-9 16:09:26 | 显示全部楼层
有啥好大惊小怪的,分明就是IDA的F5插件搞错了呗。

1

主题

19

回帖

0

精华

铜牌会员

积分
47
 楼主| 发表于 2012-9-9 16:19:25 | 显示全部楼层
本帖最后由 msmvp 于 2012-9-11 14:09 编辑
Tesla.Angela 发表于 2012-9-9 16:09
有啥好大惊小怪的,分明就是IDA的F5插件搞错了呗。


我反复看了下,我觉得F5没有错。

1

主题

19

回帖

0

精华

铜牌会员

积分
47
 楼主| 发表于 2012-9-11 14:10:17 | 显示全部楼层
TA兄,能否帮忙分析下为什么?
windows 7下总是返回0(NULL)
我看了下xp下的实现,就是mov eax,_pgdihandletable返回而已,故而成功。
能否在不hook的前提下解决这个问题?谢谢了

1

主题

19

回帖

0

精华

铜牌会员

积分
47
 楼主| 发表于 2012-9-14 23:20:39 | 显示全部楼层
TA兄?
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表