Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ChaseHQ — Chase H.Q. for ZX Spectrum — リバースエンジニアリングされ、移植可能なC言語で再構築された | Kitploit
ツール/GitHubGitHub/dpt/chasehq
リバースエンジニアリングハードウェアとIoTセキュリティバイナリ解析学習と教育
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版のステージ1から始める方が簡単です。

注: 現在は "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

または、2つをdiffして、ステージングをより選択的にすることもできます。

コントロールファイルが大きく詳細になるほど、ゲームの説明も向上します!

次のようにアセンブリリストをビルド:

root@kitploit:~
make asm

私は通常、コントロール、skool、アセンブリの3つのファイルをすべて開いた状態で編集し、変更の影響を確認しています: MacVimを使ってソースを編集している様子

エミュレータや実機のSpectrumに読み込むためのtapまたはz80ファイルをビルド:

root@kitploit:~
make tap  # or z80

ゲームの仕組みをどうやって判断するのか?

  • 選択肢(1)は、ゲームをSpectrum Analyserインタラクティブ逆アセンブラで実行して手がかりを探すことです。
  • 選択肢(2)は、コードを_じっと_見つめて意味がわかるまで考えることです。

おそらく両方を行う必要があるでしょう。

ゲームがバックバッファをどのように構築しているかを調べるためにSpectrum Analyserを実行している短いビデオは、https://youtu.be/ZcoFi4T4tsU を参照してください。

POKEs

逆アセンブル自体に興味がない場合、ゲームを簡単にしたり、難しくしたり、あるいは単に変えたりできるPOKEは、ありがたい副産物です:

  • 無限クレジット
    POKE 39998,166

  • 無限タイム
    POKE 39937,0

  • 1ヒットで確保
    POKE 46351,62

  • 無限ターボ
    POKE 45221,0

  • 車の出現率を変更
    POKE 23834,<spawn rate> -- 20はステージ1のデフォルトです。10にすると出現頻度が2倍になります。

  • レベルの色を設定
    POKE 23796,<attribute byte> -- 112はステージ1と同様に黄色地に黒です。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

ツールをダウンロード