例如,IDA Pro在库api-ms-win-security-base-l1-2-0中显示包含函数CheckTokenMembership的导入表
检查API调用的MSDN信息https://msdn.microsoft.com/en-us/library/windows/desktop/aa376389(v=vs.85).aspx它是否在advapi32.dll中
然而尝试
bp advapi32!CheckTokenMembership
导致错误无法解决'advapi32!CheckTokenMembership'
中的错误答案 0 :(得分:1)
CheckTokenMembership
始终将由advapi32.dll导出。问题是,如果您有所述模块的符号,WinDbg将使用符号名称。
我要做的是输入bp ADVAPI32!CheckTokenMembership
,然后按标签,最后应该输入bp ADVAPI32!CheckTokenMembershipStub
。这个技巧并不适用于所有事情,有时候你必须自己弄清楚前进或者看看ntdll.dll和kernelbase.dll导出。
api文件不包含代码,它们只是Microsoft出于某种原因强迫每个人进行的分层练习。我相信它们是MinWin实验的结果,它们可能有一天会包含代码,但即便如此,kernel32和朋友仍然会拥有转发器以保持兼容性,因此Microsoft以外的任何人都没有理由使用api文件(IMHO)。
答案 1 :(得分:0)
我在崩溃转储文件上验证了advapi32.dll导出CheckTokenMembership函数,因此应该可以设置断点。在您的方案中,模块可能尚未加载,那么如何尝试“bu”'代替?来自WinDbg帮助:
76b51ca2 advapi32!CheckTokenMembership()