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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

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

#1

Message 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 ?)
Avatar du membre
moutelous
Niveau 6
Niveau 6
Messages : 229
Enregistré le : sam. 09 févr. 2008 19:51
Localisation : Rennes
Status : Hors ligne

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

#2

Message par moutelous »

Salut Ani,

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

A+
A+
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

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

#3

Message 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.
Avatar du membre
Ghost911
Niveau 5
Niveau 5
Messages : 166
Enregistré le : mar. 21 oct. 2008 17:57
Localisation : Bordeaux
Status : Hors ligne

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

#4

Message par Ghost911 »

Ton code source est faux si je comprend bien tu veux chercher la signature upx dans un .exe ?
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

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

#5

Message 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
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

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

#6

Message 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
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2282
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

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

#7

Message 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 ?
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

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

#8

Message 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.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#9

Message 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.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

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

#10

Message 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.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2282
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

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

#11

Message 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:
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Sea
Niveau 6
Niveau 6
Messages : 219
Enregistré le : ven. 22 juin 2012 18:51
Localisation : France
Status : Hors ligne

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

#12

Message 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é ;)
Répondre