IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Compréhension de code ?


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Par défaut Compréhension de code ?
    bonjour,

    je suis en train d'écrire une fonction permettant de lire des fichiers .dat, enregistrés par une vieille application propriétaire écrite en vb.
    Ce sont des logs (évènements : date, heure, commentaire...). Ces fichiers ne sont pas lisibles en clair avec le notepad.
    Apparemment, la fonction qui s'occupait de les lire (ligne par ligne, semble-t-il) était la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private sub Proc_75_4_4C1988
      'Data Table: 402250
      Dim var_A2 As Integer
      Dim var_DC As Variant
      loc_4C179B: var_9C = vbNullString
                  If CBool(Left(arg_10, 1) <> Chr(&H95)) Then '4C17E0
      loc_4C17D8:   var_94 = CVar(arg_10) 'Variant
      loc_4C17DC:   Result = arg_10: Exit Sub
                  End If
      loc_4C1866: var_DC = Format(Asc(CStr(Mid$(arg_10, 2, 1))), "000")
      loc_4C189B: var_AC = CStr(1 & Format(Asc(CStr(Mid$(arg_10, 3, 1))), "000"))
                  For var_144 = 4 To CInt(Len(arg_10)): var_96 = var_144 'Integer
      loc_4C1942:   var_A2 = (((224 + (Asc(CStr(Mid$(arg_10, CLng(var_96), 1))) - &H20)) - (Asc(CStr(Mid$(var_AC, (1 + (CLng((var_96 - 4)) Mod Len(var_AC))), 1))) - &H20)) Mod 224)
      loc_4C1968:   var_9C = CStr(CVar(var_9C) & Chr(CLng((((var_A2 + &H20) + &H20) + &H20))))
                  Next var_144 'Integer
      loc_4C1980: var_94 = CVar(var_9C) 'Variant
      loc_4C1984: Result = arg_10: Exit Sub
    End Sub
    Je ne comprend pas à quoi servent toutes ces conversions chaines <-> codes ASCII, les ajouts/soustractions, les modulo...
    Cela a du sens, cela vous rappelle un algorithme connu, ou c'est juste une tentative d'obfuscation des logs par le développeur d'origine ?
    Qu'en pensez vous ?

  2. #2
    Membre émérite Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 635
    Par défaut
    Tu le sorts d'où ce machin en VB6 ?
    Ca ressemble à une opération de reverse engineering sur du code compilé ....

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Par défaut
    Bonjour,

    Faute d'information, d'interlocuteur à qui poser la question, on prend ce qu'on a...
    Rester à regarder le contenu de mon fichier .dat, pour la reprise d'historique, ne va pas m'éclairer :

    •*ŠVJHBDHFO3>3JIFCIBJAHE1DJKGHKFQ1Q3T‚†|‹z‚†1\FFDIALK
    •“YVGLAIIFL7=8KICGHGKAEI0IKKDLJLI1N7S‡‡yy‡‡1uŒ0Š"„yx…8‰úxxw‡€z…Œu
    •\ºULGBIFEQ2>8HHHBIGH@JD1IHJJDKMJ0S2laddv2K8~„‚KGEƒ‹ˆˆ}x>…‹tE„q‡ƒ}CHN@}‡yq…Az†Š‚z€vŒE0
    etc

    cordialement,
    merci d'avance pour vos lumières.

  4. #4
    Membre émérite Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 635
    Par défaut
    Citation Envoyé par oliviermarquez Voir le message
    Faute d'information, d'interlocuteur à qui poser la question, on prend ce qu'on a...
    Ca ne t'empéche pas de répondre à ma question :
    Citation Envoyé par Daudet
    Tu le sorts d'où ce machin en VB6 ?
    Tu disposes uniquement de l'EXE ?
    Rester à regarder le contenu de mon fichier .dat, pour la reprise d'historique, ne va pas m'éclairer :
    A la rigueur, vaut mieux le regarder avec un éditeur HEXA . Peut être qu'on retrouvera du texte.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Par défaut
    C'est du reverse, ca saute aux yeux.

    On dit merci vbdecompiler

  6. #6
    Membre émérite Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 635
    Par défaut
    Citation Envoyé par Bros Voir le message
    On dit merci vbdecompiler
    Tu n'auras pas de merci ....
    oliviermarquez Dernière activité 03/08/2014 10h22

Discussions similaires

  1. compréhension de code en asp
    Par bidule123456 dans le forum ASP
    Réponses: 1
    Dernier message: 21/08/2007, 11h12
  2. compréhension de code (passage à une autre page)
    Par kokokaine dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/05/2007, 11h02
  3. Réponses: 3
    Dernier message: 12/01/2007, 09h42
  4. [VB-Access]recset! Pb de compréhension de code
    Par sk8bcn dans le forum VBA Access
    Réponses: 5
    Dernier message: 15/12/2006, 15h26
  5. Compréhension du code
    Par Ivanelis dans le forum Assembleur
    Réponses: 3
    Dernier message: 12/06/2006, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo