什么工具可以反查VC或API中的宏定义,如从反汇编得到控制码,标志值等,得到它们的宏表示。
比如指定API函数CreateFileA()的第二个参数数值(0x80000000L),要反查宏名称,能得到GENERIC_READ,像这样的工具。因为反出来的有些位段或...
比如指定API函数CreateFileA()的第二个参数数值(0x80000000L),要反查宏名称,能得到GENERIC_READ,像这样的工具。因为反出来的有些位段或控制码在VC中不容易找到。谢谢!
谁帮我解析一下两个调用的第二个参数
CreateFile(lpSrc, 0x1020000, ...)
CreateFile(lpDst, 0xC11F0000, ...) 展开
谁帮我解析一下两个调用的第二个参数
CreateFile(lpSrc, 0x1020000, ...)
CreateFile(lpDst, 0xC11F0000, ...) 展开
3个回答
展开全部
VC中,选中CreateFile按F1从MSDN中去查。查到CreateFile第二个变量的可能值为GENERIC_READ和GENERIC_WRITE然后把GENERIC_READ复制到VC中。选中右建go def....
就可以找到
#define GENERIC_READ (0x80000000L)
#define GENERIC_WRITE (0x40000000L)
#define GENERIC_EXECUTE (0x20000000L)
#define GENERIC_ALL (0x10000000L)
麻烦是麻烦点儿,但总是能找到的。预到别人写代码都不用宏的就只能这样做了。
就可以找到
#define GENERIC_READ (0x80000000L)
#define GENERIC_WRITE (0x40000000L)
#define GENERIC_EXECUTE (0x20000000L)
#define GENERIC_ALL (0x10000000L)
麻烦是麻烦点儿,但总是能找到的。预到别人写代码都不用宏的就只能这样做了。
展开全部
不用反汇编啊,在VS里光标放在那个宏上按F12就可以了
追问
谢谢!不过我指的反向。
追答
这个不太好办,因为对应着的0x80000000L的宏可能有N个
如果是调试的话在这里打上断点然后查看程序调用堆栈可以找到是从哪里调用过来的,然后往上找就能最终找到这个宏
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知你用什么调试器,对于宏名称,ollydbg和IDA一般在注释部分都会显示。
在VC中找不到的可能是程序本身对代码处理过,
在VC中找不到的可能是程序本身对代码处理过,
追问
O谢谢 不过OD里面怎么设置才能显示这些宏呢?默认安装好像没有额。
另外问一下,微软符号库能下到本地用么,因为我的机子过滤了微软网站。
追答
OD的默认注释,不用设置
微软符号库可以下,机子过滤了微软网站?没听过,打不开微软网站倒是听说过
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询