Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ChaseHQ — Chase H.Q. for ZX Spectrum — 逆向工程并以可移植 C 语言重建 | Kitploit
工具/GitHubGitHub/dpt/chasehq
逆向工程硬件与物联网安全二进制分析学习与教育
GitHubdpt/chasehq

ChaseHQ

Chase H.Q. for ZX Spectrum — 逆向工程并以可移植 C 语言重建

查看仓库网站
34217天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

拆解 ZX Spectrum 版 Chase H.Q.

由 David Thomas 进行逆向工程,2023-2024

项目启动:2023 年 3 月

使用 Spectrum Analyser 调查游戏,包括将屏幕变为绿色

这是 Ocean Software 出品的 ZX Spectrum 版 Chase H.Q. 的一个进行中的反汇编项目。目前只涵盖 48K 版本和游戏的第一关。128K 版本更好(一次性加载所有关卡,包含 AY 音乐和菜单屏幕动画),但有 很多 更多代码需要考虑,所以先从 48K 第一关入手更容易。

注意:我目前正在 "128k" 分支上处理 128K 版本。

此仓库中有一个 SkoolKit _控制_文件,你可以用它来反汇编游戏。这适用于游戏处于“纯净”的刚加载状态。请参阅下文了解如何制作纯净的快照以及如何驱动 SkoolKit 的说明。我提供了一个 Makefile 来自动化大部分所需步骤。

当前的反汇编结果在这里。

为什么?

为了弄清楚它的运作方式!(也许有一天我们可以制作新的关卡……)

操作方法

  • 安装 SkoolKit:
root@kitploit:~
pip3 install skoolkit
  • 下载游戏并将其转换为 .z80 格式的快照:
root@kitploit:~
make pristine

你将看到:

root@kitploit:~
Downloading https://worldofspectrum.net/pub/sinclair/games/c/ChaseH.Q..tzx.zip
Extracting Chase HQ - Side 1.tzx
Program: CHASE HQ
Fast loading data block: 23755,3870
Data (514 bytes)
Data (6914 bytes)
Data (19074 bytes)
Data (16130 bytes)
Data (4 bytes)
Data (6898 bytes)
Tape finished
Simulation stopped (PC at start address): PC=23372
Writing chase-hq.z80

像这样构建一个 skool 文件:

root@kitploit:~
make skool

skool 文件是一种高级汇编清单,我们可以从中生成常规汇编清单或 HTML 反汇编。生成的文件默认放在名为“build”的目录中。你可以编辑 skool 文件,然后将其转换回另一个控制文件,如下所示:

root@kitploit:~
make ctl

这样可以轻松地将你的更改拉回主控制文件,只需执行:

root@kitploit:~
cp build/ChaseHQ.ctl ChaseHQ.ctl

或者你可以对两者进行 diff,以便在暂存时更有选择性。

控制文件变得越大、越详细,我们对游戏的解释就越好!

像这样构建汇编清单:

root@kitploit:~
make asm

我通常同时打开控制、skool 和汇编这三个文件进行编辑,以便检查我的更改的影响: 使用 MacVim 编辑源文件

像这样构建可用于加载到模拟器或真实 Spectrum 的 tap 或 z80 文件:

root@kitploit:~
make tap  # or z80

我们如何确定游戏的工作原理?

  • 方法(1)是在 Spectrum Analyser 交互式反汇编器 中运行游戏并寻找线索。
  • 方法(2)是 非常努力地 盯着代码看,直到它变得有意义。

你可能需要两种方法都试一试。

查看 https://youtu.be/ZcoFi4T4tsU 获取我运行 Spectrum Analyser 来了解游戏如何构建其后备缓冲区的短视频。

POKEs

如果你对反汇编本身不感兴趣,那么一个不错的副产品是用于让游戏更简单、更难或只是变得不同的 POKE:

  • 无限续币
    POKE 39998,166

  • 无限时间
    POKE 39937,0

  • 一击抓捕
    POKE 46351,62

  • 无限涡轮
    POKE 45221,0

  • 影响车辆生成率
    POKE 23834,<spawn rate> -- 20 是第一关的默认值。10 会使生成频率加倍。

  • 设置关卡颜色
    POKE 23796,<attribute byte> -- 112 是黄底黑字,如第一关所示。96 则会是绿底黑字。
    POKE 23797,<attribute byte>

链接

Spectrum Computing 论坛帖子:https://spectrumcomputing.co.uk/forums/viewtopic.php?p=113633

在线玩 Chase H.Q.:http://torinak.com/qaop#!chasehq

相关项目

我之前的反汇编项目:https://github.com/dpt/The-Great-Escape

下载工具