说明楼主太初级,迷恋于C。
1、C与HEX并不是一一映射的,有可能N个人写的C,会出同一个HEX,你希望回成哪个人写的呢?或许你可能说:任意一个孝可以,只要能转C就行。
同一个C程序,用不同的编译器去编译生成的HEX也不一定相同。
2、将HEX转C是很困难的事,只有C的超级高手才有可能还原,也只是“可能”,他必须充分了解C的编译规律与特点,才能进行反编译。
由于单片机是最底层的控制器,它与硬件是直接连接的,如果不了解硬件需求是无法理解程序意图的,这对反编译是不利的。
3、即使有能力做到HEX转C,也不会做这件事,一定是做:HEX→BIN→汇编,这种事我做过好几次,每次都花了几个月的时间,而且必须有硬件在手,且事先有可以运行的成品,进行功能、接口的比对。最后还原成程序流程图,以解出程序的意图。有了流程图,就可以用C重写了。就算是“还原”了,不过,有汇编程序又有流程图,也就没有再写C的必要了。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐