⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 intoice3.htm

📁 为所有对破解感兴趣的朋友准备的礼物。希望大家能够喜欢。
💻 HTM
📖 第 1 页 / 共 2 页
字号:
	</TR>
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">用法:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1">
		<PRE>
		
start-address: 起始地址
end-address  : 终止地址
verb         : R 读;W 写;RW 读写;T 回溯跟踪指令
               ;TW 回溯跟踪内存写
IF expression: 条件表达式,只有条件为"真"时,Sof-
               tICE才在断点处弹出
Do command   : 当SICE弹出时,自动执行的一些命令.
BPR 用来在一段内存区域上下断点它没有 X 参数, 但
可用 R 参数代替. T,TW是记录回溯跟踪的参数, 具体
可见TRACE命令.BPR 有时会极大地降低系统效能,因为
所有对断点所在页的内存操作都会被SoftICE截获分析
.如果程序中用到频繁的内存操作,机器就会相当慢.
当条件满足,SoftICE弹出时,CS:EIP停在发生内存操作
的那条指令上. BPR 断点是下在当前被激活的页表上,
如果你下的RANGE在物理4MB以下,断点就会在各虚拟机
中,这样,BPR就对LDT,GDT,IDTs,页表本身不起作用.
另外,VMM中0级堆栈和严重(?)内存区域(critical ar-
eas)也不允许下BPR,很有可能死机.在95中,BPR只能用
于RING 3,所以对RING 0的VXD无用.(v3.20)</PRE>
		</TD>
	</TR> 
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">点评:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1">
		<PRE>
		
BPR 有时真的很慢,机器就象死了一样, 原因上面都说
了.所以在知道内存单元的时侯最好用BPM,只有无路可
走才用BPR的范围来试试.(当然也有非要用BPR 不可的
地方)</PRE>
		</TD>
	</TR>

	<!--之一-->
	<TR>
		<TD><IMG SRC="tri1.gif" tppabs="http://toye.dihou.org/tri1.gif"></TD>
	</TR>
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">命令:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1"><B>BPRW</B></TD>
	</TR>
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">作用:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1">在某个WINDOWS程序或代码段所在的内存区域上下范围断点</TD>
	</TR>
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">语法:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1">
		<B>BPRW module-name | selector [verb] [IF expression]<BR>
		[DO "command1;command2;..."]</B>
		</TD>
	</TR>
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">用法:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1">
		<PRE>
		
module-name  : WINDOWS程序的模块名
selector     : 选择符
verb         : R 读;W 写;RW 读写;T 回溯跟踪指令
               ;TW 回溯跟踪内存写
IF expression: 条件表达式,只有条件为"真"时,Sof-
               tICE才在断点处弹出
Do command   : 当SICE弹出时,自动执行的一些命令.

BPRW是个在WIN程序的一个或多个可执行模块上下断点
的比较便捷的方法实际上它就是BPR, 不信你可以下一
个,再用BL 看看.它只不过比BPR更有目的性.用HEAP命
令可以帮助使用者看module-name和selector.BPRW 不
用你再费心找范围.BPRW 在回溯跟踪时很有用.
另外,BPRW 也是不能用于RING 0. 而且在跟 T 参数或
和CSIP命令配合使用时有可能会很慢.RW参数是缺省值</PRE>
		</TD>
	</TR> 
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">点评:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1">
		<PRE>
		
BPRW 有时侯很管用的, 因为你有可能不知道某个程序
在何时在内存中参与运行,用BPRW就可以在这个程序一
运行时就弹出.而且可以分不同的代码段.</PRE>
		</TD>
	</TR>

	<!--之一-->
	<TR>
		<TD><IMG SRC="tri1.gif" tppabs="http://toye.dihou.org/tri1.gif"></TD>
	</TR>
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">命令:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1"><B>BPT</B></TD>
	</TR>
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">作用:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1">以前次的断点为模板,设定新的断点.</TD>
	</TR>
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">语法:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1"><B>BPT breakpoint_index</B>
		</TD>
	</TR>
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">用法:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1">
		<PRE>
		
breakpoint_index: 断点序号.(用BL可以看到)
BPT 是以前次的断点为蓝本,进行修改,成为新的断点.
它为使用者定新的断点提供了方便.
		</pre></TD>
	</TR> 
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">点评:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1">参见第二部分的BPE 命令</TD>
	</TR>

	<!--之一-->
	<TR>
		<TD><IMG SRC="tri1.gif" tppabs="http://toye.dihou.org/tri1.gif"></TD>
	</TR>
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">命令:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1"><B>BPX</B></TD>
	</TR>
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">作用:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1">在可执行语句上设定(或清除)断点</TD>
	</TR>
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">语法:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1">
		<B>BPX [address] [IF expression] [DO "command1;command2;..."]</B>
		</TD>
	</TR>
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">用法:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1">
		<PRE>
		
address      : 断点所在的线性地址
IF expression: 条件表达式,只有条件为"真"时,Sof-
               tICE才在断点处弹出.
Do command   : 当SICE弹出时,自动执行的一些命令.

BPX 用来在指令处下断点,程序一旦执行到此,SoftICE
就会弹出.当光标在代码窗口中时,直接打入BPX就会在
光标所在语句处设断点,再打BPX 就取消. 当光标不在
代码窗口中时,BPX 必须跟参数(地址). 地址为标准的
"选择符:偏移",如果只输入偏移,当前的CS值默认为选
择符.
BPX 实际上是在你下的断点处加一个INT 3指令, 到这
条指令时就弹出来.这使得可以在一个程序中下多个断
点,而不必要使用少得可怜的寄存器.但当你在ROM中设
断点时,SoftICE自动用断点寄存器来设断.你也可以用
BPM 命令的X参数来强迫SoftICE用断点寄存器(DRx)来
设断. 
BPX 也可用16位代码的模块名来作地址参数, 这样,模
块中每个出口函数都被设了断点. BPX 最多设256个断
点.(V3.20) BPX 有个快捷键 F9,当光标在代码窗口中
时,按F9就是设定(取消).</PRE>
		</TD>
	</TR> 
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">点评:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1">
		<PRE>

BPX 可能是用得最多的断点了. 有些ANTI-DEBUGGER的
程序就利用INT 3	来作文章,看了上面的东西我想你可
以闪过了吧!(不包括用DRx做文章的噢!)</PRE>
		</TD>
	</TR>
		<!--之一-->
	<TR>
		<TD><IMG SRC="tri1.gif" tppabs="http://toye.dihou.org/tri1.gif"></TD>
	</TR>
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">命令:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1"><B>BSTAT</B></TD>
	</TR>
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">作用:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1">显示某个断点的状态</TD>
	</TR>
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">语法:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1"><B>BSTAT [breakpoint-index]</B></TD>
	</TR>
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">用法:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1">
		<PRE>
		
breakpoint-index :断点的序号,用BL 命令可以看到
用BSTAT 来显示某个断点的状态,各种统计参数.
BP #  : 断点的序号.若前面有 "*" ,表示断点被禁止<BR>
在Total 栏目中:
Hits  : SoftICE每经过一次断点,计数+1
Breaks: 在IF expression子句为真的情况下,SoftICE
        就会产生动作,要么弹出,要么记录在内存中,
        不管怎样,计数+1
Popups: 在Breaks中SoftICE弹出的次数
Logged: 在Breaks中SICE将情况记录到内存中的次数
Misses: 在IF expression子句为False的情况下,SICE
        虽然经过这个断点但没有弹出行动的次数
Errors: 由于IF 子句中内存变量的问题或其他原因产
        生的错误的次数.比如跟一个C写的程序,用变
        量"IF mysymbol==1"来设断,而在断点处 my-
        symbol 这个变量所在的内存由于释放或其他
        操作而无法访问,就会产生Error.
在Current 栏目中:
Hits  : 当前的在IF子句计算为True的情况下,但由于
        BPCOUNT宏所定的次数未到而记录下的累计数
Misses: 当前在IF子句计算为False的情况下, 且(或)
        BPCOUNT宏所定的次数未到而记录下的累计数
在杂项(misc)栏目中:
Status: SoftICE内部对最近一次断点进行计算的状态
        代码.(错误代码)如果为0 的话,表示没有错.
Scode : SoftICE最近一个内部状态代码,如果为0的话
        表示没有Errors.
Cond. : 如果断点带有附加判断(即有IF expression)
        ,则为Yes,否则为No
Action: 如果断点带有附加的动作(即有DO command),
        则为Yes,否则为No</PRE>
		</TD>
	</TR> 
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">点评:</TD>
		<TD WIDTH="450" BGCOLOR="#E1F1F1">无</TD>
	</TR>

	</TABLE>
	<TABLE BORDER="0" CELLPADDING="1" CELLSPACING="1" WIDTH="500">
	<TR>
		<TD WIDTH="50"  BGCOLOR="#CCCCFF">&nbsp;</TD>
		<TD WIDTH="450" BGCOLOR="#CCCCFF" ALIGN=CENTER>
		<A HREF="#anchortop">回到文章的开头
		</A>
		</TD>
	</TR>
	</TABLE>
	</TABLE>
	


</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -