怎么样把hex转化成C语言形式?

2024-12-21 06:31:11
推荐回答(5个)
回答1:

有两种方法:
1、用相应的IDE(例如:keil)创建一个工程,然后将该C语言文件中的代码复制到工程中的目录下。然后使用keil 对该工程进行编译。这样就可以得到hex文件。
2、使用相应的编译器,一步一步的编译。
不推荐第二种方法因为,单独使用编译器编译需要很多麻烦的步骤,还有可能会出错。直接使用IDE会更加方便省去很多麻烦的步骤。

回答2:

基本上不可能,因为HEX必定是单片机的程序格式,
从C语言编译完成出来的程序格式和编译器,MCU都有关系,
7 ,8年前见过一个最厉害的C反编译器,但是也只能在 dos 下,反编译 TC
而且还需要反编译器自己的库。也就是反编译之后,没法在TC下编译,
如果你想做逆向功能,建议你还是多精通 汇编。然后用 IDA5.5 或者 SOFT-ICE
呵呵,目前这个是最可行的方案。

回答3:

回答可能让你失望,就是没有可能。不给个原因你是不会罢休的:
一般hex都是二进制文件用十六进制显示,也就是说是编译后的代码。编译后的代码是不可能做逆向工程的,否则源代码就不重要了。

回答4:

本人从事把HEX文件反编译成C语言很多年,成功完成把机器执行代码变成C语言的项目20余个,涉及的处理器有:8085和Z80(古老的处理器,比现在大部分程序员的年龄还大了),51系列,STM32,PIC,AVR,8086等等。大的项目原来的二进制代码达到100多KB。
把HEX文件变成C语言,HEX文件原来最初应是用C语言写了以后编译的,如果原来就是用汇编语言写的,就比较难变成C语言,因为这相当于理解汇编程序以后用C语言改写。
当然,目前为止,没有一个软件工具能自动把执行代码准确反编译成C语言,这些处理都是人工进行处理的,反编译的工作量是很大的。
反编译是逆向设计工程,一般用于研究别人的产品,作为学习和参考。实施反编译应注意涉及知识产权的问题。
在反编译方面有兴趣的朋友欢迎讨论。

回答5:

不太可能