Bonjour je suis débutant en language assembleur.
Ma question est simple une fos que l'on a désassembler un programme comment fait on opur le réassembler ?
Bonjour je suis débutant en language assembleur.
Ma question est simple une fos que l'on a désassembler un programme comment fait on opur le réassembler ?
généralement, avec un assembleur, comme Masm, ou Nasm, ou Fasm... (syntaxe intel) ou as (syntax AT&T) ...... mais ça dépends avec quoi tu l'as désassemblé, et le résultat qu tu as ...
C'est le devoir de chaque homme de rendre au monde au moins autant qu'il en a reçu -- Albert Einstein
Mon blog: http://blackhorus.blogspot.com
Bonjour,
Peut-être qu'un petit détour par cette page t'apportera certaines réponses : http://asm.developpez.com/
Bonne journée,
Bonjour !
En général, quand tu désassemble un programme, tu n'a pas besoin de le réassembler pour qu'il fonctionne puisqu'il l'était déjà...
Sinon tu dois avoir une raison précise...
Salut !
En fait mon problème c'est que suite a un virus j'ai été obliger de réinstaller Windows, j'avais conçue un logiciel de messagerie instantané que j'ai pu récupérer (vive Undelete) mais pas le code source .
J'ai donc désassemblé mon logiciel avec un désassembleur hexadécimal (w32dasm), je voudrais en fait juste changer le nom interne de mon logiciel et savoir si je peut récupérer le code source!!!!!
:
Bonjour,
Non, tu ne peux pas récupérer le code source, sauf à dépouiller complétement le code désassemblé, et je te souhaite beaucoup de courage.
Si tu as conçu ce logiciel, la prochaine fois, pense à faire des sauvegardes :
- si on ne sauvegarde pas à mesure, c'est qu'on a tendance à ne jamais le faire, d'ou quand on reformate..
- aucun disque n'est éternel
- etc...
Compilation sans erreur ne signifie pas programme sans erreur.
L'indentation n'a pas été imaginée pour faire beau, mais pour faciliter la lecture des programmes.
Je crois pas que le sujet du thread soit "comment ne pas perdre son travail", puisque d'une part, le mal est fait et on va pas revenir en arrière, et d'autre part, si quelqu'un fait une recherche sur le forum sur le désassemblage/décompilage, il peut trouver ce sujet interessant.
Pour ce qui est de récupérer le code source, il est évident que tu ne retrouveras pas la mise en forme ni les commentaires. Toutefois, il exister des logiciels qui permettent un "décompilage". Mais il n'y a pas de solution miracle : le code ainsi reconstitué est à peu près indéchiffrable, mais ca peut tout de même vous interesser, si vous tenez à modifier des petites choses plus simplement, voir même faire des ajouts. 'faut pas avoir froid aux yeux...
En ce qui concerne le "nom interne", je ne comprends pas ce que vous voulez dire par là, mais il devrait pouvoir être changé grace à l'utilisation d'un désassembleur / débuguer.
Bonjour !
Ton programme fonctionne sous Windows, je suppose, pas sous DOS ?
Il y a par exemple des outils comme OllyDBG (un débogueur) pour récupérer le code source d'éxecutables PE (pour Win32).
Mais de toute façon, comme l'a expliqué Blustuff, ce sera très difficile à déchiffrer, par exemple un saut à un label nommé dans le code source "Next", le désassembleur te donnera un saut à une adresse, et pas à "Next"...
^^ Faut donc pas avoir froid aux yeux, comme dirait Blustuff ^^
Si ton exécutable contient des ressources, tu peux aussi aller les récupérer très proprement avec un éditeur de ressources.
Je pense aux titres de dialogues ou de contrôles, aux tables de chaînes ou au bloc versioninfo... Mais le nom interne d'un programme est rarement stocké comme ressource.
Règles du forum
Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
Mes tutoriels et sources Pascal
Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]
En fait je veut changer le nom interne car mon prgramme s'appele Vm2
et je souhaite changer le mon en NuxMessenger. J'ai bien tenter avec des outils comme Reshacker mais rien a faire quand je lance le programme c'est le nom Vm2 qui s'affiche dans la barre des tâches Windows.
Pour ce qui est de faire des sauvegardes j'ai fait une partition et copier mes fichiers dedans et les plus importants sur un clef usb (pratique c'est truc)
ça depends comment tu as fais pour initialiser le paramètre lpWindowName de la fonction CreateWindow... essaye avec un disasembleur pour voir, et puis après avec un HEX editor...
C'est le devoir de chaque homme de rendre au monde au moins autant qu'il en a reçu -- Albert Einstein
Mon blog: http://blackhorus.blogspot.com
Avec OllyDBG j'arrive a trouver ce que je doit modifier, j'arrive d'ailleurs a faire les modifs mais seulement je voudrais savoir comment on sauvegarde les modifs dans l'EXE.
Si quelqu'un peut m'expliquer la manip, ce seras niquel
Vive Developpez.com
ben,
avec un desassembleur, tu cherches les suites d'instructions qui t'interesse, et tu notes le deplacement (offset), ensuite avec un editeur hexadecimal (google t'aideras un peu ici) tu appliques les changement aux déplacements indiqués.
C'est le devoir de chaque homme de rendre au monde au moins autant qu'il en a reçu -- Albert Einstein
Mon blog: http://blackhorus.blogspot.com
J'ai trouvé WinHex comme éditeur Hexadécimale
Je vais faire les modifs et on veras bien
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager