找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1792|回復(fù): 8
收起左側(cè)

HEX文件能轉(zhuǎn)成C語(yǔ)言嗎

[復(fù)制鏈接]
ID:307084 發(fā)表于 2024-6-17 09:00 | 顯示全部樓層 |閱讀模式
HEX文件如何能轉(zhuǎn)成C語(yǔ)言,能行的話,用什么軟件?
回復(fù)

使用道具 舉報(bào)

ID:88256 發(fā)表于 2024-6-17 09:40 | 顯示全部樓層
可以轉(zhuǎn)成匯編但轉(zhuǎn)不了C
回復(fù)

使用道具 舉報(bào)

ID:1121801 發(fā)表于 2024-6-17 09:41 | 顯示全部樓層
軟件有GHIDRA或者IDA PRO,還有一個(gè)是HEX2C,不過(guò)反編譯過(guò)來(lái)的C程序不一定正確,需要人為再次較定程序。而且有一些C語(yǔ)言定義的頭文件不一樣,可能導(dǎo)致反編譯出來(lái)的語(yǔ)句出現(xiàn)與原C程序完全不一樣的情況。其它反編譯正確率比較高的是反編譯到匯編語(yǔ)言
回復(fù)

使用道具 舉報(bào)

ID:57657 發(fā)表于 2024-6-17 09:45 | 顯示全部樓層
可以的,先將hex轉(zhuǎn)換成bin格式,再將bin轉(zhuǎn)換成C語(yǔ)言的char數(shù)組代碼即可。
回復(fù)

使用道具 舉報(bào)

ID:401564 發(fā)表于 2024-6-17 12:58 | 顯示全部樓層
反編譯C語(yǔ)言的前提是: 你的C和匯編玩得非常的6,就像抄板一樣,你得很能畫(huà)板,才能抄得好板
反編譯的特點(diǎn):
1,逆向編譯出來(lái)的代碼不一定是正確的,它是有成功率的,也就是說(shuō),你還得去調(diào)試和驗(yàn)證代碼的正確性
2,它是機(jī)器式的,像你在C語(yǔ)言中大量的宏定義是不會(huì)體現(xiàn)出來(lái)的,框架越大的程序,用的宏就越多,像什么MAX,MIN之類的,有的時(shí)候,沒(méi)有宏定義的C代碼,就是算是原本的代碼,看起來(lái)都累,更不用說(shuō)是反編譯過(guò)來(lái)的C代碼了
回復(fù)

使用道具 舉報(bào)

ID:1118092 發(fā)表于 2024-6-17 13:59 | 顯示全部樓層
將HEX轉(zhuǎn)C是很困難的事,只有C的超級(jí)高手才有可能還原,也只是“可能”,他必須充分了解C的編譯規(guī)律與特點(diǎn),才能進(jìn)行反編譯。 由于單片機(jī)是最底層的控制器,它與硬件是直接連接的,如果不了解硬件需求是無(wú)法理解程序意圖的,這對(duì)反編譯是不利的。
回復(fù)

使用道具 舉報(bào)

ID:910662 發(fā)表于 2024-6-17 17:26 | 顯示全部樓層
估計(jì)將來(lái)人工智能可以實(shí)現(xiàn)。
回復(fù)

使用道具 舉報(bào)

ID:466250 發(fā)表于 2024-6-17 17:33 | 顯示全部樓層
有米可行
回復(fù)

使用道具 舉報(bào)

ID:57657 發(fā)表于 2024-6-17 22:36 | 顯示全部樓層
樓主沒(méi)有說(shuō)清楚使用什么算法轉(zhuǎn)換,以下是一種簡(jiǎn)單的轉(zhuǎn)換方法:
使用STC-ISP打開(kāi).hex程序文件,然后保存數(shù)據(jù)為.bin格式
使用WinHEX打開(kāi).bin格式,然后點(diǎn)擊->復(fù)制所有->C源碼 即可。
轉(zhuǎn)換后的代碼是以下圖樣子的:
1.png


回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表