簡介
SoftICE單獨發行的最高版本是SoftICE v4.3.2.2485,針對不同平台推出的相應的版本:DOS,Windows3.x,Windows 9x,Windows NT和Windows 2000。
初級使用法
由於某些原因,需要用到SoftICE調試工具,期間經歷了不少痛苦的歷程.打算寫出來,也算做個記錄吧.
我下載的Driver Studio 3.2.如果藍屏或者你的滑鼠會動不了,鍵盤卡住不動,請下載補丁.還有一種情況比較特殊我遇到的:鍵盤是
PS/2 接口,而滑鼠是USB接口,這時候似乎沒其他的辦法,只有花錢讓接口統一了.
當初第一次調試程式時,網上查了無數的資料,還是不得其解. 後來還是看USING SOFTICE.PDF看來的.
1.先打開softice,後打開symbol loader 軟體.默認路徑如下:
[開始]->[所有程式]->[compuware DriverStudio]->[
debug]->[start softice]
[開始]->[所有程式]->[compuware DriverStudio]->[debug]->[symbol loader]
2.在Symbol loader中 [
FILE]->[OPEN].打開生成的檔案.一般是.exe或者.dll吧.
3.然後[Module]->[Translate]這步是為了把.pdb軟體轉換成.nms檔案..nms檔案是
SoftICE特有的調試檔案.
4.最後[Module]->[Load]把.nms載入.
那如何確定你確實載入了symbol呢?用File指令.如下:
File *
然後SoftICE會列出已經載入的
符號表.如果沒載入.請重複Symbol loader[2-4]操作.
這時候你是不是很開心了呢?哈哈,別高興太早了.
你在SoftICE命令視窗中輸入
bpx ntdll!ZwRaiseException
會出現
(Symbol not defined ).
是不是崩潰 了?如果不能下核心API,我用SoftICE乾什麼!OD多好使啊.雖然OD用得不多.
不過喜歡OD可以邊聽歌,邊幹活.
其實解決辦法很簡單.
在C:\WINDOWS\system32\drivers目錄下修改Winice.dat.(即去掉分號).
修改後檔案如下:
NMI=ON
VERBOSE=ON
HST=10240
DRAWSIZE=10240
INIT="X; width 160;lines 70;set font 2;wl;wt;wd;ws;"
SYM=512
DISASSEMBLYHINTS=ON
LOWERCASE=OFF
CODEMODE=OFF
SELECTORS=ON
CHECKSTRINGS=ON
AUTOCONNECT=OFF
NETSUPPORT=OFF
HOSTNAME=MICROSOF-47742B
F1="h;"
F2="^wr;"
F3="^src;"
F4="^rs;"
F5="^x;"
F6="^ec;"
F7="^here;"
F8="^t;"
F9="^bpx;"
F10="^p;"
F11="^G *SS:ESP;"
F12="^p ret;"
AF1="^wr;"
AF2="^wd;"
AF3="^wc;"
AF4="^ww;"
AF5="CLS;"
AF11="^dd dataaddr->0;"
AF12="^dd dataaddr->4;"
CF1="altscr off; lines 60; wc 32; wd 8;"
CF2="^wr;^wd;^wc;"
MACROS=32
MOUSE=ON
ECHOKEYS=OFF
NOLEDS=OFF
NOPAGE=OFF
PENTIUM=ON
THREADP=ON
SIWVIDRANGE=ON
MENU=Copy , NMPD_COPY ,0
MENU=Paste , NMPD_PASTE ,0
MENU=Copy&Paste , NMPD_COPYANDPASTE ,0
MENU=Display , NMPD_DISPLAY ,0
MENU=Un-Assemble , NMPD_UNASSEMBLE ,0
MENU=What , NMPD_WHAT ,0
MENU=Prev , NMPD_PREV ,0
MENU=Reip , r eip %cp% ,0
MENU=Add Watch , watch %cp% ,0
MENU=Break On Text, bpx %cp% ,0
MENU=Name , name %cp% ,4
; WINICE.DAT
; for use with SoftICE for Windows NT (versions 3.0 and greater)
;
; ***** Examples of export symbols that can be included *****
; Change the path to the appropriate drive and directory
(下面的分號全去了,;代表注釋)
EXP=C:\WINDOWS\System32\hal.dll
EXP=C:\WINDOWS\System32\csrsrv.dll