Voir la source binaire et hexa d'un fichier !

Soyez le premier à donner votre avis sur cette source.

Vue 3 990 fois - Téléchargée 444 fois

Description

N'importe quel fichier !
N'importe quelle taille (hum... désolé, au dessus de 200 Ko, ceux qui ont un processeur en dessous de 1800 MHz et 256 Mo RAM ça marchera plus :(

Ce serait mieu que vous téléchargiez le zip, c moin long :)

Source / Exemple :


' 1 Boite de texte  = > txtFile
' 1 Boutton commande  = > CmdLoad
' 1 Boite de texte = > txtHex      'avec multiline = true  et scrollbar = vertical
' 1 Boite de texte = > txtBin       'avec multiline = true  et scrollbar = vertical

Private Sub cmdLoad_Click()
    If Dir$(txtFile.Text) = "" Then MsgBox "Fichier inconnu": Exit Sub
    txtHex.Text = ""
    txtBin.Text = ""
    Dim aText As String, b$, t$, h$, k As Long, i As Long, j As Long, l As Long
    Open txtFile.Text For Binary As 1
    If LOF(1) > 20& * 1024& Then
        If MsgBox("Le fichier sera peut-être trop gros pour pouvoir être décompiler par votre disque dur (suivant votre processeur et RAM), voulez-vous continuer ?", vbYesNo) = vbNo Then Close 1: Exit Sub
    End If
    aText = Space$(LOF(1))
    Get 1, , aText
    Close 1
    For k = 1 To Len(aText) + 16 - (Len(aText) Mod 16) Step 16
        txtHex.SelStart = Len(txtHex.Text)
        txtBin.SelStart = Len(txtBin.Text)
        If k > 1 Then
            txtHex.SelText = vbCrLf
            txtHex.SelStart = Len(txtHex.Text)
            txtBin.SelText = vbCrLf
            txtBin.SelStart = Len(txtBin.Text)
        End If
        t$ = Hex$(k - 1): If Len(t$) < 4 Then t$ = String$(4 - Len(t$), "0") & t$
        t$ = t$ & "   "
        For i = k To k + 15
            h$ = "00"
            If i <= Len(aText) Then
                j = Asc(Mid$(aText, i, 1))
                h$ = Hex$(j)
                If Len(h$) < 2 Then h$ = "0" & h$
            End If
            t$ = t$ & "  " & h$
        Next
        txtHex.SelText = t$
        t$ = ""
        For i = k To k + 15
            b$ = "00000000"
            If i <= Len(aText) Then
                b$ = ""
                j = Asc(Mid$(aText, i, 1))
                For l = 0 To 7
                    If (2 ^ l) And j Then b$ = "1" & b$ Else b$ = "0" & b$
                Next
            End If
            t$ = t$ & "  " & b$
        Next
        txtBin.SelText = t$
    Next
End Sub

Conclusion :


y'as pas de bugs (je crois)
http://www.TEAM-GAMER.com

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
118
Date d'inscription
dimanche 12 octobre 2003
Statut
Membre
Dernière intervention
28 mars 2008

Bonjour,
il est nice ton code seulement j'ai une question ....
si je voudrais aller au 15000 octect et le tranformer en entier .. Il y a t'il une méthode sans tout passer les octect 1 a 1

Merci de la réponse ! :)
Messages postés
10
Date d'inscription
lundi 21 janvier 2002
Statut
Membre
Dernière intervention
11 mars 2004

Vraiment pas mal la source, ça va bien me servir pour faire de la compression.
Merci
Messages postés
412
Date d'inscription
mercredi 19 décembre 2001
Statut
Membre
Dernière intervention
7 avril 2008
1
c'est pas mal... 8/10
Je cherche un comparateur de fichiers en binaire, on peut s'en inspirer peut-être
Messages postés
37
Date d'inscription
lundi 9 octobre 2000
Statut
Membre
Dernière intervention
1 juillet 2008

pas bete lol :)
Messages postés
2
Date d'inscription
jeudi 24 janvier 2002
Statut
Membre
Dernière intervention
24 janvier 2002

Perso moi j'arrive meme po a ouvrir un fichier de 10ko avec mes 64 de RAM
M'enfin c'est une bonne idée quand même
Mais pourquoi ne pas faire d'abord l'un et ensuite l'autre (binaire et hexa) ?
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.