给还不能正常使用softice的新手看的,高手就可以跳过了
按照网上的教程在vmware里面安装完driverstudio3.2后net start ntice启动不了,
设置sc config ntice start= auto就可以启动了,
可是按下Ctrl+D键盘鼠标都没反应了,跟死机了差不多
后来试了一下,先打开cmd,然后按Alt+Enter全屏,然后Ctrl+D终于可以见到softice了,
可是这样很不方便,
然后在.vmx文件后面加上

代码:
svga.maxFullscreenRefreshTick = 5
vmmouse.present = "FALSE"
结果还是不行(这两句还是要的),
上网查了很多资料都没有解决,大概知道了跟显卡有关,换显卡是不现实的,
所以在仔细看了看vm的配置选项,反正只有一个选项
vm按下图配置即可

或者也可以修改.vmx文件,在最后面加上
代码:
svga.autodetect = "FALSE"
svga.maxWidth = "1280"
svga.maxHeight = "800"
svga.vramSize = "134217728"
再点Ctrl+D就出来了

最主要是svga.autodetect = "FALSE"这一句,其它的像分辨率尽量高吧,太低了会有黑边

  • 标 题:答复
  • 作 者:sltpgm
  • 时 间:2011-01-04 22:34:52

简单归纳一下softice的使用吧
准备工作:打开symbol Loader,在Exports选项里面添加dll文件,
为什么要这样呢,比如你要在AppendMenuA下断点,AppendMenuA是在user32.dll里面的,那么你要在Exports选项里面添加user32.dll,然后softice会加载user32.dll的所有函数,否则bpx AppendMenuA会提示找不到的。   又如果要在MFC的函数下断点,一般要加载mfcxx.dll(xx是版本,一般是mfc42.dll)。

下面开始了,可以参考这个例子http://www.pediy.com/tutorial/chap3/Chap3-4.htm
1.打开要调试的程序,Ctrl+D调出softice,如果softice太小可以把字体改大一点set font 3。

2.然后当然是下断点了,有IO断点等等一些命令,按F1可以看帮助,
一般还是用bpx,这个跟OD是一样的,大家应该知道,比如bpx GetDlgItemText,
bl可以查看断点列表,就是break list,显示的断点有编号
bd可以禁用断点,就是break disable,后面接编号,比如bd 3(禁用编号为3的断点),bd *(禁用所有断点)
be可以启用断点,就是break enable,用法跟bd一样
bc可以清除断点,就是break clear,用法也跟bd一样
bpe编辑断点,就是break point edit,用法也跟bd一样
这个bpx跟OD最大的区别就是这个是断在系统模块里面的,所以要按 F12或F11返回程序,而且不管被调试的程序做了什么样的变形系统模块总是没变的,调用api的时候总是能断下来的,所以可以带壳调试。

3.然后是常用控制方法,
下好断点后只要程序调用了被断的api这时softice就会自己跳出来,
F8  是单步步入,相当于OD的F7,
F10是单步步过,相当于OD的F8,
F12是从call中返回,
F7是运行到光标处,相当于OD的F4,
那么OD里面还有个F9是运行程序,softice里面是什么呢?
没有!
softice的界面出来的时候除了softice以外所有程序都暂停运行,连系统时钟都不动了,再次按下Ctrl+D或者F5隐藏softice的时候其它程序又可以运行了,所以要运行程序的时候按下Ctrl+D就可以了,遇到断点softice自己会弹出来。
如果只是想看一下被调试程序的界面,不想让它运行,可以按F4隐藏softice的界面,再次按F4又出来了。

4.其它命令
D  显示内存地址内容,就是data的首字母缩写,比如d eax(显示eax的地址的内容),d 12fe23(显示0x0012fe23处的内容)
E  修改内存单元,就是edit的首字母缩写,跟D用法一样
R  修改寄存器的值,就是register的首字母缩写,比如recx(修改ecx的值),r fl(修改标志位)
如果玩过dos汇编的话这几个命令应该很熟,cmd里面的debug就是这样的。
修改寄存器其实用鼠标操作也很方便,直接用鼠标点要编辑的寄存器然后编辑就可以了,
比如我们要修改一个jz的跳转,可以修改0标志位,直接点击标志位Z,亮了zf就是1,再点一下zf就是0。
?  计算表达式的值,相当于OD的calc
有了这些基本上可以使用softice了,其它的命令可以自己去查,softice我也是第一次用。