SoftIce

SoftICE是Compuware SoftICE特有的調試檔案. 這時候SoftICE會自動攔截到main

簡介

SoftICECompuware NuMega公司的產品,是目前公認最好的系統級調試工具!兼容性和穩定性極好,可在原始碼級調試各種應用程式和設備驅動程式,也可使用TCP/IP連線進行遠程調試。ICE的含義
ICE(In Circuit Emulator)即實體電路模擬器,是用來跟蹤軟體執行動作細節的一個模擬CPU的電子設備。當然這種設備價格昂貴,不是常人所能擁有的。NuMega公司推出的Soft "ICE",意思是靠軟體實現ICE的功能。
SoftICE單獨發行的最高版本是SoftICE v4.3.2.2485,針對不同平台推出的相應的版本:DOS,Windows3.x,Windows 9x,Windows NT和Windows 2000。

初級使用法

由於某些原因,需要用到SoftICE調試工具,期間經歷了不少痛苦的歷程.打算寫出來,也算做個記錄吧.
我下載的Driver Studio 3.2.如果藍屏或者你的滑鼠會動不了,鍵盤卡住不動,請下載補丁.還有一種情況比較特殊我遇到的:鍵盤是PS/2 接口,而滑鼠是USB接口,這時候似乎沒其他的辦法,只有花錢讓接口統一了.
SoftICE第一次調試程式
當初第一次調試程式時,網上查了無數的資料,還是不得其解. 後來還是看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載入.
這時候SoftICE會自動攔截到main入口點.
那如何確定你確實載入了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;"
SF3="^format;"
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
; (SystemRoot\System32\Drivers\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\ntoskrnl.exe
EXP=C:\WINDOWS\System32\ntdll.dll
EXP=C:\WINDOWS\System32\kernel32.dll
EXP=C:\WINDOWS\System32\user32.dll
EXP=C:\WINDOWS\System32\csrsrv.dll
EXP=C:\WINDOWS\System32\basesrv.dll
EXP=C:\WINDOWS\System32\winsrv.dll

相關詞條

相關搜尋

熱門詞條

聯絡我們