Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1625回复:19

请问,如何用SoftIce调试不带源代码的驱动程序或应用程序?

楼主#
更多 发布于:2002-10-15 09:46
我想查看别人的应用程序、驱动程序、动态链接库等,我没有他的源代码,但我想通过SoftIce查看它的反汇编代码,结果我在装载的时候,Symbol Loader提示说找不到调试信息。
请问哪位高手知道如何调试反汇编代码?
Tom_lyd
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-10-15 09:54
如果要看反汇编,用IDA Pro!!!
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-10-15 13:18
那么如果我想调试呢?
Tom_lyd
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-10-15 13:36
那么如果我想调试呢?

那就只能看反汇编啊,用SymLoader可以装入啊
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-10-15 13:49
你的意思是说如果用SoftIce调试没有源代码的程序,需要先将其反汇编,然后再编译成带符号的文件再装入?对吗?
Tom_lyd
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-10-15 13:58
你的意思是说如果用SoftIce调试没有源代码的程序,需要先将其反汇编,然后再编译成带符号的文件再装入?对吗?

错!不是那个意思。
我的意思是用SoftIce直接调试汇编代码啊
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-10-16 15:57
那怎么装入?我最先提出的问题
Tom_lyd
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-10-16 16:14
那怎么装入?我最先提出的问题

我没做过
1,用SymLoader,传说会停在第一条指令
2,改文件,把第一个指令改成int 3
3,用VC调试,如果是Win32程序的话
以上几点是“或”的关系
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-10-16 16:21
我现在连Load都执行不了,怎么调试,怎么看汇编代码?我要调的程序是别人已经做好的.exe文件,没有源代码,也没有调试信息,我需要用SoftIce装载它,怎么装?怎么调试?
Tom_lyd
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-10-16 16:25
我现在连Load都执行不了,怎么调试,怎么看汇编代码?我要调的程序是别人已经做好的.exe文件,没有源代码,也没有调试信息,我需要用SoftIce装载它,怎么装?怎么调试?

那是Win32程序?你到现在都没说清楚!
如果是,用VC调试!SoftIce不是唯一的调试器!
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-10-16 16:48
都怪我没有说清楚,我想调试的程序可能是别人做好的EXE,也可能是别人写好的SYS,Win32程序当然可以是用VC调,但我是想知道用SoftIce调试它的方法。而对于没有源代码的SYS,则VC就没有用了,我想用SoftIce 装入经来调试,看一些执行的情况。不知这次我说清楚了没有。
Tom_lyd
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-10-16 17:00
都怪我没有说清楚,我想调试的程序可能是别人做好的EXE,也可能是别人写好的SYS,Win32程序当然可以是用VC调,但我是想知道用SoftIce调试它的方法。而对于没有源代码的SYS,则VC就没有用了,我想用SoftIce 装入经来调试,看一些执行的情况。不知这次我说清楚了没有。

清楚了
对了,我刚想起来,.sys不能自己运行啊,那你就写个程序就调用它,然后跟踪进去啊
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-10-16 17:29
不错,我可以写一个程序调用它,但是SoftIce不能装载这个驱动啊?
Tom_lyd
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-10-16 17:40
不错,我可以写一个程序调用它,但是SoftIce不能装载这个驱动啊?

为何要装载?
你用程序调用它,顺着你的程序就可以跟踪了,在你的程序里下断点啊。
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-10-16 17:52
你这招倒是高,不过还是没有解决我的问题,我记得以前有一位高人曾经说过其用SoftIce装载成功过Windows的某些内核,我不知道他是怎么装载的。
谢谢你的热心:)
Tom_lyd
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-10-16 17:55
你这招倒是高,不过还是没有解决我的问题,我记得以前有一位高人曾经说过其用SoftIce装载成功过Windows的某些内核,我不知道他是怎么装载的。
谢谢你的热心:)

我现在没装SI。
我想起来了,SI可以设定启动时装入的DLL和sys,你试试,不过小心你的机器启动不起来了。
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-10-16 17:58
你说的装载内核,应该指的就是这个。
起码在装SI时它就问你要装入哪些驱动,你也可以配置它
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
ooze
驱动牛犊
驱动牛犊
  • 注册日期2001-09-26
  • 最后登录2004-03-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-10-17 12:12
花子猫兄弟啊
没有release版本的也有symbol么?
没有的话,怎么微软的system32下的那些dll都可以用symbol loader load呢/
有的话,怎么symbol loader有时侯会说没找到symbol呢?
楼上上的兄弟,你先试下把那个.sys 或者是dll用symbol loader加载,可能还得重起系统:D
然后ctrl+d,设置breakpoint,你知道sys里面有啥函数了吧?就可以设置它为breakpooint le,
运行你的exe,当exe调用sys的函数的时候,就会进入si,

不过要保证symbol load可以load哪个.sys,否则失败了就不行
Be a true hacker of Windows NT alike
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2002-10-17 12:41
花子猫兄弟啊
没有release版本的也有symbol么?
没有的话,怎么微软的system32下的那些dll都可以用symbol loader load呢/
有的话,怎么symbol loader有时侯会说没找到symbol呢?
楼上上的兄弟,你先试下把那个.sys 或者是dll用symbol loader加载,可能还得重起系统:D
然后ctrl+d,设置breakpoint,你知道sys里面有啥函数了吧?就可以设置它为breakpooint le,
运行你的exe,当exe调用sys的函数的时候,就会进入si,

不过要保证symbol load可以load哪个.sys,否则失败了就不行

不懂,你是在问我还是在反问我?
我是花猫,不是花子猫!!! :mad: :mad: :mad: :mad: :mad:
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2002-10-17 12:42
Release版自己没有Sym吧,但Sym可以是一个单独文件吧,所以可以另外生成吧
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
游客

返回顶部