深圳市維動智芯逆向開發(fā)部,專注于單片機解密及BIN文件/HEX文件逆向C語言。
二進制燒錄文件,是單片機運行的機器碼,通常我們通過單片機解密技術,可以成功提取二進制代碼。
針對目前常用的51、ARM系列等MCU,通過單片機解密技術,可以成功提供二進制代碼。但二進制代碼是沒法讀懂的,必須反匯編成匯編語言程序才能被懂匯編的工程師看懂,甚至進行功能修改或創(chuàng)新升級。但目前精通匯編的工程師鳳毛麟角,就算有這類精通匯編的工程師,但是如果修改或新添加的功能比較多,工程師也是無能為力。這類情況,唯有一條途徑可以解決,那就是逆向翻譯成C語言代碼。

逆向成C的過程,是一個系統(tǒng)的工程,對逆向工程師的要求非常高,豐富的逆向經(jīng)驗及嚴謹工作態(tài)度是項目成功的關鍵。深圳市維動智芯科技,長期進行逆向成C的研究及實踐,擁有豐富的逆向經(jīng)驗,專業(yè)、專職提供逆向成C語言程序的服務。目前支持的單片機系列有: 51單片機系列、AVR單片機系列、MSP430單片機系列、PIC12、PIC16系列單片機、STM32F10X、LPC17XX、M05X等Cortex M3及Cortex M0系列ARM單片機。

目前我們已經(jīng)有多款51及ARM系列逆向C語言的成功案例,文件從100K-500K大小左右。 歡迎有需求的客戶與我們聯(lián)系。我們將竭誠為您提供最專業(yè)的技術服務。

我們通常第一步都是將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-------------*
再根據(jù)匯編代碼去逆向C代碼。