逆向Gdiquerytable函数遇到的问题
我用ida f5了Gdiquerytable这个未公开函数,得到的结果让我很困惑,大侠帮忙看看环境:Windows 7 sp1x86 32bit系统
工具:IDAhex-rays
目标:GdiQueryTable函数
int __cdecl GdiQueryTable()
{
int result; // eax@3
int v1; // @1
char v2; // @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么?奇怪啊
谢谢了 有啥好大惊小怪的,分明就是IDA的F5插件搞错了呗。 本帖最后由 msmvp 于 2012-9-11 14:09 编辑
Tesla.Angela 发表于 2012-9-9 16:09 static/image/common/back.gif
有啥好大惊小怪的,分明就是IDA的F5插件搞错了呗。
我反复看了下,我觉得F5没有错。 TA兄,能否帮忙分析下为什么?
windows 7下总是返回0(NULL)
我看了下xp下的实现,就是mov eax,_pgdihandletable返回而已,故而成功。
能否在不hook的前提下解决这个问题?谢谢了 TA兄?
页:
[1]