微控制器stm8拆卸

时间:2017-02-10 18:45:14

标签: disassembly stm8

是否可以反汇编hex stm8 固件?

2 个答案:

答案 0 :(得分:0)

您的文件包含两个部分:8000-87FFh和8800-BFFFh。显然首先是bootloader,第二个是主程序。 你可以单独拆卸它们。

我尝试过以下操作:

  1. 只需将第一部分剪切并保存到一个文件中,然后再将其保存到另一个文件中。
  2. 使用naked_asmnaken_util.exe -disasm -stm8 ./fw.hex > ./fw.asm
  3. 反汇编每个文件
  4. 结果我有两个asm文件:main.asmboot.asm
  5. 启动文件以常见的IRQ表开头。主文件将所有IRQ指定为886Bh,其中似乎是开始main()函数,第一条指令是asm("sim"),禁用所有IRQ。

    此外,您可以使用一些更复杂的程序,例如IDA,并在需要时将它们解包。

答案 1 :(得分:0)

此IDA Pro 6.6插件似乎可以正常工作。 https://github.com/derbroti/Stm8Ida

假设您使用的是Windows:

  1. 打开VS2013解决方案,并使用IDA 6.6 SDK标头和库进行构建。您需要将idasdk66 \ include和idasdk66 \ module添加到includes列表,并将idasdk66 \ lib \ x86_win_vc_32添加到项目文件中的库位置列表。

  2. 然后将输出st8.w32复制到:C:\ Program Files(x86)\ IDA 6.6 \ procs