Ir para conteúdo
Faça parte da equipe! (2024) ×

Ant Debugger


z0pe
 Compartilhar

Posts Recomendados

Acho que alguns devem saber que existe a função 'IsDebuggerPresent', porém fácil de ser burlada, o código que deixarei aqui, não é tão diferente, porém, mais eficaz que a IsDebuggerPresent.

 

Vendo a necessidade de se proteger contra esse tipo de coisa, um grupo de programadores publicaram na internet um código em Pascal usando asm inline,esse código ajuda na proteção contra debugging.

 

Você pode checar no link do meu antigo blog o código em C e em Pascal CLICANDO AQUI

Tomei a liberdade de passar o código(incrivelmente simples) para C, segue abaixo:

 

É necessário se cadastrar para acessar o conteúdo.

Link para o comentário
Compartilhar em outros sites

Pô, cara. Esse código é bem antigo e não vou ter como te passar uma informação completa.

Vou te passar mais ou menos a maneira como eu vejo esse código.

 

O que ele faz é ****** esses endereços no programa, chamando funções como IsDebuggerPresent, GetProcessAddress, etc

 

Abri um programa pra tentar te explicar mais ou menos o que eu quero dizer.

 

AlZFUlF.png

 

Veja que os endereços 83 F8 01 72 36, correspondem ao seguinte asm :

É necessário se cadastrar para acessar o conteúdo.

 

Agora veja que alterando o asm pra MOV EAX, 0, os endereços mudam para B8 00000000

 

s0Iq9IS.png

 

No caso então, o que acontece aqui é que todos aqueles endereços servem para chamar funções e ordenar o que deve ser feito. Aqui está a dll aberta no ollydbg(que ironia, não?) e veja que ela faz diversas chamadas à funções que ajudam a prevenir debugging.

 

UQaucFF.png

gE1E8LS.png

twJmHrE.png

 

E tem uma porrada de função sendo chamada por ela, compile uma dll com esse código e veja no ollydbg.

Espero que eu tenha explicado mais ou menos o que acontece aí. É que esse código é putamente velho e não acho mais o material que tinha sobre ele.

Link para o comentário
Compartilhar em outros sites

Bem, se tu se refere à função AntDebug(falo sobre os bytes), não sei como te responder. Como dito no tópico, o código não é meu. Achei na internet há MUITO tempo atrás e quis compartilhar.

Mas se está se referindo ao resto do código em C(que aí sim é de minha autoria), a resposta é simples. Meu conhecimento em asm é muito pouco, muito mesmo.

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois...

O code faz nada mais nada menos que obter o address das APIs "LoadLibrary" e "NtQueryInformationProcess" e chamar duas vezes com o parâmetro "_PROCESSINFOCLASS" sendo respectivamente "ProcessDebugPort" e "ProcessDebugFlags".

Faça um hook na API "NtQueryInformationProcess" e você burlará esse código.

Darkness is a part of my soul

5de5ae31e8.jpg

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.