• STATISTIQUES
  • Il y a eu un total de 2 membres et 14268 visiteurs sur le site dans les dernières 24h pour un total de 14 270 personnes!


    Membres: 2 433
    Discussions: 3 585
    Messages: 32 832
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Big-Daddy
    Big-Daddy est site internet communautaire avec un effectif diversifié, y compris des artistes, des programmeur...
    Hacking
    [FR] InfoMirmo
    Apprentissage de l'informatique par l'intermédiaire de challenges de sécurité. Venez app...
    Hacking
    [FR] Root-Me
    Notre équipe se base sur un constat : à l'heure actuelle ou l'information tend à devenir...
    Hacking
    [EN] SecurityFocus
    SecurityFocus a été conçu pour faciliter la discussion sur des sujets liés la sécu...
    Vulnérabilités
    [FR] Cyber-Hacker
    CH - Cyber Hacker est un jeu par navigateur de simulation de hack, programmez et envoyez vos virus et piratez les aut...
    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
    [FR] Secuser
    Actualité de la sécurité informatique, fiches virus et hoax, alertes par email, antivirus gratui...
    Hacking

  • 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
remote debugging entre qemu et gdb
13-12-2013, 18h23
Message : #1
gruik Hors ligne
gouteur de savon
*



Messages : 757
Sujets : 44
Points: 482
Inscription : Oct 2012
remote debugging entre qemu et gdb
un post rapide, comme on est plus ou moins sur le bootloader actullement, s'est posé pour ma part le problème de debugger le bootloader que je codais

le principe est simple, on lance notre bootloader avec qemu et l'option qui va bien pour le mettre en serveur, dans une autre fenêtre on se connecte sur le qemu avec gdb comme client

vous remarquerez au passage les ".exe" qui trainent, j'ai fait la manip sous windows avec un gdb dans cygwin ça marche nickel...

Code BASH :
$ nasm -f bin bootloader.asm
$ qemu-system-i386.exe -boot a -fda bootloader -S -gdb tcp::1234,ipv4


l'option -S dit à qemu de freezer le cpu et bloque donc l'exécution (ça nous arrange)
l'option -gdb tcp::1234 spécifie qu'on attend une connexion de gdb (comme c'est bien fait la vie) en tcp sur le port 1234, notez qu'on pourrait remplacer directement ce fatras par -s, sauf que perso je lui rajoute ,ipv4 pour forcer IPv4 au lieu d'IPv6 sous windows

coté gdb dans l'autre fenêtre :
Code BASH :
$ gdb -q
(gdb) set architecture i8086
...
The target architecture is assumed to be i8086
(gdb) set disassembly-flavor intel
(gdb) target remote localhost:1234
Remote debugging using localhost:1234
0x0000fff0 in ?? ()
(gdb) b *0x7c00
Breakpoint 1 at 0x7c00
(gdb) c
Continuing.
Breakpoint 1, 0x00007c00 in ?? ()
(gdb) info registers $bx $cx $cs $eip
bx             0x0      0
cx             0x0      0
cs             0x0      0
eip            0x7c00   0x7c00
(gdb) x/hx $cs*16+$eip+510
0x7dfe: 0xaa55

and voilà Smile vous aurez noté aussi qu'on appelle les registres par leurs petits noms (16bits comme on est en mode réel) à l'exception de IP qui reste $eip (mais qui est bien en 16bits malgré tout), ça reste un moindre mal

si ça peut servir...
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure.
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément.
(Nicolas Boileau, L'Art poétique)
+1 (7) -1 (1) Répondre
13-12-2013, 18h43
Message : #2
is001_fred Hors ligne
Membre actif
*



Messages : 52
Sujets : 4
Points: 29
Inscription : Oct 2011
RE: remote debugging entre qemu et gdb
Merci beaucoup gruik, c'est très utile, pour ne pas dire carrément essentiel ! :-)
+1 (1) -1 (0) Répondre


Atteindre :


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