關(guān)于芯片程序的機(jī)器碼、匯編代碼、源代碼常常是令人混淆的幾個(gè)概念,今天我們主要給大家介紹一下這幾種代碼的特點(diǎn)和一般功能。
機(jī)器碼
機(jī)器碼顧名思義是單片工作且能識(shí)別和運(yùn)行的一類代碼,常見(jiàn)的格式有二進(jìn)制BIN格式、十進(jìn)制HEX格式等。簡(jiǎn)單來(lái)說(shuō)就是便于機(jī)器識(shí)別的高低電平組合,每個(gè)單片機(jī)里都有狀態(tài)分析電路能分析每個(gè)機(jī)器碼的含義從而驅(qū)動(dòng)單片機(jī)運(yùn)行。機(jī)器碼的優(yōu)點(diǎn)是一般存儲(chǔ)較小,便于單片機(jī)識(shí)別,缺點(diǎn)也很明顯就是人無(wú)法讀懂和直接進(jìn)行功能修改。
匯編代碼
匯編代碼的概念就是面向機(jī)器的程序設(shè)計(jì)語(yǔ)言,在匯編語(yǔ)言中用助記符號(hào)代替操作碼,用標(biāo)號(hào)或者地址符代替地址碼,用符號(hào)代替機(jī)器碼,把機(jī)器語(yǔ)言轉(zhuǎn)換成可簡(jiǎn)單讀懂的匯編語(yǔ)言,也稱做符號(hào)語(yǔ)言。這里所說(shuō)的可讀懂只是對(duì)于熟悉編程的專業(yè)人員可以部分,如果需要進(jìn)行比較復(fù)雜的逆向工程功能分析修改、注冊(cè)碼尋找、漏洞分析等,通常難以完成的,所以在逆向工程領(lǐng)域又要引出另外一種代碼-源代碼的概念。
源代碼
源代碼也稱源程序,這是一種人類可讀可修改的計(jì)算機(jī)語(yǔ)言,源代碼即我們技術(shù)人員平時(shí)的開(kāi)發(fā)代碼,通常以C語(yǔ)言、JAVA語(yǔ)言、PYTHON語(yǔ)言等工具實(shí)現(xiàn),其中C語(yǔ)言是大家使用最廣泛也是最為熟悉的工具。擁有源代碼的好處不言而喻,既可以立即讀懂(專業(yè)人員)也可以實(shí)現(xiàn)任意功能修改,在逆向工程領(lǐng)域,掌握源代碼即掌握程序的所有權(quán)。
總結(jié)
近年來(lái),由于客戶對(duì)于產(chǎn)品性能的不斷優(yōu)化,越來(lái)越多的客戶需要將機(jī)器碼反匯編甚至反C源代碼來(lái)修改和升級(jí)產(chǎn)品的功能,實(shí)質(zhì)上完整的反C代碼是基本不可能實(shí)現(xiàn)的,但我們可以利用機(jī)器碼進(jìn)行反匯編操作,再通過(guò)匯編代碼進(jìn)行反C操作得到一個(gè)偽C代碼,只是工作量巨大所以一般成本較高。這樣得到的源代碼也是技術(shù)工程人員可以讀懂的,如果需要進(jìn)行程序修改升級(jí)就簡(jiǎn)單的多了。目前我們已經(jīng)為客戶做過(guò)很多相關(guān)案例,擁有豐富的經(jīng)驗(yàn)和實(shí)力。
審核編輯:劉清
-
單片機(jī)
+關(guān)注
關(guān)注
6071文章
45256瀏覽量
660063 -
匯編語(yǔ)言
+關(guān)注
關(guān)注
14文章
412瀏覽量
38212 -
機(jī)器碼
+關(guān)注
關(guān)注
0文章
13瀏覽量
8469 -
機(jī)器識(shí)別
+關(guān)注
關(guān)注
1文章
14瀏覽量
2657
原文標(biāo)題:關(guān)于機(jī)器碼、匯編代碼、源代碼特點(diǎn)和功能,是否可以直接轉(zhuǎn)換
文章出處:【微信號(hào):zhixinkeji2015,微信公眾號(hào):芯片逆向】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
機(jī)器碼提取, 芯片破譯
ARM匯編指令集與偽指令說(shuō)明
介紹一些常見(jiàn)的匯編語(yǔ)句
水下機(jī)器人制作需要實(shí)現(xiàn)哪些功能呢
如何將高級(jí)C語(yǔ)言編譯成機(jī)器碼
GCC怎么生成128bit自定義擴(kuò)展指令的匯編碼和機(jī)器碼?
移動(dòng)基站的一般特點(diǎn)
如何對(duì)單片機(jī)的機(jī)器碼進(jìn)行反編譯代碼免費(fèi)下載

機(jī)器碼怎么改
單片機(jī)的指令和機(jī)器碼與功能一覽表資料免費(fèi)下載

RISC-V匯編簡(jiǎn)介

匯編學(xué)習(xí)入門之第一個(gè)匯編程序

評(píng)論