跳转到主要内容

日立(NEC)78K0反汇编器

项目描述

概述

k0dasm 是一种用于NEC 78K0二进制的反汇编器,其输出与as78k0汇编器兼容。它可以用来反汇编许多8位NEC 78K0微控制器的固件。请注意,NEC有多个微控制器系列,名称类似,如78K0S,它们使用不同的指令集。这些不支持。

k0dasm 是为了反汇编Delco制造的大众汽车高级V车载收音机的固件而开发的。这些收音机使用未记录的NEC µPD78F0831Y微控制器,它类似于µPD78F0833Y。一个配套程序,k0emu,是为同一项目开发的78K0仿真器。

功能

  • 相同反汇编。k0dasm的反汇编语言输出将使用as78k0组装成与原始二进制文件完全相同的位副本。这已在几个实际的固件二进制文件上进行了测试。

  • 代码/数据分离。从内存底部的向量开始,k0dasm使用递归遍历反汇编来分离代码和数据。这自动化了大部分反汇编过程,但间接跳转(br ax)仍然需要手动解决。

  • 符号生成。尽可能不将硬编码地址写入输出,k0dasm会自动为硬件寄存器和向量添加符号,为其他内存位置添加符号,并为分支和子程序添加标签。

安装

k0dasm是用Python编写的,需要Python 3.4或更高版本。Python包索引(PyPI)上提供了。您可以从那里下载它们,或者可以使用pip自动安装或升级k0dasm

$ pip install -U k0dasm

使用方法

k0dasm接受纯二进制文件作为输入

$ k0dasm input.bin > output.asm

假设文件是ROM镜像,应将其对齐到内存底部。例如,如果给出32K文件,k0dasm将假设镜像应位于0x0000-0x7FFF。加载镜像后,反汇编器读取向量并从它们的目标开始跟踪指令。

作者

Mike Naberezny

项目详情


下载文件

下载您平台的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。

源分布

k0dasm-1.0.1.tar.gz (27.7 kB 查看散列)

上传时间

构建分布

k0dasm-1.0.1-py2.py3-none-any.whl (27.6 kB 查看散列)

上传时间 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面