首页
社区
课程
招聘
如何设Visual C++调用MSDN的消息的断点?
发表于: 2005-9-23 14:27 6754

如何设Visual C++调用MSDN的消息的断点?

2005-9-23 14:27
6754
大家好,我是刚刚加入看雪论坛的kenneth,请教一个问题,希望大家可以多多指教。
    问题是这样的:如何在Visual C++ 6中调用最新的MSDN?网上看见个文章是英文的,我简单说一下。
    如果你没有安装MSDN,当你按下F1时将弹出一个消息框说你没有安装MSDN。设置一个断点在MessageBox。按F1调试器将弹出,看一下栈,你将发现函数调用了"C:\Program Files\Common Files\Microsoft Shared\VS98\vshelp.dll"。
    我的问题是如何下断点在这个MessageBox呢?文章上说如果你有SoftIce这将是很容易的事情。但是我是XP的系统好象不可以装SoftIce,我只用过OlleDbg。我用OD载入以后,你知道全是些汇编代码,我如何找到这个MessageBox呢?
    希望高手们可以告诉我一下,谢谢了。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 44229
活跃值: (19965)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
OD的命令插件里下断:
bp MessageBoxA
或bp MessageBoxW
2005-9-23 16:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
先要感谢看雪大哥的指导,我自己实践了一下,用OD载入后,我直接在命令行插件那里输入bp MessageBoxA或者bp MessageBoxW,然后按Enter键,没有反映啊,不象我以前脱壳的时候,马上就可以去下硬件断点,这是不是意味着没有断到啊。
是不是我理解上有问题,还望高手可以告诉我,因为我也是初学,不懂啊,呵呵。
2005-9-24 16:14
0
雪    币: 44229
活跃值: (19965)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
4
OD如下断成功是没提示的,然后你执行程序,当调用相关API就中断。建议你用Windows记事本试试,随便输入内容,直接关闭记事本,会提示你保存,此时就会调用MessageBoxW函数。
OD输入API时注意大小写。
2005-9-24 16:22
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
经过看雪大哥的指导,我用NotePad做试验,用OD载入后,在命令行插件下直接下命令bp MessageBoxW,然后F9,运行后我随便输入了几个数字,然后点关闭,就可以在堆栈看到断下的信息。但是当我用OD载入Visual C++后,下命令bp MessageBoxW后,运行,只出现VC的启动画面,然后看堆栈没有反映,我继续F9或者单步都没有反映,也就是说VC不运行下去了。没有继续运行我也就没有办法去点MSDN这个菜单,无法触发MessageBoxW,无法断到有用的信息。
  除了MessageBoxW我们还可以下什么断点?比如说,如果我们要想知道比如说IE中的工具菜单下的管理加载项是调用了什么,我们怎么去下这个断点呢?
2005-9-26 14:34
0
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
看看OD下面有不有什么要你按shift+F8/F9之类的提示
2005-9-26 15:01
0
雪    币: 671
活跃值: (723)
能力值: ( LV9,RANK:1060 )
在线值:
发帖
回帖
粉丝
7
但是当我用OD载入Visual C++后,下命令bp MessageBoxW后

你到底用哪个做调试器?
2005-9-26 15:58
0
雪    币: 222
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
OD调试的时候本来就都是汇编代码,如果你连这个都看不明白,那你也不要去修改它了,不过相信你用VC++不会连这点都不会吧。。。

先不要下断点,待VC运行后
bp MessageBoxA
然后按F1(可能被不行),直接在菜单里选帮助吧
-〉这样在弹出信息框时会被OD断下来,
后面就是你要做的工作。
2005-9-26 18:58
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
可能我没有表达清楚,我的问题就是我不下断点,OD载入后我点运行,它不运行知道吗?出现了一个异常,我Shift+F9跳过后,继续运行,有出现结束进程。知道是为什么吗?
2005-9-27 10:57
0
雪    币: 671
活跃值: (723)
能力值: ( LV9,RANK:1060 )
在线值:
发帖
回帖
粉丝
10
我的问题就是我不下断点,OD载入后我点运行,它不运行知道吗?出现了一个异常,我Shift+F9跳过后,继续运行,有出现结束进程。

如果你调试记事本程序是不会出现这个现象的,如果调试Anti-Dubug程序,请隐藏你的OD。
2005-9-27 11:17
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
OD载入后,用隐藏插件OD,F9运行程序,出现启动画面,然后可以单步几下,在
7C92EB94 >  C3              retn
下面显示:这里进程已经终止,推出代码80000004
没办法了,又下不去了,运行不了,还是请高手赐教啦啊!
我给大家一个codeproject上原文的连接,供大家参考吧!http://www.codeproject.com/macro/VSNetHelp.asp
我就是想实现这样的功能。我自己调试的是E:\Microsoft Visual Studio\Common\MSDev98\Bin\MSDEV.exe
2005-9-27 15:35
0
游客
登录 | 注册 方可回帖
返回
//