Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ChaseHQ — Chase H.Q. para ZX Spectrum — com engenharia reversa e reconstruído em C portátil | Kitploit
Ferramentas/GitHubGitHub/dpt/chasehq
Engenharia ReversaSegurança de Hardware e IoTAnálise de BináriosAprendizado e Educação
GitHubdpt/chasehq

ChaseHQ

Chase H.Q. para ZX Spectrum — com engenharia reversa e reconstruído em C portátil

Ver RepositórioSite
342há 13h 30mRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Desmontando Chase H.Q. para o ZX Spectrum

Engenharia reversa por David Thomas, 2023-2024

Projeto iniciado: março de 2023

Usando o Spectrum Analyser para investigar o jogo, incluindo deixar a tela verde

Esta é uma desmontagem em andamento da conversão para ZX Spectrum de Chase H.Q. pela Ocean Software. Até agora, isso cobre apenas a versão 48K e a primeira fase do jogo. A versão 128K é melhor (carrega todas as fases de uma vez, tem música AY e animações no menu) mas tem muito mais código a considerar, então é mais fácil começar pela fase 1 da versão 48K.

Nota: atualmente estou trabalhando na versão 128K no branch "128k".

Neste repositório há um arquivo de controle do SkoolKit que você pode usar para desmontar o jogo. Isso funciona com o jogo quando ele está em um estado "pristine", recém-carregado. Veja abaixo como criar um snapshot pristine e instruções sobre como usar o SkoolKit. Forneci um Makefile para automatizar a maioria das etapas necessárias.

A desmontagem atual está aqui.

Por quê?

Para descobrir como funciona! (e talvez um dia possamos criar novas fases...)

Como Fazer

  • Instale o SkoolKit:
root@kitploit:~
pip3 install skoolkit
  • Baixe e converta o jogo em um snapshot no formato .z80:
root@kitploit:~
make pristine

Você verá:

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

Crie um arquivo skool assim:

root@kitploit:~
make skool

Um arquivo skool é uma listagem de assembly de alto nível a partir da qual podemos gerar listagens de assembly comuns ou desmontagens em HTML. Os arquivos gerados são colocados em um diretório chamado 'build' por padrão. Você pode editar o arquivo skool e transformá-lo novamente em outro arquivo de controle assim:

root@kitploit:~
make ctl

Isso facilita trazer suas alterações de volta ao arquivo de controle principal fazendo:

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

Ou você pode usar diff nos dois para ser mais seletivo no seu staging.

Quanto maior e mais detalhado o arquivo de controle ficar, melhor será a nossa explicação do jogo!

Crie uma listagem de assembly assim:

root@kitploit:~
make asm

Eu costumo editar com os três arquivos — controle, skool e assembly — todos abertos, para poder verificar o impacto das minhas alterações: Usando o MacVim para editar os fontes

Crie um arquivo tap ou z80 para carregar em emuladores ou Spectrums reais assim:

root@kitploit:~
make tap  # or z80

Como determinamos como o jogo funciona?

  • A opção (1) é executar o jogo no desmontador interativo Spectrum Analyser e procurar pistas.
  • A opção (2) é encarar o código com muita atenção até que ele faça sentido.

Você provavelmente terá que fazer as duas coisas.

Veja https://youtu.be/ZcoFi4T4tsU para um vídeo curto de mim usando o Spectrum Analyser para descobrir como o jogo monta seu back buffer.

POKEs

Se você não está interessado na desmontagem em si, um bom subproduto são os POKEs para tornar o jogo mais fácil, mais difícil ou apenas diferente:

  • Créditos Infinitos
    POKE 39998,166

  • Tempo Infinito
    POKE 39937,0

  • 1 Batida Para Capturar
    POKE 46351,62

  • Turbos Infinitos
    POKE 45221,0

  • Afetar a Taxa de Spawn de Carros
    POKE 23834,<spawn rate> -- 20 é o padrão para a Fase 1. 10 faria aparecer com o dobro da frequência.

  • Definir a Cor da Fase
    POKE 23796,<attribute byte> -- 112 é preto sobre amarelo, como na Fase 1. 96 daria preto sobre verde.
    POKE 23797,<attribute byte>

Links

Tópico dos fóruns Spectrum Computing: https://spectrumcomputing.co.uk/forums/viewtopic.php?p=113633

Jogue Chase H.Q. online: http://torinak.com/qaop#!chasehq

Relacionados

Meu projeto anterior de desmontagem: https://github.com/dpt/The-Great-Escape

Baixar ferramenta