[2013年4月23日]xspy.by.lynnux
本帖最后由 lynn 于 2013-4-24 08:50 编辑mfcspy大概只支持到vc6.0吧,这个xspy继承mfcspy,目标是支持所有mfc版本。并且加入对ATL/WTL的简单分析。
changelog:
2013年4月23日
0.3版本,初步支持x64位,暂时只测试了mfc90编译的x64程序
以后更新会放慢,根据使用反馈情况定
2013年4月23日
0.2版本发布,精确检测静态链接的MFC程序的信息,统一对各版本MFC的虚函数表的显示,暂时只支持mfc42和mfc90的CWnd和CDialog信息(因为我机子只有vs2008)。
2013年4月19日
0.1版本发布,暂时无MFC类成员变量信息显示
features:
借鉴mfcspy,目标是支持所有mfc版本
支持ATL/WTL的简单分析
分析速度比mfcspy更快
TODO:
支持64位
本程序仅作学习交流研究之用,还有很多bug和不完善的地方,如果你发现无法分析的程序,有可能的话请将样本程序发送至
lynnux@qq.com,有建议或意见也请发送至这个邮箱,非常感谢!
greets:
特别感谢goldenegg http://bbs.pediy.com/showthread.php?s=&threadid=9805
另外感谢LoveMeiL http://bbs.pediy.com/showthread.php?p=1143082
0.2版本发布。
CWnd和CDialog信息暂时只有mfc42和mfc90显示得出来,其他MFC版本因我机子只装了VS2008没法弄,只能显示到CCmdTarget的虚函数那层,如果你想帮忙,请随便创建一个MFC对话框工程,在C++命令行里加入/d1reportAllClassLayout,然后编译,把输出窗口里的那些信息复制发送到lynnux@qq.com,当然请注明vs版本,最好连编译好的MFC程序一起发送过来。
不知道怎么用?能找按扭事件的断首吗? cxj98 发表于 2013-4-23 13:55 static/image/common/back.gif
不知道怎么用?能找按扭事件的断首吗?
借用mfcspy作者的原话:
楼主可以仔细讲解一下这个过程吗?
........ 就以mfcspy自己为例!
用它spy一下那个spy it的按钮,你可以看到结果如下
map HWND 000C05EA To CWnd* failed!
这不要紧,上面的框中出现了: 000C05EA(Button,id=03e9)
id=03e9很重要,记住它,
然后,spy一下mfcspy的主窗口,输出很长内容,最后一段如下:
message map=00403480(mfcspy.exe+003480)
msg map entries at 004033C0(mfcspy.exe+0033C0)
OnMsg:WM_SYSCOMMAND(0112),func=00401520(mfcspy.exe+001520)
OnMsg:WM_PAINT(000f),func=004015A0(mfcspy.exe+0015A0)
OnMsg:WM_QUERYDRAGICON(0037),func=00401650(mfcspy.exe+001650)
OnCommand: notifycode=0000 id=03e9,func=00401670(mfcspy.exe+001670)
OnMsg:WM_LBUTTONUP(0202),func=004017F0(mfcspy.exe+0017F0)
OnMsg:WM_MOUSEMOVE(0200),func=00401970(mfcspy.exe+001970)
OnMsg:0401,func=00401760(mfcspy.exe+001760)
注意这一行:
OnCommand: notifycode=0000 id=03e9,func=00401670(mfcspy.exe+001670)
这里有id=03e9!!跟上面的id一样
也就是说,点击那个铵钮的时候,mfc 会跳到 00401670 处执行
好东西 但是怎么没看到附件呢
回覆看看如何 回覆看看如何 Good stuff! 好工具,谢谢了 非常好的软件。。。
页:
[1]