zoukankan      html  css  js  c++  java
  • 《逆向工程核心原理.pdf》

    是本好书 ...  

    OllyDbg

    https://www.cnblogs.com/onepixel/p/7468343.html

    优缺点

    Big-Endian 优点:靠首先提取高位字节,你总是可以由看看在偏移位置为0的字节来确定这个数字是正数还是负数。你不必知道这个数值有多长,或者你也不必过一些字节来看这个数值是否含有符号位。这个数值是以它们被打印出来的顺序存放的,所以从二进制到十进制的函数特别有效。因而,对于不同要求的机器,在设计存取方式时就会不同。

    Little-Endian 优点:提取一个,两个,四个或者更长字节数据的汇编指令以与其他所有格式相同的方式进行:首先在偏移地址为0的地方提取最低位的字节,因为地址偏移和字节数是一对一的关系,多重精度的数学函数就相对地容易写了。

    如果你增加数字的值,你可能在左边增加数字(高位非指数函数需要更多的数字)。因此,经常需要增加两位数字并移动存储器里所有Big-endian顺序的数字,把所有数向右移,这会增加计算机的工作量。不过,使用Little- Endian的存储器中不重要的字节可以存在它原来的位置,新的数可以存在它的右边的高位地址里。这就意味着计算机中的某些计算可以变得更加简单和快速。

     

     

     

     

    汇编

    MOV指令可以在CPU内或CPU和存储器之间传送字或字节,它传送的信息可以从寄存器到寄存器,立即数到寄存器,立即数到存储单元,从存储单元到寄存器,从寄存器到存储单元,从寄存器或存储单元到除CS外的段寄存器(注意立即数不能直接送段寄存器),从段寄存器到寄存器或存储单元。
          但是注意
    (1)      MOV指令中的源操作数绝对不能是立即数和代码段CS寄存器;
    (2)      MOV指令中绝对不允许在两个存储单元之间直接传送数据;
    (3)      MOV指令中绝对不允许在两个段寄存器之间直接传送数据;
    (4)      MOV指令不会影响标志位
     
    例:MOV   AX,DATA_SEG
           MOV    DS,AX
    注意:段寄存器(段地址)必须通过寄存器如AX寄存器进行立即数的初始化。
     
    例: MOV    AL,‘E’
    把立即数(字符E的ASC码)送到AL寄存器。
    例: MOV    BX,OFFSET TABLE
    将TABLE的偏移地址(而不是内容)送到BX寄存器中。其中OFFSET为属性操作符,表示的是将其后的符号地址的值(不是内容)作为操作数。
    例    MOV    AX,Y[BP][SI]
        把地址为16d×(SS)十(BP)十(SI)十位移量Y的存储单元的内容送给AX寄存器
     
       

     

     

     

     

     

     

     

     

  • 相关阅读:
    webpack打包注意事项
    打印内存, 打印16进制
    c++ 字符集转换
    RegSvr32 加载失败,找不到指定的模块
    错误码设计
    mfc 移动绘制的图形
    获取、设置光标
    c++ 函数中定义函数
    python linux 自动补全 tab.py
    3.4.5节 完整神经网络样例程序
  • 原文地址:https://www.cnblogs.com/cx2016/p/13111650.html
Copyright © 2011-2022 走看看