0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

反汇编的一些基本知识

芯片逆向 来源:芯片逆向 2024-01-19 09:37 次阅读

汇编的一些基本知识

在程序届有一句名言:如果你能读懂汇编,一切程序对你来说就是开源。

在程序届有一句名言:如果你能读懂汇编,一切程序对你来说就是开源。所以要抵达黑客层次,不熟练的掌握分析技巧那是不可能的。我们看看一些的工具和相关技巧,后续我们再看看一些高级方法该怎么用。

常用的工具一般需要执行三个步骤:

1,加载要反汇编的二进制文件;

2,从二进制文件中找到所有机器指令;

3,将指令转换为汇编语句;通常第2步是一个难点,由于机器指令与通常的二进制数值无异,因此很容易把不是指令的数值认为是机器指令。为了尽可能降低步骤2的错误,反汇编算法常采用两种模式,分别是线性反汇编和递归反汇编。

线性反汇编其实就是从头走到尾,将所有二进制数值都认为是机器指令,然后将其转换为汇编语句,我们常用的Objdum就是如此。这当然会产生问题,很显然不可能所有二进制数值都是机器指令,因此这种做法容易将原本是数据的数值看做是指令。由此会带来两种错误,一种是将数值转换成无效机器指令,一种更糟糕,数值正好对应了某条机器指令,于是给后面的分析带来巨大的干扰.

接下来我们看看递归反汇编。它的基本思路是寻找程序的控制流,它首先从main等程序入口着手,然后先是线性,如果遇到jump等指令,它就会跳到jump对应的地址继续反汇编。这种情况也容易出问题,因为程序的控制流很难追踪,因为很多跳转其实是隐性跳转,也就是这种跳转不会在二进制文件中给出具体地址,需要在运行时才能确认具体地址。

致芯科技可以对程序进行解密后进行反汇编,得到汇编代码,我们是不能直接得到c语言的。一般只要懂汇编语言的工程师也懂C语言,那么就可以照着汇编语言写成c语言。不过这个过程需要比较长的时间和耐心去做。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源
    +关注

    关注

    3

    文章

    2985

    浏览量

    41718
  • 反汇编
    +关注

    关注

    1

    文章

    29

    浏览量

    10500
  • 汇编代码
    +关注

    关注

    0

    文章

    23

    浏览量

    7512

原文标题:反汇编的一些基本知识

文章出处:【微信号:zhixinkeji2015,微信公众号:芯片逆向】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    为什么要反汇编反汇编文件的生成和解读

    反汇编顾名思义就是汇编的逆过程,将二进制文件反汇编汇编代码。arm-linux-objdump是交叉编译工具链里的一个工具,专门用来反汇编
    发表于 08-02 10:25 3030次阅读
    为什么要<b class='flag-5'>反汇编</b>?<b class='flag-5'>反汇编</b>文件的生成和解读

    51单片机反汇编软件推荐

    小弟最近看了个返回编的程序,用了网上的几种反汇编软件 感觉反的不怎么对 不知各位大神能否推荐可靠的反汇编软件给小弟 谢谢了
    发表于 05-25 22:12

    单片机反汇编器有哪些?

    样,那就需要手工调整。 芯片解密出来的文件是烧写文件,客户想研究学习程序思路,或者需要改变一些参数,在烧写文件上几乎无法修改,烧写文件时0110001这些格式。如果能提供反汇编后的ASM文件,那么
    发表于 06-13 14:37

    什么是反汇编?有什么作用?

    、病毒分析、逆向工程、软件汉化等领域。学习和理解反汇编语言对软件调试、漏洞分析、OS的内核原理及理解高级语言代码都有相当大的帮助,在此过程中我们可以领悟到软件作者的编程思想。总之句话:软件切神秘
    发表于 06-26 12:12

    反汇编中怎么学习反汇编算法?

    像那么简单。通常,指令与数据混杂在起,区分它们就显得非常重要。反汇编可执行文件:该文件必须符合可执行文件的某种通用格式,如Windows所使用的可移植可执行(Portable Executable
    发表于 06-26 16:06

    反汇编的原理是什么?为什么需要反汇编

    反汇编的原理是什么?为什么需要反汇编
    发表于 11-05 07:24

    变频电源的一些主要的基本知识

    的基础认识,你了解多少呢?今天为大家讲讲变频电源的一些主要的基本知识:1、变频电源只会降压,不能升压;2、变频电源对供电电源的质量要求比较高;3、变频电源工作的同时还是台电磁×××;4、价格便...
    发表于 12-30 07:20

    51单片机反汇编软件

    51单片机反汇编软件:经过单片机解密后得到了机器代码后,往往需要多学习一些别人的编程经验或是对程序进行修改。在没有源程序的情况下,反汇编目标代码为我们提供了一种
    发表于 10-12 07:55 740次下载
    51单片机<b class='flag-5'>反汇编</b>软件

    义隆单片机反汇编软件

    义隆单片机反汇编软件:义隆电子的产品线十分广泛且知识产权(IP)十分丰硕,采用的技术包括数字、模拟及嵌入式内存,并拥有数字模拟混合技术和高阶的设计流程(Mixed Signal & H
    发表于 10-12 10:10 204次下载

    PIC单片机反汇编

    PIC单片机反汇编器:PIC单片机是由美国微芯电子设计制造的,应用在各个领域。这款PIC单片机的反汇编软件,可以反汇编大部分PIC单片机,使用界面友好。
    发表于 10-12 10:18 352次下载

    单片机反汇编工具包

    单片机反汇编工具包 单片机反汇编  单片机反汇编即写入单片机的bin文件或是hex文件,经过人工处理或是反汇编软件处理成汇编语言。这些
    发表于 04-07 17:13 277次下载

    51单片机反反汇编

    51单片机反反汇编
    发表于 03-01 12:46 10次下载

    HOLTEK单片机反汇编软件

    HOLTEK单片机反汇编软件
    发表于 12-13 14:02 38次下载

    PIC反汇编(一)汇编程序和PIC

    PIC反汇编(一)汇编程序和PIC前言1、PIC2、汇编语言和反汇编语言3、目标流程前言由于一些要求,现在需要将一段hex文件
    发表于 11-16 16:21 20次下载
    PIC<b class='flag-5'>反汇编</b>(一)<b class='flag-5'>汇编</b>程序和PIC

    【RT-Thread学习笔记】使用objdump反汇编

    如何使用objdump进行反汇编
    的头像 发表于 07-30 14:03 2031次阅读
    【RT-Thread学习笔记】使用objdump<b class='flag-5'>反汇编</b>