SoftICE for WIN95中文命令解說(三)
互聯(lián)網(wǎng) 發(fā)布時(shí)間:2008-10-08 22:12:56 作者:佚名
我要評論

SoftICE for WIN95中文命令解說(三) Copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei 命令: BPINT 作用: 在某個(gè)中斷向量上下斷點(diǎn) 語法: BPINT int-number [IF expression][DO "command1;command2;..."] 用法: int-number : 中斷向量號(hào),
SoftICE for WIN95中文命令解說(三) Copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei 命令: BPINT 作用: 在某個(gè)中斷向量上下斷點(diǎn) 語法: BPINT int-number [IF expression][DO "command1;command2;..."] 用法: int-number : 中斷向量號(hào),從0到FFHIF expression: 條件表達(dá)式,只有條件為"真"時(shí),Sof- tICE才在斷點(diǎn)處彈出Do command : 當(dāng)SICE彈出時(shí),自動(dòng)執(zhí)行的一些命令.當(dāng)在硬中斷和CPU異常出錯(cuò)的向量上下斷點(diǎn)時(shí),SoftICE會(huì)在處理這個(gè)中斷的過程的第一條語句時(shí)彈出.而軟件中斷則停在INT XX處.注意:BPINT只對由中斷描述符表中的中斷起作用(WIN95).如果在一個(gè)DOS虛擬機(jī)(DOS窗口)中下此種斷點(diǎn), 控制是由保護(hù)模式轉(zhuǎn)到虛擬機(jī)的中斷向量表中去.這時(shí)如果說停在INT XXH 處, 你用F8跟下去,是一下子看不到對這個(gè)中斷的實(shí)模式處理過程的,要走很遠(yuǎn),這時(shí)可用:G @ $ 0:int-number*4 來一下子走到實(shí)模式處的處理過程. 點(diǎn)評: 注意! SoftICE30的命令手冊(英文版PDF格式在此處寫錯(cuò)了!把$寫成&了!)($意思是告訴SoftICE 后跟實(shí)模式的段.以后有專門論及這些符號(hào)的文章.) 如果你是在DOS窗口中用命令行調(diào)一個(gè)東西, 這時(shí) G @ 0:intno*4也可以,這時(shí)默認(rèn)的SELECTOR就是實(shí)模式,選擇符存在.但如果在EXPLORER中直接雙擊一個(gè)程序, 拿INT 21H來說,一開頭是在KERNEL中,就非得用 $ 不行了!另外:由于有了IF 子句,可以很方便地下各種INT XX斷點(diǎn),比如在文件打開中斷功能上下斷點(diǎn) bpint 21 if ah==3d 命令: BPIO 作用: 在輸入輸出端口上下斷點(diǎn) 語法: BPIO [-h] port [verb] [IF expression][DO "command1;command2;..."] 用法: port : 端口號(hào)verb : 進(jìn)行什么樣的操作時(shí)彈出,R為讀;W為 寫 ;RW為讀寫IF expression: 條件表達(dá)式,只有條件為"真"時(shí),Sof- tICE才在斷點(diǎn)處彈出Do command : 當(dāng)SICE彈出時(shí),自動(dòng)執(zhí)行的一些命令.-h : 用硬件除錯(cuò)寄存器在VxD中下斷點(diǎn),只 在PENTIUM級(jí)的芯片上才行當(dāng)SoftICE彈出時(shí),CS:EIP停在執(zhí)行I/O操作的下一條指令處.如果不帶參數(shù) verb,默認(rèn)為RW.注意:在WIN95中,若不帶-h參數(shù),則只能在RING 3中下斷, 若要跟 VXD和VMM的I/O操作,請加-h.WIN95本身用VXD掛了很多I/O操作,用TSS可以看到 點(diǎn)評: 可以參看后面要講的TSS命令. 命令: BPM 作用: 在內(nèi)存單元上下斷點(diǎn) 語法: BPM[size] address [verb] [debug-reg] [IF expression][DO "command1;command2;..."] 用法: size : 內(nèi)存單元大小,B 為字節(jié)(默認(rèn));W 為 字;D 為雙字.verb : 所進(jìn)行的操作,R 為讀;W為寫;RW為讀 寫(默認(rèn)); X 為執(zhí)行.debug-reg : 除錯(cuò)寄存器,DR0,DR1,DR2,DR3.IF expression: 條件表達(dá)式,只有條件為"真"時(shí),Sof- tICE才在斷點(diǎn)處彈出.Do command : 當(dāng)SICE彈出時(shí),自動(dòng)執(zhí)行的一些命令.當(dāng)verb 為 R,W,RW時(shí),一旦彈出,SoftICE停在剛才發(fā)生內(nèi)存操作的后一條指令處.為 X 時(shí),停在將要執(zhí)行的指令處.一般沒有必要,不要帶 debug-reg 參數(shù),SoftICE一開始是自動(dòng)帶DR3的,以后按順序?yàn)?,1,0 只有當(dāng)你調(diào)試一個(gè)DEBUGGER時(shí),而此DEBUGGER也用到了DRx,才需特別指定一個(gè)防止沖突.BPM斷點(diǎn)如果下在(400000-7FFFFFFF)內(nèi),那么只有你下斷點(diǎn)時(shí)當(dāng)前的可尋址區(qū)域( 見ADDR的點(diǎn)評)被激活才能發(fā)生中斷.別的不行.但如果斷點(diǎn)下在DLL中,這個(gè)DLL在多個(gè)地址區(qū)域內(nèi)都存在,那么在這多個(gè)地址區(qū)域內(nèi)都可能發(fā)生中斷,簡單的例子如KERNEL32.DLL另外,size 參數(shù)要緊跟BPM寫,成BPMD,BPMW之類. 點(diǎn)評: BPM用了DR3-DR0寄存器,所以最多只能設(shè)四個(gè)斷點(diǎn). 命令: BPR 作用: 在一個(gè)內(nèi)存范圍上下斷點(diǎn) 語法: BPR start-address end-address [verb] [IF expression][DO "command1;command2;..."] 用法: start-address: 起始地址end-address : 終止地址verb : R 讀;W 寫;RW 讀寫;T 回溯跟蹤指令 ;TW 回溯跟蹤內(nèi)存寫IF expression: 條件表達(dá)式,只有條件為"真"時(shí),Sof- tICE才在斷點(diǎn)處彈出Do command : 當(dāng)SICE彈出時(shí),自動(dòng)執(zhí)行的一些命令.BPR 用來在一段內(nèi)存區(qū)域上下斷點(diǎn)它沒有 X 參數(shù), 但可用 R 參數(shù)代替. T,TW是記錄回溯跟蹤的參數(shù), 具體可見TRACE命令.BPR 有時(shí)會(huì)極大地降低系統(tǒng)效能,因?yàn)樗袑帱c(diǎn)所在頁的內(nèi)存操作都會(huì)被SoftICE截獲分析.如果程序中用到頻繁的內(nèi)存操作,機(jī)器就會(huì)相當(dāng)慢.當(dāng)條件滿足,SoftICE彈出時(shí),CS:EIP停在發(fā)生內(nèi)存操作的那條指令上. BPR 斷點(diǎn)是下在當(dāng)前被激活的頁表上,如果你下的RANGE在物理4MB以下,斷點(diǎn)就會(huì)在各虛擬機(jī)中,這樣,BPR就對LDT,GDT,IDTs,頁表本身不起作用.另外,VMM中0級(jí)堆棧和嚴(yán)重(?)內(nèi)存區(qū)域(critical ar-eas)也不允許下BPR,很有可能死機(jī).在95中,BPR只能用于RING 3,所以對RING 0的VXD無用.(v3.20) 點(diǎn)評: BPR 有時(shí)真的很慢,機(jī)器就象死了一樣, 原因上面都說了.所以在知道內(nèi)存單元的時(shí)侯最好用BPM,只有無路可走才用BPR的范圍來試試.(當(dāng)然也有非要用BPR 不可的地方) 命令: BPRW 作用: 在某個(gè)WINDOWS程序或代碼段所在的內(nèi)存區(qū)域上下范圍斷點(diǎn) 語法: BPRW module-name | selector [verb] [IF expression][DO "command1;command2;..."] 用法: module-name : WINDOWS程序的模塊名selector : 選擇符verb : R 讀;W 寫;RW 讀寫;T 回溯跟蹤指令 ;TW 回溯跟蹤內(nèi)存寫IF expression: 條件表達(dá)式,只有條件為"真"時(shí),Sof- tICE才在斷點(diǎn)處彈出Do command : 當(dāng)SICE彈出時(shí),自動(dòng)執(zhí)行的一些命令.BPRW是個(gè)在WIN程序的一個(gè)或多個(gè)可執(zhí)行模塊上下斷點(diǎn)的比較便捷的方法實(shí)際上它就是BPR, 不信你可以下一個(gè),再用BL 看看.它只不過比BPR更有目的性.用HEAP命令可以幫助使用者看module-name和selector.BPRW 不用你再費(fèi)心找范圍.BPRW 在回溯跟蹤時(shí)很有用.另外,BPRW 也是不能用于RING 0. 而且在跟 T 參數(shù)或和CSIP命令配合使用時(shí)有可能會(huì)很慢.RW參數(shù)是缺省值 點(diǎn)評: BPRW 有時(shí)侯很管用的, 因?yàn)槟阌锌赡懿恢滥硞€(gè)程序在何時(shí)在內(nèi)存中參與運(yùn)行,用BPRW就可以在這個(gè)程序一運(yùn)行時(shí)就彈出.而且可以分不同的代碼段. 命令: BPT 作用: 以前次的斷點(diǎn)為模板,設(shè)定新的斷點(diǎn). 語法: BPT breakpoint_index 用法: breakpoint_index: 斷點(diǎn)序號(hào).(用BL可以看到)BPT 是以前次的斷點(diǎn)為藍(lán)本,進(jìn)行修改,成為新的斷點(diǎn).它為使用者定新的斷點(diǎn)提供了方便. 點(diǎn)評: 參見第二部分的BPE 命令 命令: BPX 作用: 在可執(zhí)行語句上設(shè)定(或清除)斷點(diǎn) 語法: BPX [address] [IF expression] [DO "command1;command2;..."] 用法: address : 斷點(diǎn)所在的線性地址IF expression: 條件表達(dá)式,只有條件為"真"時(shí),Sof- tICE才在斷點(diǎn)處彈出.Do command : 當(dāng)SICE彈出時(shí),自動(dòng)執(zhí)行的一些命令.BPX 用來在指令處下斷點(diǎn),程序一旦執(zhí)行到此,SoftICE就會(huì)彈出.當(dāng)光標(biāo)在代碼窗口中時(shí),直接打入BPX就會(huì)在光標(biāo)所在語句處設(shè)斷點(diǎn),再打BPX 就取消. 當(dāng)光標(biāo)不在代碼窗口中時(shí),BPX 必須跟參數(shù)(地址). 地址為標(biāo)準(zhǔn)的"選擇符:偏移",如果只輸入偏移,當(dāng)前的CS值默認(rèn)為選擇符.BPX 實(shí)際上是在你下的斷點(diǎn)處加一個(gè)INT 3指令, 到這條指令時(shí)就彈出來.這使得可以在一個(gè)程序中下多個(gè)斷點(diǎn),而不必要使用少得可憐的寄存器.但當(dāng)你在ROM中設(shè)斷點(diǎn)時(shí),SoftICE自動(dòng)用斷點(diǎn)寄存器來設(shè)斷.你也可以用BPM 命令的X參數(shù)來強(qiáng)迫SoftICE用斷點(diǎn)寄存器(DRx)來設(shè)斷. BPX 也可用16位代碼的模塊名來作地址參數(shù), 這樣,模塊中每個(gè)出口函數(shù)都被設(shè)了斷點(diǎn). BPX 最多設(shè)256個(gè)斷點(diǎn).(V3.20) BPX 有個(gè)快捷鍵 F9,當(dāng)光標(biāo)在代碼窗口中時(shí),按F9就是設(shè)定(取消). 點(diǎn)評: BPX 可能是用得最多的斷點(diǎn)了. 有些ANTI-DEBUGGER的程序就利用INT 3 來作文章,看了上面的東西我想你可以閃過了吧!(不包括用DRx做文章的噢!) 命令: BSTAT 作用: 顯示某個(gè)斷點(diǎn)的狀態(tài) 語法: BSTAT [breakpoint-index] 用法: breakpoint-index :斷點(diǎn)的序號(hào),用BL 命令可以看到用BSTAT 來顯示某個(gè)斷點(diǎn)的狀態(tài),各種統(tǒng)計(jì)參數(shù).BP # : 斷點(diǎn)的序號(hào).若前面有 "*" ,表示斷點(diǎn)被禁止在Total 欄目中:Hits : SoftICE每經(jīng)過一次斷點(diǎn),計(jì)數(shù) 1Breaks: 在IF expression子句為真的情況下,SoftICE 就會(huì)產(chǎn)生動(dòng)作,要么彈出,要么記錄在內(nèi)存中, 不管怎樣,計(jì)數(shù) 1Popups: 在Breaks中SoftICE彈出的次數(shù)Logged: 在Breaks中SICE將情況記錄到內(nèi)存中的次數(shù)Misses: 在IF expression子句為False的情況下,SICE 雖然經(jīng)過這個(gè)斷點(diǎn)但沒有彈出行動(dòng)的次數(shù)Errors: 由于IF 子句中內(nèi)存變量的問題或其他原因產(chǎn) 生的錯(cuò)誤的次數(shù).比如跟一個(gè)C寫的程序,用變 量"IF mysymbol==1"來設(shè)斷,而在斷點(diǎn)處 my- symbol 這個(gè)變量所在的內(nèi)存由于釋放或其他 操作而無法訪問,就會(huì)產(chǎn)生Error.在Current 欄目中:Hits : 當(dāng)前的在IF子句計(jì)算為True的情況下,但由于 BPCOUNT宏所定的次數(shù)未到而記錄下的累計(jì)數(shù)Misses: 當(dāng)前在IF子句計(jì)算為False的情況下, 且(或) BPCOUNT宏所定的次數(shù)未到而記錄下的累計(jì)數(shù)在雜項(xiàng)(misc)欄目中:Status: SoftICE內(nèi)部對最近一次斷點(diǎn)進(jìn)行計(jì)算的狀態(tài) 代碼.(錯(cuò)誤代碼)如果為0 的話,表示沒有錯(cuò).Scode : SoftICE最近一個(gè)內(nèi)部狀態(tài)代碼,如果為0的話 表示沒有Errors.Cond. : 如果斷點(diǎn)帶有附加判斷(即有IF expression) ,則為Yes,否則為NoAction: 如果斷點(diǎn)帶有附加的動(dòng)作(即有DO command), 則為Yes,否則為No 點(diǎn)評: 無
相關(guān)文章
SQLMap簡介及簡單應(yīng)用實(shí)例圖文詳解
一個(gè)自動(dòng)化的SQL注入工具,其主要功能是掃描、發(fā)現(xiàn)并利用給定URL的SQL注入漏洞,內(nèi)置了很多繞過插件,支持的數(shù)據(jù)庫是MySQL 、Oracle 、PostgreSQL 、Microsoft SQL Server2023-02-04- Nmap是一款網(wǎng)絡(luò)掃描和主機(jī)檢測的非常有用的工具。Nmap是不局限于僅僅收集信息和枚舉,同時(shí)可以用來作為一個(gè)漏洞探測器或安全掃描器。它可以適用于winodws,linux,mac等操作2019-03-16
SQLMAP注入檢查方法 11種常見SQLMAP使用方法詳解
sqlmap也是滲透中常用的一個(gè)注入工具,其實(shí)在注入工具方面,很多人都是通過這個(gè)工具實(shí)施的檢測與注入,對于我們從事安全防御的人來說,一定要引起注意,一般的程序員寫的代2018-08-16- 這篇文章主要介紹了lcx用法之心得總結(jié),需要的朋友可以參考下2017-09-06
lcx端口轉(zhuǎn)發(fā)詳細(xì)介紹及使用方法(lcx內(nèi)網(wǎng)轉(zhuǎn)發(fā)姿勢)
這篇文章主要介紹了lcx端口轉(zhuǎn)發(fā)詳細(xì)介紹及使用方法(lcx內(nèi)網(wǎng)轉(zhuǎn)發(fā)姿勢),需要的朋友可以參考下2017-09-06- 這是我們的Nmap備忘單的第四部分,本文中我們將討論更多東西關(guān)于掃描防火墻,IDS / IPS 逃逸,Web服務(wù)器滲透測試等。在此之前,我們應(yīng)該了解一下防火墻的一些基礎(chǔ)知識(shí)以便2016-12-27
- 眾所周知NMAP是經(jīng)常用來進(jìn)行端口發(fā)現(xiàn)、端口識(shí)別。除此之外我們還可以通過NMAP的NSE腳本做很多事情,比如郵件指紋識(shí)別,檢索WHOIS記錄,使用UDP服務(wù)等2016-12-27
- 這是我們的第二期NMAP備忘單,基本上,我們將討論一些高級(jí)NMAP掃描的技術(shù),我們將進(jìn)行一個(gè)中間人攻擊(MITM)?,F(xiàn)在,游戲開始了2016-12-27
- nmap是一個(gè)網(wǎng)絡(luò)連接端掃描軟件,用來掃描網(wǎng)上電腦開放的網(wǎng)絡(luò)連接端。確定哪些服務(wù)運(yùn)行在哪些連接端,并且推斷計(jì)算機(jī)運(yùn)行哪個(gè)操作系統(tǒng)(這是亦稱 fingerprinting)。它是網(wǎng)2016-12-27
網(wǎng)絡(luò)漏洞掃描工具Acunetix Web Vulnerability Scanner(AWVS)使用介紹
Acunetix Web Vulnerability Scanner(簡稱AWVS)是一款知名的網(wǎng)絡(luò)漏洞掃描工具,它通過網(wǎng)絡(luò)爬蟲測試你的網(wǎng)站安全,檢測流行安全漏洞。倫敦時(shí)間2015年6月24日,官方發(fā)布了2016-09-28