当前位置:IC解密> 芯片解密 > 浏览正文
单片机解密之如何反汇编
经常有一些客户在单片机解密完成之后,会要求我们做反汇编,深圳鹏芯集成电路有限公司可根据客户的需求进行反汇编的工作。那单片机解密之如何反汇编呢?
所谓的单片机反汇编即写入单片机的bin文件或是hex文件,经过人工处理或是反汇编软件处理成汇编语言。这些汇编语言里面变量名,标号名,程序名都是简单的数字字母符号,没有实际意义。要看懂这种程序相对而言是比较难一点,但是如果程序不大(10K以下)而且对产品功能比较熟悉,看懂反汇编程序是完全可以的,另外如果改动不大,反汇编都是有必要的而且也是非常有效的。从理论上讲,由运算器、控制器和存储器这几大部件组成的IC,都可以将执行指令的机器码进行反汇编。不同品牌的单片机,烧录文件格式都不一样。而无论哪种格式的烧录文件,鹏芯公司都有能力可以进行反汇编,*.BIN 格式是最简洁最通用的格式。
目前我司可进行反汇编且有成功案例的单片机型号有:各类51单片机(宏晶STC、爱特梅尔ATMEL、华邦WINBOND、新茂Syncmos、飞利浦philips、SST等单片机),AVR系列单片机,合泰HOLTEK单片机,FEELING单片机、MicroChip PIC单片机、松翰SONIX单片机、义隆EMC、摩托罗拉Motorola(飞思卡尔freescale)、ST7、NEC、MSP430单片机、ARM系列32位单片机等系列型号。
现在我们就客户对单片机解密反汇编的一些常见疑问为大家解答。
1.反汇编得到的是什么
a、反汇编后的代码经编译形成的可执行文件与原解密文件完全一致;
b、反汇编后的代码中个别数据可能被反汇编成指令,但不影响阅读程序和程序功能;
c、反汇编后的代码中没有“见名知意”的变量名,程序名及程序标号,是一些符号。
2.如何做反汇编
通过各种软件进行反汇编再用手工的方法改正错误的指令,我们鹏芯工程师会有方法确认反汇编出来的程序完全正确。
3.为什么avr反汇编有以下报警 warning: Wrap rjmp/rcall illegal for device > 4k words - Turn off wrap option use jmp/call
rjmp或是rcall是十六位数指令,最大的偏移地址为FFF(4K),所以最大偏移为±2K avr程序一般是用C编出来的,C编译器在两页之间会用rjmp rcall,而实际上跳转也没有超过2K,但汇编器一般让程序员不要跨页调用或是跳转。故报警。
4.能不能通过反汇编得到C语言
如果需要得到成C语言,我们需要把反汇编程序全部看懂,再重新用C编一个程序出来,这个工作量非常大,难度也是非常大,如果程序在8K以下还能做,再大我们做不了,而且这个费用也比较高。
十年专业IC解密、芯片解密、PCB抄板、克隆、软件编程硬件设计、电路板批量生产加工
深圳市鹏芯集成电路有限公司
咨询热线:0755-23121075 23121076
手机:15338856653 15361856696 15338865299
QQ :1879000686 1557277904 1354457402
微信公众号:sz_pengchip
网址:/
公司地址:深圳市宝安区龙华镇梅龙路862号明珠商务大厦
上一篇:电路板抄板之3G路由器 |
下一篇:芯片破解中的BOM物料清单制作 |