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

  1. #1
    Membre à l'essai
    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
    Points : 10
    Points
    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 éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 634
    Points : 1 161
    Points
    1 161
    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 à l'essai
    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
    Points : 10
    Points
    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 éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 634
    Points : 1 161
    Points
    1 161
    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 du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

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

    On dit merci vbdecompiler
    Bros

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

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 634
    Points : 1 161
    Points
    1 161
    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

  7. #7
    Membre à l'essai
    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
    Points : 10
    Points
    10
    Par défaut si, si, merci...
    ...de votre participation, même si elle se limite à railler en sous-entendu mon activité; vous comprendrez que le mois d'août n'est pas le plus dense pour moi. Je n'éprouve pas le besoin de me connecter quand je n'ai rien à dire.
    Je comprends bien qu'il semble mal vu sur ce forum d'essayer de comprendre ce que fait un binaire métier, dont le développeur est aux abonnés absents, en vue d'exploiter des données de log dont nous sommes propriétaires.
    Ma question était simplement de savoir si ce code ressemble à un algorithme existant. Tenter de troller ce genre de démarche ne fait que renforcer mon soutien à la démarche du logiciel libre, où l'on refuse de se mettre une paire de menottes numériques, de se faire enfermer nos données dans un format propriétaire obscur et non documenté.

  8. #8
    Membre éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 634
    Points : 1 161
    Points
    1 161
    Par défaut
    Citation Envoyé par oliviermarquez Voir le message
    Tenter de troller ce genre de démarche ne fait que renforcer mon soutien à la démarche du logiciel libre, où l'on refuse de se mettre une paire de menottes numériques, de se faire enfermer nos données dans un format propriétaire obscur et non documenté.
    Je ne vois vraiment pas ce qui te fait écrire ça . Il y a un gars qui a dévelloper un programme pour le patron de ta société. En général, on achète le programmeur, l'EXE et les sources.
    Si ton patron a paumé les sources... ton histoire de logiciel libre, c'est complétement bidon.

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