| SoftIce for Win95/98 設定與用法簡介 |
|---|
1. 執行 SoftIce 的 Symbol Loader
2. Edit -- SoftIce Initialization Settings... -- 將 Initializatino String 改成 WR;WL;WD;CODE ON;X;
3. 在 softice 目錄中開啟 winice.dat
4. 到檔案的最後,把所有的 dll 模組前的分號刪除。像下面一樣
; ***** Examples of export symbols that can be included for cwin95 95
*****
; Change the path to the appropriate drive and directory
EXP=c:\cwin95\system\kernel32.dll
EXP=c:\cwin95\system\user32.dll
EXP=c:\cwin95\system\gdi32.dll
EXP=c:\cwin95\system\comdlg32.dll
EXP=c:\cwin95\system\shell32.dll
EXP=c:\cwin95\system\advapi32.dll
EXP=c:\cwin95\system\shell232.dll
EXP=c:\cwin95\system\comctl32.dll
EXP=c:\cwin95\system\crtdll.dll
EXP=c:\cwin95\system\version.dll
EXP=c:\cwin95\system\netlib32.dll
EXP=c:\cwin95\system\msshrui.dll
EXP=c:\cwin95\system\msnet32.dll
EXP=c:\cwin95\system\mspwl32.dll
EXP=c:\cwin95\system\mpr.dll
5. 進入 softice 看看﹕
當你按 CTRL-D 進入 softice 之後,視窗太概分為四個部份﹕
| Registers 和 Flags | 用 R 去修改 | R 是一個指令,你可以用它修改 register 的內容 |
| Data Window | 用 E 去修改, D 來看 | d (dump) 是看記憶體. e (edit) 修改記憶體內容. |
| Code Window | 用 A 去修改, U 來看 | A (assemble) 組譯 (修改) 例﹕A 00401234 -- 修改在 00401234 的組合語言碼 U (unassemble) 反組譯 (看) |
| Command Window | 像 DOS 一般 | 例如 d eax -- 看 eax 的記憶體內容 例如 ? eax -- 看 eax 的內容 |
BPM, BPMB, BPMW, BPMD - Breakpoint
on memory access
BPR - Breakpoint on memory range
BPIO - Breakpoint on I/O port access
BPINT - Breakpoint on interrupt
BPX - Breakpoint on
execution
BMSG - Breakpoint on Windows message
BSTAT - Breakpoint Statistics
CSIP - Set CS:EIP range qualifier
BPE - Edit breakpoint
BPT - Use breakpoint as a template
BL - List current
breakpoints
BC - Clear breakpoint
BD - Disable breakpoint
BE - Enable breakpoint
BH - Breakpoint
history
常用的用綠色表示
通常註冊碼都是輸入在 Windows 的對話框中。用 C 語言寫的程式也是用以下的函數 如果以下的函數不能用,那程式可能是用 Visual Basic 寫的.
用法﹕Bpx 函數
例如﹕Bpx GetDlgItemTextA
| 16-bit 程式 | 32-bit 程式 |
| GetWindowText | GetWindowTextA, GetWindowTextW |
| GetDlgItemText | GetDlgItemTextA, GetDlgItemTextW |
R - Display/change register contents
U - Un-assembles instructions
D, DB, DW, DD, DS, DL, DT - Display memory
E, EB, EW, ED, ES, EL, ET - Edit memory
F1 - Help
F5 - RUN
F8 - Trace (into call)
F10 - Trace (not into call)
F11 - RET
| 小恐龍工作坊 提供 |
|---|