关键词: 反汇编
一、什么是汇编和反汇编
工程师编写单片机程序的时候一般是采用用汇编语言或高级语言(C或C++)编写的,这些程序代码叫原代码,当程序编写完成后,经由编译软件或编译器的编译天生可以烧录到单片机ROM存储区里的文件,不同型号的单片机的编译器天生的文件后缀是不同的,但是常用的BIN和HEX文件,这些天生的文件在解密行业里叫机器代码,及机器码,这样的机器码是在单片机里运行的,也可以说是只有机器能够读懂的。而反汇编等于指将这些执行文件,即机器码反编译还原成汇编语言。但通常反编译出来的程序与原程序会存在很多不同,固然执行效果相同,但程序代码会发生很大的变化,假如是语句比较多的汇编,一般人很难读懂,需要自己加注释,然后去一条一条的读,是需要一定的毅力的,我曾经为了分析一个芯片的反汇编代码,花费了一周的时间。所以说并不是反汇编后有了原程序,就一切都明白了,更多的是需要工程师的技术分析。
反汇编的方法有手工反汇编和软件反汇编,现在的单片机规模越来越大,嵌入的代码也越来越多,那么就给手工反汇编带来了良多麻烦,需要大量的时间,使用软件反汇编是理想的方式,只要有了反汇编的软件,在计算机里运行后很快就可以完成反汇编工作。
二、为什么要进行反汇编
由于工程师对机器码无法读懂,那么学习解密后提供的文件就比较难题,另外修改也不很利便,需要技术职员对单片机的汇编和反汇编非常清晰才可以直接去修改。假如能提供反汇编后的文件,那么就相对轻易了一些。基于以上原因,良多客户但愿能提供反汇编业务,我们解密后提供的文件是BIN或HEX文件,假如客户需要,可以从我们芯片解密网站下载反汇编软件进行反汇编。假如我们没有宣布的反汇编软件的型号,我们提供反汇编业务,但是需要一定的用度和时间。
既然我们叫反汇编,经由反汇编后提供的就是汇编语言代码,而不是C语言代码,良多客户咨询能不能提供C代码,您的想法主意我们可以理解,但是我们没有那个能力去反成C语言。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)