{
  "added_at": "2026-11-03",
  "additional_evidence_urls": [
    "https://github.com/bigbigmdm/IMSProg/blob/a9c0a5d943e0f2d05a4012f215a2801a6c4d51e1/ChangeLog",
    "https://github.com/bigbigmdm/IMSProg/blob/a9c0a5d943e0f2d05a4012f215a2801a6c4d51e1/build_all.sh",
    "https://github.com/bigbigmdm/IMSProg/blob/a9c0a5d943e0f2d05a4012f215a2801a6c4d51e1/.github/workflows/build.yml",
    "https://github.com/bigbigmdm/IMSProg/blob/a9c0a5d943e0f2d05a4012f215a2801a6c4d51e1/IMSProg_database_update/main.cpp",
    "https://github.com/bigbigmdm/IMSProg/blob/a9c0a5d943e0f2d05a4012f215a2801a6c4d51e1/LICENSE",
    "https://github.com/bigbigmdm/IMSProg/releases/tag/v1.9.1"
  ],
  "category": "firmware",
  "description_en": "Qt desktop programmer that reads, writes, erases and verifies I2C, SPI and MicroWire EEPROMs, FeRAM, DataFlash and SPI NOR/NAND flash chips through low-cost CH341A, CH347T and FT232H USB programmers. It identifies SPI flash by JEDEC ID against an editable chip database, shows SFDP, status and security registers, scans NAND bad blocks, and keeps the chip image in a hex-editor buffer that can save or load parts of the image and import or export Intel HEX. Companion programs edit the chip database and update it from the author's web server.",
  "description_zh": "基于 Qt 的桌面编程器，通过低成本的 CH341A、CH347T 和 FT232H USB 编程器读取、写入、擦除和校验 I2C、SPI 与 MicroWire EEPROM、FeRAM、DataFlash 以及 SPI NOR/NAND 闪存芯片。它根据 JEDEC ID 在可编辑的芯片数据库中识别 SPI 闪存，显示 SFDP、状态寄存器和安全寄存器，可扫描 NAND 坏块，并把芯片镜像放在十六进制编辑缓冲区中，支持按区段保存或载入以及导入导出 Intel HEX。配套程序用于编辑芯片数据库，并从作者的网站更新数据库。",
  "entry_url": "https://awesomerea.org/resources/imsprog/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/imsprog/",
  "evidence_url": "https://github.com/bigbigmdm/IMSProg/blob/a9c0a5d943e0f2d05a4012f215a2801a6c4d51e1/README.md",
  "group": "tools",
  "id": "imsprog",
  "json_url": "https://awesomerea.org/resources/imsprog/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/imsprog/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/imsprog/index.md",
  "name": "IMSProg",
  "name_zh": "IMSProg EEPROM／闪存芯片编程器",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "Latest release at review: v1.9.1, published 2026-09-04 with a Flatpak and a macOS arm64 build; the ChangeLog says it added FT232H v1.2 support. The reviewed main commit is 41 commits ahead, mostly macOS packaging and path fixes. README lists Debian, Fedora, openSUSE, AUR, ALT, ROSA and RED OS packages and an Ubuntu PPA; a Windows build is maintained separately by a third party.",
    "Builds with CMake, g++ or clang, Qt5 or Qt6 with the Linguist tools, libusb 1.0, libftdi, pkg-config and udev on Linux, where README says Debian before 11 and Ubuntu before 20.04 are unsupported, or with Homebrew packages and the Xcode command-line tools on macOS. build_all.sh compiles and installs the programmer, database editor and updater with the udev rules and chip database. CI builds Ubuntu 22.04, 24.04 and 26.04 DEB packages, a Fedora 44 RPM checked with rpmlint and a macOS 15 build; no automated tests are published.",
    "Needs one of the supported USB programmers and, per README, adapters for 93xxx MicroWire, 45xxx DataFlash, WSON-8 SPI NAND and 1.8 V chips. CH347 devices do not support MicroWire, and Verify and Check erase do not skip bad blocks on NAND chips. Images come from the user's own chips; the repository holds no firmware dumps, only its IMSProg.Dat chip database, which the updater downloads from the author's antenna-dvb-t2.ru site.",
    "GPL-3.0-or-later per README, with SNANDer-derived parts under GPL-2.0+, QHexEdit2 under LGPL-2.1 and CH347 code under BSD-1-Clause. IMSProg transfers chip contents only; analysing a dump needs other tools."
  ],
  "requirements_zh": [
    "审阅时最新版本为 v1.9.1，发布于 2026-09-04，提供 Flatpak 和 macOS arm64 构建；ChangeLog 称该版本新增 FT232H v1.2 支持。所审阅的 main 提交比该版本多 41 个提交，主要是 macOS 打包和路径修复。README 列出 Debian、Fedora、openSUSE、AUR、ALT、ROSA 和 RED OS 软件包以及 Ubuntu PPA；Windows 版本由第三方另行维护。",
    "在 Linux 上构建需要 CMake、g++ 或 clang、Qt5 或 Qt6 及其 Linguist 工具、libusb 1.0、libftdi、pkg-config 和 udev，README 称不支持 Debian 11 和 Ubuntu 20.04 之前的版本；在 macOS 上需要 Homebrew 软件包和 Xcode 命令行工具。build_all.sh 会编译并安装编程器、数据库编辑器和更新程序，以及 udev 规则和芯片数据库。CI 构建 Ubuntu 22.04、24.04、26.04 的 DEB 包、经 rpmlint 检查的 Fedora 44 RPM 包和 macOS 15 构建；未公开自动化测试。",
    "需要一台受支持的 USB 编程器；按 README 所述，93xxx MicroWire、45xxx DataFlash、WSON-8 SPI NAND 和 1.8 V 芯片还需相应转接座。CH347 设备不支持 MicroWire；对 NAND 芯片执行 Verify 和 Check erase 时不会跳过坏块。镜像来自使用者自己的芯片；仓库不含任何固件转储，只有 IMSProg.Dat 芯片数据库，更新程序从作者的 antenna-dvb-t2.ru 网站下载该文件。",
    "README 称采用 GPL-3.0-or-later，其中源自 SNANDer 的部分为 GPL-2.0+，QHexEdit2 为 LGPL-2.1，CH347 代码为 BSD-1-Clause。IMSProg 只负责读写芯片内容，分析转储需要其他工具。"
  ],
  "targets": [
    "firmware"
  ],
  "url": "https://github.com/bigbigmdm/IMSProg",
  "verification": "source-reviewed",
  "verified_at": "2026-10-27"
}
