{
  "added_at": "2026-11-03",
  "additional_evidence_urls": [
    "https://github.com/nccgroup/ghidra-nanomips/blob/62ebe71bb858dd193bef9bb421e7b9888e140882/data/languages/nanomips.ldefs",
    "https://github.com/nccgroup/ghidra-nanomips/blob/62ebe71bb858dd193bef9bb421e7b9888e140882/data/languages/nanomips.opinion",
    "https://github.com/nccgroup/ghidra-nanomips/blob/62ebe71bb858dd193bef9bb421e7b9888e140882/data/languages/nanomips.slaspec",
    "https://github.com/nccgroup/ghidra-nanomips/blob/62ebe71bb858dd193bef9bb421e7b9888e140882/data/languages/nanomips.sinc",
    "https://github.com/nccgroup/ghidra-nanomips/blob/62ebe71bb858dd193bef9bb421e7b9888e140882/extension.properties",
    "https://github.com/nccgroup/ghidra-nanomips/blob/62ebe71bb858dd193bef9bb421e7b9888e140882/LICENSE",
    "https://github.com/nccgroup/ghidra-nanomips/releases/tag/v0.3.3",
    "https://www.nccgroup.com/research/ghidra-nanomips-isa-module/"
  ],
  "category": "native-analysis",
  "description_en": "Ghidra processor module that adds nanoMIPS disassembly and decompilation through a SLEIGH specification of the little-endian 32-bit nanoMIPS instruction set, including its multithreading instructions. NCC Group's announcement says it was written while reverse engineering MediaTek 5G baseband firmware, implements the instructions met in that firmware and leaves some complex P-Code emulation unimplemented, yet decompiles most of the baseband code the team analyzed.",
  "description_zh": "为 Ghidra 增加 nanoMIPS 反汇编和反编译能力的处理器模块，以 SLEIGH 规范描述小端 32 位 nanoMIPS 指令集，包括其多线程指令。NCC Group 的发布文章称，该模块是在逆向分析 MediaTek 5G 基带固件时编写的，实现了该固件中遇到的指令，部分复杂 P-Code 仿真尚未实现，但已能反编译团队分析过的大部分基带代码。",
  "entry_url": "https://awesomerea.org/resources/ghidra-nanomips/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/ghidra-nanomips/",
  "evidence_url": "https://github.com/nccgroup/ghidra-nanomips/blob/62ebe71bb858dd193bef9bb421e7b9888e140882/README.md",
  "group": "tools",
  "id": "ghidra-nanomips",
  "json_url": "https://awesomerea.org/resources/ghidra-nanomips/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/ghidra-nanomips/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/ghidra-nanomips/index.md",
  "name": "ghidra-nanomips",
  "name_zh": "ghidra-nanomips nanoMIPS 处理器模块",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "Latest release at review: v0.3.3, published 2025-11-06 from the reviewed main commit, with an extension zip built for Ghidra 11.4.2; v0.3.1 and v0.3.2 also target 11.4.2, while the README's build example uses Ghidra 11.0.3. For another Ghidra release, build from source with Gradle and GHIDRA_INSTALL_DIR, then add the zip through File > Install Extensions.",
    "The module defines the single language nanomips:LE:32:default, and its importer opinion file is a commented-out template, so the language is chosen manually when importing, for example for a raw binary. The README lists the nanoMIPS32 ISA, privileged-architecture, multithreading, ELF ABI and I7200 core manuals it was written from; those documents are not included.",
    "Release notes record p-code fixes for LWM/RESTORE, BITREVH and memory references, a compiler-spec fix for a decompiler varnode error and PC-relative address display for ADDIUPC. The repository has no tests or CI, and the specification still carries TODO notes on effective-address handling.",
    "GPL-3.0; build.gradle keeps the Apache-2.0 header of Ghidra's extension skeleton. extension.properties names James Chambers and Robert Herrera as authors. Users supply the firmware to analyze; the announcement's MediaTek walkthrough is an illustration, not a bundled sample."
  ],
  "requirements_zh": [
    "审阅时最新版本为 v0.3.3，于 2025-11-06 基于所审阅的 main 分支提交发布，附带为 Ghidra 11.4.2 构建的扩展 zip；v0.3.1 和 v0.3.2 同样面向 11.4.2，而 README 的构建示例使用 Ghidra 11.0.3。若使用其他 Ghidra 版本，需用 Gradle 并设置 GHIDRA_INSTALL_DIR 从源码构建，再通过 File > Install Extensions 安装 zip。",
    "模块只定义了 nanomips:LE:32:default 一种语言，导入器判定文件仍是注释掉的模板，因此导入时（例如导入原始二进制）需手动选择该语言。README 列出了编写时参考的 nanoMIPS32 指令集、特权架构、多线程、ELF ABI 以及 I7200 内核手册；仓库不含这些文档。",
    "发布说明记录了 LWM/RESTORE、BITREVH 及内存引用的 p-code 修正、一处导致反编译器 varnode 错误的编译器规范修正，以及 ADDIUPC 的 PC 相对地址显示。仓库没有测试或 CI，规范中仍有关于有效地址处理的 TODO 注释。",
    "采用 GPL-3.0；build.gradle 保留了 Ghidra 扩展模板的 Apache-2.0 文件头。extension.properties 署名作者为 James Chambers 和 Robert Herrera。待分析的固件需由使用者提供；发布文章中的 MediaTek 演示仅为示例，并非随附样本。"
  ],
  "targets": [
    "binary",
    "firmware"
  ],
  "url": "https://github.com/nccgroup/ghidra-nanomips",
  "verification": "source-reviewed",
  "verified_at": "2026-10-27"
}
