Softice使用指南(異域の蝸牛注:經典的調試工具,幾乎能調試所有程序.感謝ddcrack讓我看了這麼好的文章.分享)

  softice是異域の蝸牛瞭解到的最好的調試工具,對於沒有對它進行屏避的軟件都能較好的調試.不過本人並沒用它成功破解過軟件,有興趣的朋友先看看使用方法,自己鑽研鑽研,請看下面正題
Softice使用指南
安裝Softice   |
配置Softice   |
使用Softice

  安裝並配置好Softice後,我們就可以開始進入使用Softice的階段了,如果你沒有做好前面的工作,還是先返回去將Softice準備好,學軟件要一邊看一邊學習效果纔好。Softice的界面和操作都比較簡單,只要熟悉一些基本的命令之後就可以開始利用它爲我們服務了。有一點要提醒大家:SofticeWINDOWS啓動之前裝入系統中,然後將WINDOWS載入(因爲要控制、攔截WINDOWS的動作),所以它工作於系統的0級(即特權級)。當在WINDOWS下用熱鍵呼出Softice後,它就控制了整個系統,此時任何其它的程序(包括系統時鐘)都將處於停止狀態。
  本文只是介紹Softice的基本使用方法,有關Softice的詳細使用方法請參閱隨軟件附帶的命令手冊和操作手冊,本站相關資料中有Softice的中文使用說明。

如何呼出/退出Softice——WINDOWS下可以隨時用熱鍵CTRL+D組合鍵呼出內存中的Softice,按F5功能鍵退出Softice

  FAQ問題解答:
  用CTRL+D不能呼出Softice怎麼辦?
    ——如果確保成功安裝了Softice,對於windows 9x請檢查批處理文件autoexec.bat中是否有winice.exe這一句,對於windows NT請在開始-〉程序-〉NuMega Softice”下選擇“Start SoftICE”啓動Softice試試。
  Softice的屏幕沒有任何顯示?
    ——開始-〉程序-〉NuMega Softice”下選擇“Display Adapter Setup”重新設置顯卡
  Softice中鼠標功能出現異常?
    ——開始-〉程序-〉NuMega Softice”下選擇“Mouse Setup”重新設置鼠標
  在顯卡設置中選擇了“Universal Video Driver”選項,但是Softice的呼出的仍然是全屏DOS界面?
    兩個對策:
    ——1. winice.dat的初始化命令行(即INIT)中的“LINES XX”數改小,例如:LINES 40
    ——2. 在顯卡設置中將“Manufacturer”強制改爲“StandardVGA”,然後“Test”,成功後退出。
  注意:以上的修改都要重新啓動系統後才能生效!!!

◆ Softice
的界面圖(由於Softice工作在系統0級,所以沒有辦法截取它的界面,這裏用TRW2000的界面圖來代替,兩者基本上是一樣的)
  關於寄存器區:修改寄存器的值有兩種辦法:1. 直接用鼠標點擊需要修改的地方進行修改;2. 用修改指令“R”,例如:R EAX ->修改寄存器EAXR FL ->修改標誌位(用“Insert”鍵改變標誌位狀態),R FLZ ->改變零標誌位的狀態(在01之間切換)。修改完寄存器值後按ESC鍵退回命令行狀態區。

  關於數據區:修改數據區的值有兩種辦法:1. 直接用鼠標點擊需要修改的地方(16進制顯示區或者字符形式顯示區)進行修改;2. 用修改指令“E”,例如:E XXXXXXXX ->修改內存地址XXXXXXXX處的數據,用TAB鍵在16進制顯示區和字符形式顯示區之間切換。修改完寄存器值後按ESC鍵退回命令行狀態區。
         查看數據區的內容的兩種方法:1. ALT+↑上下箭頭移動數據顯示區域;2. 直接用鼠標點擊數據窗口最右邊的上下箭頭(圖中沒有顯示出來)來移動顯示區域。

  關於程序區:機器代碼的顯示/關閉必須通過指令“CODE ON/OFF”來切換,Softice的默認工作畫面是沒有顯示機器代碼的。注意:程序的領空地域如圖所示,圖中的畫面正在破解WINZIP這個程序,當你看到“WINZIP32!.TEXT”字樣時說明程序已經返回到WINZIP的領空了^_^
         查看程序區的內容的兩種方法:1. CTRL+↑上下箭頭移動程序代碼顯示區域;2. 直接用鼠標點擊程序窗口最右邊的上下箭頭(圖中沒有顯示出來)來移動代碼顯示區域。

  關於命令區:是我們輸入各種命令,完成各種操作和控制,進行破解的地方。

  關於動作狀態區:輸入命令時顯示命令的用法及格式。

  關於堆棧區:只有TRW2000具有這個窗口區域。

◆ Softice
預定義功能組合鍵的作用
F1
F2

F3

F4

F5

F6

F7

F8

F9

F10

F11

F12

SHIFT+F3

CTRL+F8

CTRL+F9

CTRL+F10

CTRL+F11

CTRL+F12

ALT+F1

ALT+F2

ALT+F3

ALT+F4

ALT+F5

ALT+F8
幫助
寄存器顯示/關閉切換
源程序/反彙編代碼切換(程序有源程序時可用)
Softice
界面/屏幕原始畫面顯示切換
退出Softice窗口
進入/退出代碼窗口
程序運行到光標所在處
單步跟蹤
在光標所在位置設斷點
單步執行(跳過子程序CALL
程序執行到ES:ESP指向的地方
程序執行到RET指令處,即從子程序CALL中返回
改變數據窗口的顯示格式,按照字節->->雙字->短實型->長實型->10字節實型的方式循環顯示
模擬跟蹤模式中單步跟蹤
退出當前模擬跟蹤模式
模擬跟蹤模式中單步執行
從歷史跟蹤緩衝區的最後一條開始顯示指令
從最初的一條指令開始模擬跟蹤
顯示/關閉寄存器窗口
顯示/關閉數據窗口
顯示/關閉程序窗口
顯示/關閉監視窗口
清除命令窗口中的字符
模擬跟蹤模式中反方向單步跟蹤

◆ Softice
的常用命令用法介紹
命令形式
.
定位當前指令
當上下移動瀏覽代碼窗口中的內容時用這個命令能立即回到當前CS:EIP指令處,不用再慢慢的移動代碼窗口返回來。
? 表達式
計算表達式的值
Softice內置的計算器,16進製爲默認方式,下列均表示16進制數:FF1230x12310進制數須在前加+號(正數)或-號(負數),例如:+42-123-FF(對應10進制數-255)、+(20)(對應10進制數+32);字符形式加''號,例如:'A''ddcrack'。計算結果分別以16進制、10進制和ASCII字符方式顯示,例如:
? EAX
00000045 00000069 "E"
? 0073173+00066400
00796573 007955827 "yes"
A [地址]
寫入彙編代碼
用過DOSDEBUG的人對這個命令都不會陌生,用法:
A
  從當前CS:EIP處開始彙編
A XXXXXXXX
  從程序地址XXXXXXXX處開始彙編
U [地址]
反彙編代碼
U  從當前屏幕中最後一條指令的下一條指令開始反彙編
U XXXXXXXX
  從程序地址XXXXXXXX處開始反彙編
BC list | *
清除斷點
BC 3  清除斷點3
BC *
  清除所有斷點
BD list | *
禁止斷點
BD 3  禁止斷點3
BD *
  禁止所有斷點
BE list | *
恢復被禁止的斷點
BD 3  恢復斷點3
BD *
  恢復所有斷點
BH
顯示歷史斷點
顯示Softice中曾經設置過的斷點
BL
列出當前斷點
顯示當前Softice中所有設置的斷點,包括激活的和被禁止的斷點,被禁止的斷點前有“*”號表示。
BPE 斷點號
編輯斷點
BPE 3  編輯斷點3
BPINT 中斷號
對指定中斷設置斷點
BPINT 13  在13號中斷上設置斷點
BPIO 端口號
對指定I/O端口設置斷點
BPIO 378  在對端口378進行操作時中斷
BPM [地址]
對指定內存地址設置斷點
BPM XXXXXXXX  在對內存地址XXXXXXXX單元中的數據進行操作時中斷
BPR [開始地址] [結束地址]
在內存地址範圍設置斷點
BPR XXXXXXXX ********  在對內存地址從XXXXXXXX********單元中的數據進行操作時中斷
BPX [地址]
在指定處設置斷點
這是破解中最常用的命令之一了^_^
BPX
  在當前光標所在處設置斷點
BPX XXXXXXXX
  在XXXXXXXX處的指令上設置斷點
BPX GetDlgItemText
  在API函數GetDlgItemText上設置斷點
CODE ON/OFF
顯示/關閉指令機器碼
默認是不顯示的,在需要的時候再打開它,否則屏幕會顯得混亂。
D [地址]
顯示內存地址內容
可以具體指定下面的模式:DB 字節; DW ; DD 雙字; DS 短實型; DL 長實型; DT 10b長實型,默認是DB,即字節方式。
D
  將從繼上次命令之後的地址開始顯示
    D XXXXXXXX  顯示內存地址XXXXXXXX單元中的內容
E [地址]
修改內存單元
可以具體指定下面的模式:EB 字節; EW ; ED 雙字; ES 短實型; EL 長實型; ET 10b長實型,默認是EB,即字節方式。
E
  修改從繼上次命令之後的地址單元
    E XXXXXXXX  修改內存地址XXXXXXXX單元中的內容
H / HELP [命令]
獲取幫助信息
H  獲取所有幫助信息
HELP BPX
  獲取指令BPX的幫助信息
LINES 行數
設置SoftICE界面的行數
LINES 45  設置SoftICE的界面顯示行數爲45
VER
查看SoftICE的版本號
 
X
退出Softice
將控制權交還給被SoftICE中斷的程序,快捷鍵是F5,我們經常用到的。
EXIT
強行退出DOSWINDOWS程序
當出現致命錯誤致使Softice彈出後,如果用“X”指令沒有用,可以用它試一下。
WC
WD
WR
WW
顯示/關閉程序窗口
顯示/關閉數據窗口
顯示/關閉寄存器窗口
顯示/關閉監視窗口
其中WCWD可以指定窗口顯示的行數,例如:WD 4 表示顯示數據窗口爲4行
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章