b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

ollydbg_ollydbg入门教程_ollydbg破解注册码(8)

电脑杂谈  发布时间:2017-04-17 05:02:23  来源:网络整理

反汇编器可以正确解码16位地址。但它假设所有的段都是32位的(段属性使用32位)。这对于PE[Portable Executable]式文件总是正确的。OllyDbg不支持16位的NE[NewExecutables]式。

如果你熟悉MASM或者TASM,那么反汇编的代码对于你没有任何问题。但是,一些特例也是存在的。以下命令的解码与Intel的标准不同:

AAD (ASCII Adjust AX BeforeDivision)—该命令的解码后的一般形式为:AAD imm8

AAM (ASCII Adjust AX AfterMultiply)—该命令(非十进制数)的一般解码形式为:AAM imm8

SLDT (Store Local DescriptorTable register)—操作数总被解码为16位。这个命令的32位形式会在目的操作数的低16位中存储段选择器,并保留高16位不变。

SALC (Sign—extend Carry bit to AL,undocumented)—OllyDbg 支持这个未公开指令。

PINSRW (Insert Word FromInteger Register, Athlon extension to MMX)—在AMD的官方文档中,这个命令的内存形式使用了16位内存操作数;然而寄存器形式需要32位寄存器,但只使用了低16位。为了方便处理,反汇编器解码寄存器为16位形式。而汇编器两种形式都支持。

CVTPS2PI and CVTTPS2PI(Convert Packed Single—Precision Floating to Packed Doubleword, Convert with TruncationPacked Single—PrecisionFloating to Packed Doubleword)—在这些命令中,第一个操作数是MMX寄存器,第二个或者是128位XMM寄存器或者是64位内存区域。为了方便处理,内存操作数也被解码为128位。

有些指令的助记符要依赖操作数的大小:

不分大小的形式 明确的16位形式 明确的32位形式

PUSHA PUSHAW PUSHAD

POPA POPAW POPAD

LOOP LOOPW LOOPD

LOOPE LOOPWE LOOPDE

LOOPNE LOOPWNE LOOPDNE

PUSHF PUSHFW PUSHFD

POPF POPFW POPFD

IRET IRETW IRETD

你可以改变解码大小敏感助记符[decoding of size—sensitive mnemonics]。根据选项,反汇编器从三种可能中选择之一进行解码。这个选项也会影响汇编器的默认处理方式。解码MMX和3DNow!指令总是开启的,尽管你的处理器并不支持这些指令。

三、分析器[Analysis]

OllyDbg 整合了一个快速而强大的代码分析器。你可以从快捷菜单,或者在CPU窗口的反汇编面板中按 CtrlA ,或者在可执行模块中选择“分析全部模块[Analyze all modules]”,来使用它。

分析器有很高的启发性。它能区分代码和数据,标记入口和跳转目的地址,识别转换表[switch tables],ASCII 和 UNICODE 串,定位函数过程,循环,高阶转换[high—level switches]并且能解码标准API函数的参数(示例[example])。OllyDbg 的其他部分也广泛的使用了分析后的数据。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-41789-8.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 杨绘
      杨绘

      而不是处处以一等人居之

    • 路盼盼
      路盼盼

      这有利于我们国土岛屿的收回和国家的发展建设

    • 田鹬
      田鹬

      好可怕

    热点图片
    拼命载入中...