App - Système PE32 - Stack buffer overflow basic
Salut Aelk,
je suis dessus moi aussi. Tu peux trouver l’addresse de main avec objdump sur le .obj :
$ objdump.exe -x -D ch72.obj | grep "<_main>"
00000020 <_main> :
C’est une adresse relative. Tu peux trouver le début de la section text avec le .exe :
objdump.exe -x -D ch72.exe | grep "<.text>"
00401000 <.text> :
Donc en principe main est à 0x00401020 et tu peux setter un break point avec : b *0x00401020
Le problème est que le gdb qui est fourni est un gdb 64 bits et qu’il part en vrille. Il faudrait gdb32.exe. Si un admin lis ce message, ce serait sympa d’installer gdb32.exe dans la jail. Merci :)
App - Système PE32 - Stack buffer overflow basic
Bonjour,
Il n’est pas prévu d’installer gdb 32 bits sur la machine.
Par contre, vous avez cdb.exe :
C:/Program Files (x86)/Windows Kits/10/Debuggers/x86/cdb.exe
C:/Program Files (x86)/Windows Kits/10/Debuggers/x64/cdb.exe
Bon courage
App - Système PE32 - Stack buffer overflow basic
Salut,
J’ai créé deux liens symboliques :
# ls -l /usr/bin/cdb32.exe /usr/bin/cdb64.exe
lrwxrwxrwx 1 root Administrators 69 Apr 18 07:13 /usr/bin/cdb32.exe -> /cygdrive/c/Program Files (x86)/Windows Kits/10/Debuggers/x86/cdb.exe
lrwxrwxrwx 1 root Administrators 69 Apr 18 07:12 /usr/bin/cdb64.exe -> /cygdrive/c/Program Files (x86)/Windows Kits/10/Debuggers/x64/cdb.exe
Tu peux donc utiliser cdb32.exe et cdb64.exe directement via le PATH.
Mais dans tous les cas, tu pouvais utiliser les full path que j’ai donné plus haut :
C:/Program Files (x86)/Windows Kits/10/Debuggers/x86/cdb.exe
C:/Program Files (x86)/Windows Kits/10/Debuggers/x64/cdb.exe
App - Système PE32 - Stack buffer overflow basic
merci
effectivement avec cdb c’est plus facile de manipuler le .exe !
et une fois qu’on a compris comment utiliser le wrapper.sh...
ça marche !!
🙂