zirconium
Cheat de jogo injetável via DLL para Call of Duty: Black Ops 2 Zombies (com o mod Plutonium).
- Os downloads estão na página de Releases
Aviso:
- Este projeto existe porque cresci jogando BO2, e também acabou sendo um bom alvo para engenharia reversa. É um jogo AAA de 14 anos praticamente morto, mas também acaba sendo um aplicativo relativamente moderno para tentar reverter um grande motor de jogo.
- Não incentivo trapaças. Não sou responsável quando você inevitavelmente for banido por usar isso. Portanto, use por sua conta e risco.
Prévia:


Recursos:
- Modo Deus
- Invisibilidade para zumbis
- ESP
- Aimbot
- FOV em terceira pessoa
- Sem dispersão
- Sem recuo
- Teleporte
- Definir os seguintes valores:
- Dinheiro
- Munição
- Granadas/claymores/bombas de macaco etc
- Altura do pulo
- Gravidade
- Velocidade
Compilação:
git clone --recurse-submodules https://www.github.com/robertmotr/zirconium.git
cd zirconium/codebase
cmake -B ../cmake-build -G "Visual Studio 17 2022" -A Win32
cmake --build ../cmake-build --config Release
A DLL estará em ../build/Release/zirconium.dll
Uso:
- Abra o jogo e entre em uma partida de zumbis
- Use o injetor Xenos para encontrar
plutonium-bootstrapper-win32.exe na lista de processos e selecione-o
- Carregue
zirconium.dll como a DLL e injete
- Eu só usei e testei as opções nativas padrão de injeção; não tenho ideia se qualquer outra coisa, como manual mapping, funcionaria. O mesmo vale para qualquer uma das 1 bilhão de implementações diferentes de injetores de DLL por aí.
Créditos:
Obrigado a todas as pessoas em unknowncheats.me que fizeram engenharia reversa de toneladas de offsets :)
Observações interessantes que encontrei:
- Existe um arquivo PDB do servidor multiplayer, que compartilha muitas funções comuns com o cliente (mesmo com as modificações do Plutonium). Isso pode ajudar a acelerar a engenharia reversa ao cruzar seu progresso no IDA com o PDB, mas apenas até certo ponto.
- O Plutonium usa Themida, mas apenas certas partes da seção .text são ofuscadas. Passar pelo anti-debug exige apenas usar o perfil Themida do ScyllaHide no x64dbg. Não parece usar todos os recursos malucos do Themida para tornar a engenharia reversa um inferno.
- O Plutonium executa um checksum na seção .text (talvez em mais seções) que verifica se nenhum byte foi alterado em relação ao código original. Isso significa que qualquer modificação na seção .text alterará o checksum. A melhor maneira de hookar funções é usar hardware breakpoints (https://en.wikipedia.org/wiki/X86_debug_register) e fazê-los saltar para vectored exception handlers das funções que você deseja hookar. Isso mantém o checksum intacto e, portanto, indetectável.
- Considerando que a DX11 é uma DLL fora da seção .text, é possível que não seja necessário usar hardware breakpoints + VEH para hookar
IDXGISwapChain::Present sem ser detectado. Originalmente, passei um ano com progresso intermitente tentando descobrir como fazer trampoline hook nessa função (que você ainda pode usar se ativar uma flag de build no CMakeLists.txt), mas depois de descobrir o checksum, abandonei essa abordagem e passei a usar hardware breakpoints para tudo.
TODO:
- pedi ao claude para limpar meu código antes de lançar isso para deixá-lo apresentável, e ele apenas o transformou em porcaria... talvez um dia eu desfaça essa porcaria e volte ao meu código original
- suavização do aimbot/mais opções de aimbot
- spinbot
- silent aim
- chams do motor
- varinha mágica/monte de zumbis(?)
Concluído:
- enviar executável nas Releases
- terceira pessoa
- refatorar logging
- texto colorido com base no nível de log
- remover a solução recursiva estranha com templates
- adicionar nível de log + logging condicional com base no nível
- portar o sistema de build de VS para cmake
- aimbot
- opção de ejetar a DLL e redefinir o estado
- aba de debug melhor
- teleporte
- modo Deus
- ESP
- esqueleto
- linhas de conexão
- distância
- vida