zoukankan      html  css  js  c++  java
  • 开启逆向之旅

      在将来,我们主要用到Windows下最老牌的C语言编译器,Visual C++ 6.0 这款工具;值得注意的是,这款工具在64位操作系统上运行时有时候会出现兼容性的问题,它和32位操作系统相处的比较和谐。因此建议在32位Windows虚拟机下倒腾这个软件(我的虚拟机是win7 32bits 盗版……QAQ),会出现较少的Bug。可能会结合一些Linux反汇编工具来了解不同汇编器的区别和不同。


      前期需要掌握的知识:(推荐书籍《汇编语言》王爽)

      1.汇编语言的常用指令  

      赋值指令mov,加减乘除指令add sub inc dec mul div,逻辑运算指令or and not xor test,[逻辑/算术]移位(循环移位)指令系列,栈操作指令push pop细节,循环指令,地址传送指令lea,比较指令cmp,无条件跳转指令jmp,条件跳转指令一系列,函数调用和返回指令call ret细节

      2.若干种寻址方式

      

           

      3.常用的寄存器分类

      普通寄存器,指针寄存器,变址寄存器,标志寄存器,段寄存器 以及对应功能。 

    寄存器16位32位64位
    累加寄存器   AX EAXRAX
    基址寄存器BXEBXRBX
    计数寄存器CXECXRCX
    数据寄存器DXEDXRDX
    堆栈基指针BPEBPRBP
    变址寄存器SIESIRSI
    堆栈顶指针SPESPRSP
    指令指针IPEIPRIP

       

           参考网址:https://blog.csdn.net/luoyhang003/article/details/46786591

      4. debug常用命令的使用(32bits Windows dos下可以使用,64bits dos没这个命令)

            -r   读取所有寄存器内容

      -a   在cs:ip处写入汇编代码

      -d   读取(可以指定起始地址)内存区内容,默认从开始位置ds:ip显示128字节空间

      -u   查看cs:ip处(可指定开始位置)的反汇编(机器码)得到的汇编代码

      -t/-p    单步执行

      5.asm文件编写规范以及ml指令、debug指令的结合操作 


       推荐入门的书籍:  《解密数据解密的关键技术》第一、二章的内容。

         

     

  • 相关阅读:
    周末小练习
    第十二届全国大学生信息安全竞赛总结与反思
    sql注入学习心得与sqlmap使用心得
    2019“嘉韦思”杯RSA256题目wp
    斐波那契数列求解的三种方法
    二叉树的下一个节点
    替换空格
    二维数组中的查找
    不修改数组找出重复数字
    数组中重复数字
  • 原文地址:https://www.cnblogs.com/Higgerw/p/10460864.html
Copyright © 2011-2022 走看看