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

SoftICE for WIN95中文命令解說(八) Copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei 命令: I1HERE 作用: 遇到內(nèi)嵌的INT 1指令時激活SoftICE 語法: I1HERE [on | off] 用法: I1HERE 命令使SoftICE在遇到程序中內(nèi)嵌的INT 1指令時彈出.I1HERE在調(diào)試
SoftICE for WIN95中文命令解說(八) Copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei 命令: I1HERE 作用: 遇到內(nèi)嵌的INT 1指令時激活SoftICE 語法: I1HERE [on | off] 用法: I1HERE 命令使SoftICE在遇到程序中內(nèi)嵌的INT 1指令時彈出.I1HERE在調(diào)試程序時需在某處暫停時特別有用.在SoftICE彈出之前, SoftICE會檢查當前是否有一條INT 1指令在程序中.如果沒有的話,SoftICE將不彈出.在程序要暫停的指令之前加一句INT 1 就能做到這一點.SoftICE彈出時,EIP 會停在INT 1的下一條指令后.I1HERE 不帶參數(shù)將顯示當前I1HERE的狀態(tài).缺省為OFFI1HERE 在與如BoundsChecker 之類的調(diào)試工具分工協(xié)作時很有用,因為BoundsChecker用到 INT 3,為了防止沖突應(yīng)使用INT 1. 另外,VMM,Windows內(nèi)存管理的VxD,在Windows出現(xiàn)某些嚴重錯誤時會在嚴重錯誤返回前執(zhí)行一個INT 1指令.如果此時I1HERE 為ON時, 你就能跟蹤這類錯誤. 如由VMM因換頁錯誤而產(chǎn)生INT 1 時寄存器的值如下:.EAX = 錯誤地址..ESI 指向一個ASCII字符串(信息)..EBP 指向一個CRS(在DDK的VMM.INC中定義的客戶寄 存器結(jié)構(gòu)) 點評: 基礎(chǔ)信息: INT 1 實際上是單步中斷的處理例程. CPU在檢測到 TP 標志為1時(TP是由DEBUGGER設(shè)的), 就自動進行這一例程. DEBUGGER 們掛接這個中斷例程進行一些諸如顯示當前寄存器值等操作,并等待用戶進一步的指令. 在程序中直接用 INT 1指令也能達到效果.SoftICE不象DOS下的DEBUG.EXE,一碰到 INT 1 就中斷,缺省是不中斷的,只有當I1HERE 為 ON 時才中斷. 命令: I3HERE 作用: 在遇到INT 3 指令時激活SoftICE 語法: I3HERE [on | off] 用法: I3HERE ON 將使SoftICE每碰到一個 INT 3 時都彈出,這在調(diào)試程序時需要在某處暫停特別有用.在你需要暫停的指令之前加一個INT 3 就行.如果你是編 WINDOWS程序,加個函數(shù) DebugBreak(). 這個函數(shù)也執(zhí)行一個INT 3.I3HERE 不帶參數(shù)將顯示當前狀態(tài).請參見I1HERE. 點評: 基礎(chǔ)信息: INT 3 是斷點中斷處理例程.也被DEBUGGER們掛接,顯示寄存器值,給出一些信息,并等待用戶下一步操作. DEBUGGER在下斷點時,將斷點處的指令替換成INT 3,把替換下的指令保存,在執(zhí)行完例程后再恢復原先保存的指令,修改堆棧中的斷點地址, 使程序得以繼續(xù). DOS下的老DEBUG.EXE當遇到程序中的INT 3 指令時會進行同樣的操作,也修改堆棧中的斷點地址,所以IP又停在那條INT 3 上, 如果你打入 G ,程序?qū)⒁恢蓖T诖颂?這時改一下IP就可以了. 命令: IDT 作用: 顯示中斷描述符表 語法: IDT [interrupt-number] 用法: interrupt-number: 所要顯示的中斷號IDT 命令讀取中斷描述符表寄存器的值, 獲得表基址,然后顯示中斷描述符表的內(nèi)容.IDT 命令不帶參數(shù)將顯示所有中斷的情況,如果帶中斷號, 則只顯示相應(yīng)的入口. 輸出參數(shù)如下:interrupt number: 0-05fh的中斷號.interrupt type : 中斷類型如下: --------------------- CallG32: 32位調(diào)用門. CallG16: 16位調(diào)用門. TaskG: 任務(wù)門. TrapG16: 16位陷肼門. TrapG32: 32位陷肼門. IntG32: 32位中斷門. IntG16: 16位中斷門. ---------------------address : (選擇符:偏移量)形式的地址.selector's DPL : 選擇符的描述符特權(quán)級,0,1,2,3present bit : P 或 NP, 表示該描述符是否在內(nèi) 存中.Owner Offset : 符號名或擁有者名,和在它們中的 偏移. 點評: 參見GDT,LDT. 命令: LDT 作用: 顯示局部描述符表 語法: LDT [selector] 用法: selector: 指定LDT 選擇符LDT 命令將顯示局部描述符表的內(nèi)容. SoftICE先讀取局部描述符表寄存器的值,再定位描述符表. 如果局部描述符表不存在,會顯示一個錯誤信息. 如果指定選擇符,則只顯示該選擇符所指向的描述符. 如果指定的選擇符是一個全局選擇符, 則SoftICE將自動顯示該全局選擇符所指的描述符.輸出:LDT 的線性基址和長度將顯示在輸出數(shù)據(jù)的頂行輸出數(shù)據(jù)的每一行內(nèi)容的說明:value: 最低兩位即描述符特權(quán)級type : 描述符類型,如下: --------------------------- Code16 : 16位代碼描述符 Data16 : 16位數(shù)據(jù)描述符 Code32 : 32位代碼描述符 Data32 : 32位數(shù)據(jù)描述符 CallG32: 32位調(diào)用門描述符 CallG16: 16位調(diào)用門描述符 TaskG32: 32位任務(wù)門描述符 TaskG16: 16位任務(wù)門描述符 TrapG32: 32位陷肼門描述符 TrapG16: 16位陷肼門描述符 IntG32 : 32位中斷門描述符 IntG16 : 16位中斷門描述符 Reserved: 保留的描述符 --------------------------- base : 描述符中的段基址limit : 描述符中的段界限D(zhuǎn)PL : 描述符特權(quán)級,0,1,2,3present bit: P 或 NP 表示該段是否在內(nèi)存中segment attributes: 段特性: --------------------------- RW: 數(shù)據(jù)段可讀寫 RO: 數(shù)據(jù)段只讀 RE: 代碼段可讀可執(zhí)行 EO: 代碼段只可執(zhí)行 B : TSS(任務(wù)狀態(tài)段)忙置位 --------------------------- 點評: 這段翻譯并不完全用PDF手冊上的.如"selector" 原指選擇符(器),用來指向描述符表中的描述符,而PDF手冊中type 的說明全用到 selector. 說的意思雖是一樣,但和別的文獻矛盾,故認為不妥,將其翻譯成descriptor即描述符. 實際上可以看出,一個選擇符指向一個描述符,兩者是一致的. 描述符類型實際上也就是指向它的選擇符類型. 命令: LHEAP 作用: 顯示W(wǎng)indows 局部堆 語法: LHEAP [selector | module-name] 用法: selector : 局部描述符表數(shù)據(jù)選擇符.module-name: 16位 模塊名.LHEAP 顯示W(wǎng)indows程序在全局堆中申請的數(shù)據(jù)信息.如果不跟選擇符參數(shù),當前的DS 寄存器的內(nèi)容(數(shù)據(jù)選擇符)被做為缺省值. 用前次說過的 HEAP 命令找標有LH 的選擇符來做為LHEAP的參數(shù).如果用module-name 做參數(shù),則SoftICE用此模塊的缺省數(shù)據(jù)段進行堆遍歷.輸出:offset: 16位的偏移量(相對于相應(yīng)的選擇符基址)size : 堆入口(每個組成部分)的字節(jié)大小.type : 類型如下: --------------------- FIX : 固定的. MOV : 可移動的. FREE: 空閑的. ---------------------handle: 相應(yīng)的句柄.對固定的堆組成部分來說, 此值 和offset 相等,且是由 LocalAlloc()返回的. 對于可移動的組成部分來說,此值將會被做為 LocalLock()的參數(shù). 點評: 無.(天氣好熱!翻譯得好累!) 命令: LINES 作用: 改變SoftICE窗口的顯示行數(shù) 語法: LINES [25 | 43 | 50 | 60] 用法: LINES 命令用來改變SoftICE窗口的顯示行數(shù). 默認為25行.可以有:25 行;43 行;50 行;60 行;43,50,60行只適用于VGA卡.LINES 不帶參數(shù)將顯示當前行數(shù).如果用 ALTSCR 命令切換顯示器輸出到單顯,SoftICE自動轉(zhuǎn)為25行,再轉(zhuǎn)回VGA卡時要手工用 LINES 命令來恢復原值. 點評: 實際上, 我的3.20用的是SoftICE自帶的通用視頻驅(qū)動程序,行范圍可以從25一直到128 !!(除非為SoftICE開的顯存不夠) 命令: LOCALS 作用: 從當前棧中列出局部變量 語法: LOCALS 用法: 輸出:Stack Offset : 棧偏移.Type definition: 類型定義.Value,Data,or structure symbol({...}) : 值,數(shù)據(jù),或結(jié)構(gòu)符號.SoftICE根據(jù)局部變量的類型來用不同的形式顯示它們,如果是指針,則顯示所指向的數(shù)據(jù).如果是結(jié)構(gòu),則顯示結(jié)構(gòu)符號.如果既不是指針,又不是結(jié)構(gòu),則顯示本身值. 點評: 無.
相關(guān)文章
- 一個自動化的SQL注入工具,其主要功能是掃描、發(fā)現(xiàn)并利用給定URL的SQL注入漏洞,內(nèi)置了很多繞過插件,支持的數(shù)據(jù)庫是MySQL 、Oracle 、PostgreSQL 、Microsoft SQL Server2023-02-04
- Nmap是一款網(wǎng)絡(luò)掃描和主機檢測的非常有用的工具。Nmap是不局限于僅僅收集信息和枚舉,同時可以用來作為一個漏洞探測器或安全掃描器。它可以適用于winodws,linux,mac等操作2019-03-16
SQLMAP注入檢查方法 11種常見SQLMAP使用方法詳解
sqlmap也是滲透中常用的一個注入工具,其實在注入工具方面,很多人都是通過這個工具實施的檢測與注入,對于我們從事安全防御的人來說,一定要引起注意,一般的程序員寫的代2018-08-16- 這篇文章主要介紹了lcx用法之心得總結(jié),需要的朋友可以參考下2017-09-06
lcx端口轉(zhuǎn)發(fā)詳細介紹及使用方法(lcx內(nèi)網(wǎng)轉(zhuǎn)發(fā)姿勢)
這篇文章主要介紹了lcx端口轉(zhuǎn)發(fā)詳細介紹及使用方法(lcx內(nèi)網(wǎng)轉(zhuǎn)發(fā)姿勢),需要的朋友可以參考下2017-09-06- 這是我們的Nmap備忘單的第四部分,本文中我們將討論更多東西關(guān)于掃描防火墻,IDS / IPS 逃逸,Web服務(wù)器滲透測試等。在此之前,我們應(yīng)該了解一下防火墻的一些基礎(chǔ)知識以便2016-12-27
- 眾所周知NMAP是經(jīng)常用來進行端口發(fā)現(xiàn)、端口識別。除此之外我們還可以通過NMAP的NSE腳本做很多事情,比如郵件指紋識別,檢索WHOIS記錄,使用UDP服務(wù)等2016-12-27
- 這是我們的第二期NMAP備忘單,基本上,我們將討論一些高級NMAP掃描的技術(shù),我們將進行一個中間人攻擊(MITM)?,F(xiàn)在,游戲開始了2016-12-27
- nmap是一個網(wǎng)絡(luò)連接端掃描軟件,用來掃描網(wǎng)上電腦開放的網(wǎng)絡(luò)連接端。確定哪些服務(wù)運行在哪些連接端,并且推斷計算機運行哪個操作系統(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)站安全,檢測流行安全漏洞。倫敦時間2015年6月24日,官方發(fā)布了2016-09-28