如何将汇编语言逆向成为C语言

一、应用场景
      逆向过程中往往需要将汇编语言逆向成为C语言,IDA是一个很好的工具,给我们逆向工作带来了很大的便利,但是,如果IDA没有识别出来代码呢,jumpOUT,我们需要掌握将汇编语言直接转成C。

二、反汇编技巧(摘取自 天书夜读)
     2.1  首先,将流程代码与数据计算的代码分开,我们使用
            F: 用于标识 调用函数或者作为函数被调用,出栈、入栈
            C:用于标识 流程控制代码、判断、比较、循环
            D: 用于标识 数据处理
     2.2  翻译代码
           一般被读入的为输入,被写的内部变量为输出;
           取出D的代码进行逐句翻译,任何一段不加任何跳转、连续的mov 和 加减乘除都可以还原成为一个表达式;
           标识为F的代码基本不用翻译,本身为简单的函数调用。
           C的代码将其翻译成为if 、for、do、switch。
     2.3  表达式合并 与  控制流程结合,整理出来;
 

例子,字节可以写一个简单了程序,丢到IDA中,然后使用上面的步骤,就能还原。

  • 7
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值