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 :

Patch modifiant l'offset d'un .exe


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Patch modifiant l'offset d'un .exe
    Hello. Je commence à peine a faire du visualbasic et là je cherche à créer un patch pour Msn messenger. Le but c'est de le distribuer aux membres d'un site au lieu de leur faire télécharger à chaque fois un msn modifié à la main (5mega minimum).

    Donc je cherche à modifier de l'héxadécimal dans Msn. C'est l'adresse qui sert à indiquer à msn où se trouve les onglets à gauche de la liste de contacts et je voudrais rediriger vers un autre site où se trouve d'autres onglets.

    http://img234.exs.cx/img234/8159/dd5ds.jpg

    Quelqu'un pourrait m'aider à faire ça ? Siouplait

  2. #2
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Il est très simple d'ouvrir un fichier de cette manière et d'en modifier le contenu.
    Petit exemple a adapter:
    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
    Dim MyValue As Byte
    Dim FileAdr As String
     
    FileAdr = "C:\MonProg.exe" 'Adresse du fichier à ouvrir
     
    Open FileAdr For Binary As #1 'Ouvre le fichier
     
    Get #1,65,MyValue 'Lit le 65eme Octet et met sa valeur dans MyValue
     
    'Si l'octet lue est egal a 6D en Hexa alors on le met a 7D sinon a 0
    If MyValue = &H6D Then MyValue = &H7D Else MyValue = 0
     
    Put  #1,65,MyValue 'Ecrit l'octet dans le fichier
     
    Close #1 'Ferme le fichier
    ATTENTION : Dans un editeur Hexa l'adresse du premier octet est 0 alors que sous VB le premier octet a pour adresse 1 (Get #1,1,MyValue)

    J'éspère avoir été assez clair dans mes explications. Si tu as le moindre problème n'hésite pas
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Merciiiii, j'avais lu des tas de trucs déjà fait pour comprendre mais je pigeais pas le &H, là y'a pas plus clair, je vais essayer je pense pas avoir de problèmes...

    Juste un truc, où est renseigné l'offset là dedans ?
    Lit le 65eme Octet et met sa valeur dans MyValue, c'est mis où que le 6d tout à gauche de la ligne 00029bc0 c'est le 65eme ?

    Je bloque juste là, je peux pas commencer parce que je sais pas à quel octet correspond le h de mon http .
    http://img160.exs.cx/img160/9862/capture17qs.jpg
    29BC5 en vb ? qui serait 29bc4 en hexa

  4. #4
    HPJ
    HPJ est déconnecté
    Membre averti

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2003
    Messages : 260
    Points : 364
    Points
    364
    Par défaut
    Citation Envoyé par Goshi
    29BC5 en vb ? qui serait 29bc4 en hexa
    Oui.
    Avant de poser une question, merci de chercher dans les rubriques suivantes:
    FAQ VB
    Tutoriaux VB
    Recherche avancée sur le forum

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Ai-je fait une erreur ? Compilation impossible car GET et PUT n'existe pas
    J'ai sauter certains octets car il n'étaient pas à changer.

    Source

  6. #6
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    L'histoire du 65eme octet était un exemple.
    Deuxièmement il ne sagit pas d'un numéro de ligne mais de l'adresse du premier octet de cette ligne. Ainsi l'octet 6d de l'image a pour adresse 170944 si le premier a pour adresse 0, or dans vb le premier a pour adresse 1 donc l'octet 6D de l'image a pour adresse 170945.
    Il faut donc faire ainsi pour lire cet octet :

    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Modifier l'icone d'un exe !
    Par darkwall_37 dans le forum Windows XP
    Réponses: 3
    Dernier message: 15/10/2007, 10h35
  2. Trouver le dernier offset de son exe delphi
    Par Coussati dans le forum Delphi
    Réponses: 5
    Dernier message: 12/06/2006, 11h37

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