Page 1 sur 1

[..] Compréhension sur la lecture d'un fichier binaire

Posté : sam. 27 déc. 2008 11:13
par ani
Bonjour tout le monde
Lecture d'un *.exe

[R]Par quel procédure peut-on retrouver l'encodage ? (utf8/16/32)
[..] Ou se trouve l'entête (header)
[..] Ou se trouve la signature du compresseur (c/C++/VB/java ect)
[..] Ou se trouve la taille et son nom ?

je lis pour le moment le wiki mais ... complexe ;)
http://fr.wikipedia.org/wiki/Marque_d%2 ... des_octets

Pour le moment je comprend comme ceux-ci
$fichier = "c:\read.exe"
$hfichier = fileopen($fichier,16)
$lecture = fileread($hfichier) ; ici ?
$fileclose(hfichier)

le ici est pour savoir le flag a utiliser (une fonction qui le ferait ?)

Re: [..] Compréhension sur la lecture d'un fichier binaire

Posté : sam. 27 déc. 2008 11:36
par moutelous
Salut Ani,

Regarde ici http://www.autoitscript.com/forum/index ... 182&hl=BOM ... peut-être que cela t'intéressera.

A+

Re: [..] Compréhension sur la lecture d'un fichier binaire

Posté : mar. 06 janv. 2009 00:25
par ani
hm, merci merci :)

Le fichier exe faut-il le transformer en hexa pour y faire une recherche ?

Exemple :

Code : Tout sélectionner

#Include <String.au3>
$fichier = "c:\read.exe"
$hfichier = fileopen($fichier,16)
$lecture = fileread($hfichier)
fileclose($hfichier)

;Transformation du fichier binaire en Hexadécimal
$Hex = hex($lecture)
;ou bien transformation en string ? Quel est la meilleur solution ?
;$Lecture = BinaryToString($Lecture)

;Recherche de la signature UPX = (NULL)UPX! = 00 55 50 58 21
If StringInStr($Hex,"0055505821") then
   $Recherche = StringRegExp($hex,"(\w{8}0055505821)",3)
   $Version = _HexToString(StringReplace($Recherche[0],"0055505821",""))
   MsgBox(0x10,"","Le fichier est bien compréssé avec UPX, la version utilisé est " & $Version)
Endif
Défois j'avais un dépassement dans la mémoire pour quel raison, nocé.
j'avais fait la même opération pour extraire Restype=24 <?xml.....</assembly>
apparement vaut mieux passer par une fonction comme FindRessource.

J'étais partie sur la création d'un petit log Hexadécimal (comme hex workshop) et du projet de tlem (ajout de ressource dans dll ou autre)
j'ai déjà modifié une fonction existante pour retourner l(hexa en string)

je m'interresse aussi sur L'opcode (asm) mais j'ai pas encore tout suivit :(
si quelqu'un peut me venir en aide la dessus :)

Merci d'avance.

Re: [..] Compréhension sur la lecture d'un fichier binaire

Posté : lun. 12 janv. 2009 23:19
par Ghost911
Ton code source est faux si je comprend bien tu veux chercher la signature upx dans un .exe ?

Re: [..] Compréhension sur la lecture d'un fichier binaire

Posté : dim. 25 janv. 2009 11:48
par ani
Ton code source est faux
J'ai fait la correction, y avait bien des erreurs mais je faisait de tête (pour un exemple)
si je comprend bien tu veux chercher la signature upx dans un .exe ?
Pas spécialement, c'etait juste un exemple
Pour le moment ani stagne et n'avance plus en rien.
SI tu serait m'aiguiller sa serait sympa

Merci d'avance et bonne continuation

Re: [..] Compréhension sur la lecture d'un fichier binaire

Posté : sam. 06 sept. 2014 11:05
par ani
Quelqu'un connait un site qui donnerait les adresses des fonctions selon le système ?

Pké bein je traduit un petit fichier exe (2,5ko) vers asm (enfin l'opcode)

Merci par avance
Et bonne rentrée à toutes et tous

Re: [..] Compréhension sur la lecture d'un fichier binaire

Posté : sam. 06 sept. 2014 11:30
par jchd
Ta question est incompréhensible pour moi, sur tous les points.
Quelles fonctions ?
Quel système ?
Traduire un .EXE en asm : tu veux dire désassembler ?
Opcode de quoi ?

Re: [..] Compréhension sur la lecture d'un fichier binaire

Posté : sam. 06 sept. 2014 12:02
par ani
Personne ne me comprend, merci d'avoir essayé ;)

Pour la ou les fonctions
Exemple dans la dll Kernel32 y a des fonctions (ha bon) , sous tel systeme (xp,seven,vista ect...
) le pointer change (certaine fonction ont disparu pour etre remplacer par d'autre)

et pour l'opcode (hexa) ou je ne sais quel terme.
Exe vers binaire, quand je li le data y a des fonctions non répertorier (asm), enfin je connait pas les 400 instruction par coeur, y a des push partout (50,68) et des appel au fonction ect,
Le fichier je le connait C ma creation (compiler sous masm32) y a que trois appel, cette exe fonctionne juste sous 98 à xp et la becane du moment et sous seven donc les pointeurs sont pas identique :(

A quoi çà me servirer, bein a creer des executable a la volée ;)
Et v"rifier qu'il n'y est pas de saloperie dans un exe :o

Si C tjrs pas compréhensible, désolé, je ne peux faire mieux
(+ 10 minute pour ecrire ce message)

merci d'avance.

Re: [..] Compréhension sur la lecture d'un fichier binaire

Posté : sam. 06 sept. 2014 14:12
par Tlem
Bonjour ani.
Le sujet dérive très largement en dehors du cadre du thème de ce forum (fonctions de kernel32.dll, instructions et compilation asm, etc).

Je te conseil d'arpenter des forums spécialisés sur ta demande.

Concernant tes messages, je comprends que par rapport à tes problèmes de santé ce ne soit pas facile, mais comme toujours il est difficile de comprendre la portée de tes questions qui souvant nous paraissent dénuées de sens car les explications y sont confuses.

Envoyé depuis mon mobile en utilisant Tapatalk.

Re: [..] Compréhension sur la lecture d'un fichier binaire

Posté : sam. 06 sept. 2014 14:39
par ani
ok, en faite je cree sous autoit un analyser (pour le moment je suis sur l'exe - Header/signature/data/import export fonction) , j'ai bien des outils sur un DD mais bon il m'est impossible de le brancher et je ne parle pas de dessassembler le fichier mais bien de suivre les instructions.
Si çà correspond pas au forum pas grave, cté juste pour obtenir un flash.

Y a une fonction CallWindowProcA/W qui demande de l'hex (instruction asm)

@tlem lundi j'ai fait angine de poitrine suivit d'un infractus .. +6heure a l'hosto pour me dire on vous garde, bein j'en peut plus de l'hosto...
36 de pulse et 40% d'oxygene.

Re: [..] Compréhension sur la lecture d'un fichier binaire

Posté : sam. 06 sept. 2014 16:18
par jchd
Euh, suivre les instructions c'est désassembler, sauf à lire les opcodes de tête en hexa mais c'est un peu sportif, surtout pour quelqu'un sous oxygène !

Désolé pour ton palpitant. Sois patient, ce n'est pas toi qui va te soigner tout seul dans ton coin.
Perso, j'ai une angioplastie prévue à la fin du mois, moins grave mais pas top quand même. Je suis bon bricoleur mais j'imagine mal me faire ça dans mon salon :shock:

Re: [..] Compréhension sur la lecture d'un fichier binaire

Posté : lun. 08 sept. 2014 01:52
par Sea
Premièrement je te conseille de lire ceci tout d'abord sur le format PE http://olance.developpez.com/articles/w ... -iczelion/
http://fr.wikipedia.org/wiki/Portable_Executable
http://repo.zenk-security.com/Reversing ... 20(PE).pdf

et ensuite ces doc (en anglais mais fort intéressant)
http://www.ijcte.org/papers/512-S10014.pdf
http://thesai.org/Downloads/Volume5No1/ ... ection.pdf

et ce lien peut etre un peu bordeline mais bon pour comprendre comment fonctionne un packer pourquoi ne pas voir comment en créer un? http://lilxam.tuxfamily.org/blog/?p=117 :)

Et pour finir jette aussi un oeil à ce doc http://big-daddy.fr/repository/Document ... ctions.pdf ;)

Après une fois que ta compris le format, il suffit de lire ton fichier exe avec la structure PE
(aller je la refourge encore http://autoitscript.fr/forum/viewtopic.php?f=21&t=11469 peux t'être utile :p)

En espérant t'avoir aidé ;)