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

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

3天内不再提示

介绍一下机器码与汇编代码的特点和一般功能

芯片逆向 来源:芯片逆向 2023-03-31 10:40 次阅读

关于芯片程序的机器码、汇编代码、源代码常常是令人混淆的几个概念,今天我们主要给大家介绍一下这几种代码的特点和一般功能。

机器码

机器码顾名思义是单片工作且能识别和运行的一类代码,常见的格式有二进制BIN格式、十进制HEX格式等。简单来说就是便于机器识别的高低电平组合,每个单片机里都有状态分析电路能分析每个机器码的含义从而驱动单片机运行。机器码的优点是一般存储较小,便于单片机识别,缺点也很明显就是人无法读懂和直接进行功能修改。

汇编代码

汇编代码的概念就是面向机器的程序设计语言,在汇编语言中用助记符号代替操作码,用标号或者地址符代替地址码,用符号代替机器码,把机器语言转换成可简单读懂的汇编语言,也称做符号语言。这里所说的可读懂只是对于熟悉编程的专业人员可以部分,如果需要进行比较复杂的逆向工程功能分析修改、注册码寻找、漏洞分析等,通常难以完成的,所以在逆向工程领域又要引出另外一种代码-源代码的概念。

源代码

源代码也称源程序,这是一种人类可读可修改的计算机语言,源代码即我们技术人员平时的开发代码,通常以C语言JAVA语言、PYTHON语言等工具实现,其中C语言是大家使用最广泛也是最为熟悉的工具。拥有源代码的好处不言而喻,既可以立即读懂(专业人员)也可以实现任意功能修改,在逆向工程领域,掌握源代码即掌握程序的所有权。

总结

6d2a0e82-cee2-11ed-bfe3-dac502259ad0.jpg

近年来,由于客户对于产品性能的不断优化,越来越多的客户需要将机器码反汇编甚至反C源代码来修改和升级产品的功能,实质上完整的反C代码是基本不可能实现的,但我们可以利用机器码进行反汇编操作,再通过汇编代码进行反C操作得到一个伪C代码,只是工作量巨大所以一般成本较高。这样得到的源代码也是技术工程人员可以读懂的,如果需要进行程序修改升级就简单的多了。目前我们已经为客户做过很多相关案例,拥有丰富的经验和实力。






审核编辑:刘清

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

    关注

    6001

    文章

    43978

    浏览量

    620877
  • 汇编语言
    +关注

    关注

    14

    文章

    404

    浏览量

    35199
  • 机器码
    +关注

    关注

    0

    文章

    12

    浏览量

    8253
  • 机器识别
    +关注

    关注

    1

    文章

    13

    浏览量

    2515

原文标题:关于机器码、汇编代码、源代码特点和功能,是否可以直接转换

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

收藏 人收藏

    评论

    相关推荐

    机器码提取, 芯片破译

    本帖最后由 北风凛冽 于 2012-6-28 16:12 编辑 小弟现在的项目是要从集成电路的芯片里面提取程序的二进制代码出来,哪位大神能提供MSP430系列和RENESAS系列芯片内部机器码提取的方法?跪求!!!! {:23:}
    发表于 06-28 15:55

    求助机器码问题

    机器码在两种不同的单片机实现的功能样吗?
    发表于 07-29 23:18

    哪里有ARM的指令集,机器码的资料?

    ARM公司公布了其指令集了吗?在哪可以找到,会不会说明1、0、1、1这些机器码是高电平代表为1还是低电平为1
    发表于 01-14 15:20

    为什么在dis文件中的机器码每个字节从左往右显示

    刚开始学习新期的视频。最近看到了第8课第4节,里面谈到查看bin文件和dis文件中的机器码,为什么在dis文件中的机器码每个字节从左往右显示,而用Hex Editor Neo看bin文件中的
    发表于 05-30 04:15

    单片机解密的程序能修改吗?

    的程序就是为了要机器码,并不是为了修改的,而是把解密的机器码程序直接烧写到自己的单片机中去就得了。这要求在硬件上是完成与原来的电路样才行。2.有些产品只要求修改个别固定的内容,如开机显示字符、LOGO等,
    发表于 02-06 11:26

    【每日知识点】搞单片机开发,C和汇编的那点事~

    起来就有的烦了,到头来可能还不如用汇编来的快。初学者到底是应该先学 C 还是汇编?对于单片机的初学者来说,应该从汇编学起。因为汇编语言是最接近机器码
    发表于 04-01 10:36

    分享一下水下机器人的电机控制

    分享一下水下机器人的电机控制(针对的是直流无刷电机+双向电调的模式)。其实句话就说明白了,频率50hz的方波,1.5毫秒占空比是初始化;假如1~1.5毫秒正转,1.5~2毫秒反转,反之亦然。1.5
    发表于 09-16 08:43

    ARM汇编指令集与伪指令说明

    嵌入式知识-学习笔记(2):ARM汇编指令集与伪指令首先说明一下指令和伪指令的区别:指令:是CPU机器指令的助记符,经过编译后会得到串由1、0组成的
    发表于 12-14 06:50

    介绍些常见的汇编语句

    即使使用C/C++或者其他高级语言编程,最后也会被编译工具转换为汇编代码,并最终作为机器码存储在内存、硬盘或者其他存储器上。在调试程序时,经常需要阅读它的汇编
    发表于 12-20 06:05

    下机器人制作需要实现哪些功能

    有幸获得了省赛等奖,实属来之不易。中途也遇到了很多的困难,在赛后稍微做一下总结,也算分享些经验提示:以下是本篇文章正文内容,仅涉及到设计部分、水
    发表于 01-11 06:51

    介绍一下单片机按键“按与松开”功能的实现方法

    蓝桥杯单片机组对按键模块的考察不仅仅会涉及到普通的按键扫描,还有可能设计到些按键的高级用法:按与松开、长短按等。现在,我们介绍一下按键“按
    发表于 02-28 07:08

    介绍一下avr芯片的启动过程

    嵌入式程序的启动代码,就是startup代码一般汇编编写,代码效率高,但和C++代码融合起来
    发表于 02-28 12:29

    如何将高级C语言编译成机器码

    的相关知识,在集成SOC环境的时候,我们需要集成工具链用于编译C语言生成机器码机器码生成了,该怎么输入给CPU使用呢?后面期文章将和大家介绍CPU boot的几种方式。原作者:IC
    发表于 06-01 16:53

    GCC怎么生成128bit自定义扩展指令的汇编码和机器码

    我现在自定义了套128bit的指令,对应的处理器也写了,现在想测试一下结果和功能。想把自己定义的指令变成汇编码和机器码用来测试处理器。想请
    发表于 08-12 07:26

    如何对单片机的机器码进行反编译代码免费下载

    应一个做硬件的同事的要求,他利用其他软件可以得到十六进制的机器码,希望做一个简单的软件,可以将机器码反编译成汇编指令。本来网上应该有很多这方面的软件。但他说这个很特别,找不到,于是给他做了一个小软件现在将
    发表于 07-17 17:38 11次下载
    如何对单片机的<b class='flag-5'>机器码</b>进行反编译<b class='flag-5'>代码</b>免费下载