自主可控,今天接手了个项目,要把MC6812开发的代码, 反汇编一下,再归纳到C,然后移植到新平台上。
准备如实记录一下完成这个项目的心路历程。也对自己学习和研究有个记录,便于将来总结和分析。
输入的资源是:
bin文件一个,MC6812的spec文档, 反汇编工具,IDA Pro
人力、时间和对反汇编的痴迷
输出:
C语言或伪代码
MC6812是moto10年前比较常用的MCU,从MC6811进化而来的16位单片机。但本人小白一个,从没在这款芯片上开发过代码。
幸运的是是个主流芯片,IDA PRO和GCC都支持6811和6812平台。
不幸的是,IDA PRO的F5只能支持ARM和X86的伪代码生成,没有MC6812这款芯片的。
bin文件的代码部分估计15000个字节,估计汇编语言5000行,C的话估计500行。
如果从汇编入手,分析算法再转成C,估计没3个月啃不下来。
所以么,
第一步,先找找没有IDA Pro的插件来支持MC6812或MC6811的伪代码生成。
访问hex-rays的论坛,注册要idapro id,这个真没有,没有现成的插件,只能转向度娘找资料了。
第二步,从开源软件中找idapro的插件,看看是否有生成伪代码的插件,并且有源代码的,是否可能加个CPU来支持MC6812的伪代码生成,这个比直接看汇编效率高多了。
未完待续……………….
本文为原创文章,转载请注明出处!