zoukankan      html  css  js  c++  java
  • 逆向中标志位的学习

    标志位分别对应在第几位,如下

    11    7     6     4     2     0

    OF  SF  ZF   BF   PF   CF

      他们的作用如下

    CF(无符号数)若最高位进位或借位(溢出)则DF显示1

    PF当二进制数中最低有效位1的个数为偶数则会显示1,否则为0。

    BF 举个例子mov al,0xff   add al,1 则显示1  (0xFFFF,0x00FFFFFF)红色标志的位若进位则显示1,否则为0(具体什么原因我不知道,有会的大佬请指教一下嘿嘿)

    ZF计算结果为0则为1,例如:mov eax,2   xor eax,eax  则结果为0,ZF显示1

    SF最高位为什么,就显示什么。例如:0x10001111 最高位为1则就显示1

    OF(有符号数)若最高位溢出则会显示1(负+负=负  如果为正则溢出,正+正=正 如果为负则溢出,正+负 永远不会溢出)(1000 0000加1100 0000符号位有进位:1,最高有效位相符号位进位:0)

    DF表示movs或mov操作数寄存器的移动方向,例如:mov esi,edi  movsd 若D 为0则esi,edi加4,若为1则esi,edi减4

     补充一点知识:

    jmp只能修改EIP寄存器,EIP寄存器中存储的是CPU的下次执行代码。

    call先push下一个地址(ESP值改变),然后修改EIP寄存器

    ret 相当于pop eip

     

  • 相关阅读:
    RedHat中代理设置
    CentOS7主机名修改
    ELK+Filebeat+Kafka+ZooKeeper 构建海量日志分析平台
    Zookeeper+Kafka集群部署
    Centos7 中lvs DR配置
    linux抓包命令之tcpdump
    python调用ansible接口API执行命令
    LVS 实现负载均衡原理及安装配置详解
    Ansible 之Playbook
    Linux系统date时间设定
  • 原文地址:https://www.cnblogs.com/wang1212-/p/10050982.html
Copyright © 2011-2022 走看看