阅读:1625回复:19
请问,如何用SoftIce调试不带源代码的驱动程序或应用程序?
我想查看别人的应用程序、驱动程序、动态链接库等,我没有他的源代码,但我想通过SoftIce查看它的反汇编代码,结果我在装载的时候,Symbol Loader提示说找不到调试信息。
请问哪位高手知道如何调试反汇编代码? |
|
|
沙发#
发布于:2002-10-15 09:54
如果要看反汇编,用IDA Pro!!!
|
|
|
板凳#
发布于:2002-10-15 13:18
那么如果我想调试呢?
|
|
|
地板#
发布于:2002-10-15 13:36
那么如果我想调试呢? 那就只能看反汇编啊,用SymLoader可以装入啊 |
|
|
地下室#
发布于:2002-10-15 13:49
你的意思是说如果用SoftIce调试没有源代码的程序,需要先将其反汇编,然后再编译成带符号的文件再装入?对吗?
|
|
|
5楼#
发布于:2002-10-15 13:58
你的意思是说如果用SoftIce调试没有源代码的程序,需要先将其反汇编,然后再编译成带符号的文件再装入?对吗? 错!不是那个意思。 我的意思是用SoftIce直接调试汇编代码啊 |
|
|
6楼#
发布于:2002-10-16 15:57
那怎么装入?我最先提出的问题
|
|
|
7楼#
发布于:2002-10-16 16:14
那怎么装入?我最先提出的问题 我没做过 1,用SymLoader,传说会停在第一条指令 2,改文件,把第一个指令改成int 3 3,用VC调试,如果是Win32程序的话 以上几点是“或”的关系 |
|
|
8楼#
发布于:2002-10-16 16:21
我现在连Load都执行不了,怎么调试,怎么看汇编代码?我要调的程序是别人已经做好的.exe文件,没有源代码,也没有调试信息,我需要用SoftIce装载它,怎么装?怎么调试?
|
|
|
9楼#
发布于:2002-10-16 16:25
我现在连Load都执行不了,怎么调试,怎么看汇编代码?我要调的程序是别人已经做好的.exe文件,没有源代码,也没有调试信息,我需要用SoftIce装载它,怎么装?怎么调试? 那是Win32程序?你到现在都没说清楚! 如果是,用VC调试!SoftIce不是唯一的调试器! |
|
|
10楼#
发布于:2002-10-16 16:48
都怪我没有说清楚,我想调试的程序可能是别人做好的EXE,也可能是别人写好的SYS,Win32程序当然可以是用VC调,但我是想知道用SoftIce调试它的方法。而对于没有源代码的SYS,则VC就没有用了,我想用SoftIce 装入经来调试,看一些执行的情况。不知这次我说清楚了没有。
|
|
|
11楼#
发布于:2002-10-16 17:00
都怪我没有说清楚,我想调试的程序可能是别人做好的EXE,也可能是别人写好的SYS,Win32程序当然可以是用VC调,但我是想知道用SoftIce调试它的方法。而对于没有源代码的SYS,则VC就没有用了,我想用SoftIce 装入经来调试,看一些执行的情况。不知这次我说清楚了没有。 清楚了 对了,我刚想起来,.sys不能自己运行啊,那你就写个程序就调用它,然后跟踪进去啊 |
|
|
12楼#
发布于:2002-10-16 17:29
不错,我可以写一个程序调用它,但是SoftIce不能装载这个驱动啊?
|
|
|
13楼#
发布于:2002-10-16 17:40
不错,我可以写一个程序调用它,但是SoftIce不能装载这个驱动啊? 为何要装载? 你用程序调用它,顺着你的程序就可以跟踪了,在你的程序里下断点啊。 |
|
|
14楼#
发布于:2002-10-16 17:52
你这招倒是高,不过还是没有解决我的问题,我记得以前有一位高人曾经说过其用SoftIce装载成功过Windows的某些内核,我不知道他是怎么装载的。
谢谢你的热心:) |
|
|
15楼#
发布于:2002-10-16 17:55
你这招倒是高,不过还是没有解决我的问题,我记得以前有一位高人曾经说过其用SoftIce装载成功过Windows的某些内核,我不知道他是怎么装载的。 我现在没装SI。 我想起来了,SI可以设定启动时装入的DLL和sys,你试试,不过小心你的机器启动不起来了。 |
|
|
16楼#
发布于:2002-10-16 17:58
你说的装载内核,应该指的就是这个。
起码在装SI时它就问你要装入哪些驱动,你也可以配置它 |
|
|
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,否则失败了就不行 |
|
|
18楼#
发布于:2002-10-17 12:41
花子猫兄弟啊 不懂,你是在问我还是在反问我? 我是花猫,不是花子猫!!! :mad: :mad: :mad: :mad: :mad: |
|
|
19楼#
发布于:2002-10-17 12:42
Release版自己没有Sym吧,但Sym可以是一个单独文件吧,所以可以另外生成吧
|
|
|