深圳市维动智芯逆向开发部,专注于单片机解密及BIN文件/HEX文件逆向C语言。
二进制烧录文件,是单片机运行的机器码,通常我们通过单片机解密技术,可以成功提取二进制代码。
针对目前常用的51、ARM系列等MCU,通过单片机解密技术,可以成功提供二进制代码。但二进制代码是没法读懂的,必须反汇编成汇编语言程序才能被懂汇编的工程师看懂,甚至进行功能修改或创新升级。但目前精通汇编的工程师凤毛麟角,就算有这类精通汇编的工程师,但是如果修改或新添加的功能比较多,工程师也是无能为力。这类情况,唯有一条途径可以解决,那就是逆向翻译成C语言代码。

逆向成C的过程,是一个系统的工程,对逆向工程师的要求非常高,丰富的逆向经验及严谨工作态度是项目成功的关键。深圳市维动智芯科技,长期进行逆向成C的研究及实践,拥有丰富的逆向经验,专业、专职提供逆向成C语言程序的服务。目前支持的单片机系列有: 51单片机系列、AVR单片机系列、MSP430单片机系列、PIC12、PIC16系列单片机、STM32F10X、LPC17XX、M05X等Cortex M3及Cortex M0系列ARM单片机。

目前我们已经有多款51及ARM系列逆向C语言的成功案例,文件从100K-500K大小左右。 欢迎有需求的客户与我们联系。我们将竭诚为您提供最专业的技术服务。

我们通常第一步都是将BIN文件或HEX文件逆向成汇编代码。

具体反汇编样例如下:

;pc=0x08000A20(0x08000A20);

L08000A20

 movs r0,#0x00                   ;[pc=0x08000A20] 0x20 0x00

 movs r0,#0xff                   ;[pc=0x08000A22] 0x20 0xFF

 b L08000A28                    ;[pc=0x08000A24] 0xE0 0x00

L08000A26

 subs r0,r0,#0x01                  ;[pc=0x08000A26] 0x1E 0x40

L08000A28

 cmp r0,#0x00                    ;[pc=0x08000A28] 0x28 0x00

 bne L08000A26                  ;[pc=0x08000A2A] 0xD1 0xFC

 bx lr                                  ;[pc=0x08000A2C] 0x47 0x70

;--return-------------*
再根据汇编代码去逆向C代码。