Outils pour utilisateurs

Outils du site


pages:norae:si:note_reverse-text-to-hex-for-api-shellcoding

Tester des codes hexadécimaux pour les chaînes de noms de fonctiond'api pour shell

:!: Vra c de travaux en cours de progrès boréalique :!: DOIT ÊTRE COMPLÉTÉ Sources de départ :

En python

`--> python3                                                          
Python 3.6.8 (default, Oct  7 2019, 12:59:55) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import textwrap
>>> import binascii
>>> textwrap.wrap((binascii.hexlify(b'blabla'[::1]).decode()), 8)
['626c6162', '6c61']

Avec :

  • textwrap : Encapsulation et remplissage de texte https://docs.python.org/fr/3.7/library/textwrap.html
  • binascii.hexlify(data) : Renvoie la représentation hexadécimale du binaire data. Chaque octet de data est converti en la représentation 2 chiffres correspondante. L’objet octets renvoyé est donc deux fois plus long que la longueur de data.

Bash

`--> printf blabla | rev | xxd -p | fold -w8         
616c6261
6c62

Avec

  1. printf : format and print data
  2. rev : reverse lines of a file or files
  3. xxd : make a hexdump or do the reverse et -p output in postscript continuous hexdump style. Also known as plain hexdump style.
  4. fold : wrap each input line to fit in specified width eet -w8 use WIDTH columns instead of 80

Nous avons besoin de les situer (timestamp) en 0x pour les rendre utilisbales si compilations

`--> printf blabla | rev | xxd -p | fold -w8 | ts 0x  
0x 616c6261
0x 6c62

Utilisions ts présent dans moreutils

? et tr qui permet de convertir une chaîne de caractères, un utilitaire UNIX pour traduire, supprimer ou presser des caractères répétés. Il lira à partir de STDIN et écrira à STDOUT.

printf blabla | rev | xxd -p | fold -w8 | ts 0x | tr -d ' '
0x616c6261
0x6c62

Cas pratiques

Vrac

pages/norae/si/note_reverse-text-to-hex-for-api-shellcoding.txt · Dernière modification : 2021/08/06 11:05 de xavcc