• STATISTIQUES
  • Il y a eu un total de 0 membres et 2268 visiteurs sur le site dans les dernières 24h pour un total de 2 268 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] w3challs
    Ce site propose différents types de défis informatiques: piratage, craquage, cryptographie, stég...
    Hacking
    [FR] PHP France
    Pour tout savoir sur le PHP, en français. Vous trouverez des tutoriels, des exemples, des astuces, toute la do...
    Hacking
    [EN] xda-developers
    Très bon site pour les gros bidouilleurs de smartphone de windows à androïd et de Apple jusqu'...
    Phreaking
    [EN] wechall
    Pour les gens n'étant pas familiers avec les sites de challenges, un site de challenges est un site propos...
    Hacking
    [EN] Packet Storm
    Packet Storm est un site qui combine nouvelles de la sécurité informatique, téléchargemen...
    Vulnérabilités
    [FR] NewbieContest
    Nous vous proposons une série de challenges regroupant plusieurs domaines allant de l'exploitation de fail...
    Hacking
    [FR] Root-me
    Script: 5, Système: 20, Cracking: 16, Cryptanalyse: 17, Programmation: 8, Réaliste: 11, Réseau: 10, Stéganog...
    Challenges

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Contournement des anti-debugs
31-05-2013, 21h05
Message : #1
0pc0deFR
Non-enregistré



 
Contournement des anti-debugs
Voici quelques petites informations/techniques sur le contournement des anti-debugs. Les exemples/techniques citées sont non exhaustives et orienté Windows.

Commençons avec l'API IsDebuggerPresent() (Réalisé avec OllyDBG 2.01)

Code C :

#include <windows.h>

int main()
{
    if(IsDebuggerPresent())
    {
        MessageBox(0, "Debugged", "Debugged", MB_OK); //Si un debugger est détecté
    }
    else
    {
        MessageBox(0, "Not Debugged", "Not Debugged", MB_OK); //Si aucun debugger n'est détecté
    }
    return 0;
}
 


Chargez simplement le binaire dans OllyDBG puis clique droit "Search for" -> "Name".
Dans la nouvelle fenêtre, vous trouverez "KERNEL32.IsDebbugerPresent", cliquez droit puis "Find Reference".
[Image: 361684Snap2013053120h59m12s004.png]
Vous trouverez un JMP sur la DLL et un CALL, mettez un BP sur le CALL.
Retournez sur la vue CPU puis F9. Notre BP nous arrête sur le CALL. Nous avons droit à un TEST EAX, EAX suivi d'un JNZ.
[Image: 568045Snap2013053120h56m43s001.png]
Remplacez JNZ par JZ.
[Image: 690976Snap2013053120h58m09s002.png]
Pressez F9 et profitez.

Je compléterais dans le temps.
positive (2) negative (0) Répondre


Messages dans ce sujet
Contournement des anti-debugs - par 0pc0deFR - 31-05-2013, 21h05
RE: Contournement des anti-debugs - par Horgh - 04-06-2013, 20h16
RE: Contournement des anti-debugs - par qtkt - 04-06-2013, 20h19
RE: Contournement des anti-debugs - par 0pc0deFR - 05-06-2013, 08h43
RE: Contournement des anti-debugs - par fr0g - 04-06-2013, 20h36
RE: Contournement des anti-debugs - par 0pc0deFR - 05-06-2013, 23h40

Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut