Pular para o conteúdo

MiTurboFix: proteção contra falhas RCE no SA-MP

Basta entrar no servidor errado: o SA-MP 0.3.7 tem falhas que deixam o servidor rodar código no seu PC. O MiTurboFix fecha seis delas.

Você não baixa nada nem clica em janela nenhuma. O servidor manda um pacote montado de propósito, o cliente escreve aquilo num espaço de memória pequeno demais, e o que transborda passa a decidir o que o jogo executa. Dali em diante o código é de quem mandou, rodando dentro do gta_sa.exe com as mesmas permissões do seu usuário do Windows: mexer nos seus arquivos, levar o que estiver salvo, instalar outro programa.

As seis falhas, e o que o R5 não fechou

RCE é a sigla em inglês para execução remota de código. No SA-MP ela entra pelo que o servidor já tem o direito de mandar: diálogo, texto na tela, menu, animação, ponto de renascimento. O cliente confia no tamanho do que chega e não confere.

A mais conhecida é a dos diálogos em lista, o estilo DIALOG_STYLE_LIST, aquela janela de loja, inventário e teleporte. Um item com mais de 128 bytes estoura o espaço reservado para ele, e o que seria só um crash vira código rodando.

Foi por causa dela que saiu o R5, em 16 de novembro de 2022, com o Kalcor pedindo para todo mundo atualizar. Só que o R5 não fechou as outras. Segundo o autor do MultiRCE Fix, a falha dos menus ainda corrompe a memória com ID de menu acima de 127, e a das animações nunca teve correção oficial. Trocar de versão ajuda. Quem fecha o resto é conserto.

Antes dele, o DialogRCEfix, de 2023, fechava só a dos diálogos, e o MultiRCE Fix, de 2024, as de menu, GameText e animação. O MiTurboFix saiu em setembro de 2024 e junta as seis num .asi só:

  1. Diálogos: barra o item de lista maior que 128 bytes antes de ele chegar na memória.
  2. ApplyAnimation: confere os dados da animação que o servidor aplica nos jogadores.
  3. ApplyActorAnimation: a mesma coisa para os atores, os personagens parados que o servidor põe no mapa, como o vendedor da loja.
  4. GameText: o texto grande do meio da tela, que a atualização oficial só corrigiu em parte.
  5. SetSpawnInfo: um estouro no ponto de renascimento do hospital, dentro de CRestart::AddHospitalRestartPoint. É a mais incerta das seis: o próprio autor marca como possível RCE e acha difícil de explorar.
  6. InitMenu: os menus antigos do SA-MP, a falha do ID acima de 127.

Se você joga em qualquer 0.3.7, principalmente no R1, instale. É um arquivo, e depois você esquece que ele existe.

O código é aberto, sob a licença Unlicense, que na prática é domínio público: qualquer um pode ler, mudar e compilar de novo. O autor abriu o repositório para correção de qualquer pessoa, até anônima, e diz com todas as letras que não escrevia cliente de SA-MP havia oito anos.

E o arquivo vem assinado. Mudou um bit, a assinatura quebra. É isso que separa o .asi original de uma cópia reenviada por aí com alguma coisa colada dentro, e a pergunta lá embaixo ensina a conferir.

O que ele não resolve

Ele fecha as falhas que lista, e só elas. Não é antivírus, não te protege de mod com vírus que você mesmo instalou, e não adianta nada se a sua senha do servidor é a mesma do e-mail. Antes de instalar qualquer coisa, vale ler qual mod pode ter vírus, e qual não pode.

Jogar só em servidor conhecido diminui o risco. Não zera.

Se você já usava o DialogRCEfix ou o MultiRCE Fix, não precisa mais deles: o MiTurboFix cobre o que os dois cobrem.

Autor: povargek
Créditos: AnWu (modelo do .asi), kin4stat (kthook)
Versão: 0.0.7.1 alfa, assinada
Tamanho: 1,3 MB
Compatível: SA-MP 0.3.7 R1 a R5, 0.3.DL e CR-MP 0.3.7
Fonte: tópico do autor no BlastHack e repositório no GitHub

Acessar o tópico oficial do MiTurboFix

Compartilhar
Copiar linkReportar problema neste post

Listas do GTA SA-MP

Todas as listas
Nosso app

Trok Launcher

O launcher moderno no lugar do velho SAMP.exe: várias contas, datas por servidor, galeria de prints e os posts da TrokMods. Usa a instalação que você já tem.

Parceiros

Tocando agoraPlaylist da TrokMods