Est-il possible de “décompiler” de Windows .exe? Ou au moins de vue de l'Assemblée?
Un de mes amis téléchargé quelques logiciels malveillants à partir de Facebook, et je suis curieux de voir ce que ça donne sans infecter moi-même. Je sais que vous ne pouvez pas décompiler un .exe, mais puis-je au moins l'afficher dans l'Assemblée ou attacher un débogueur?
Modifier à-dire qu'il n'est pas un .NET exécutable, pas de CLI-tête.
- les logiciels malveillants à partir de facebook?? pourriez-vous expliquer que
- Désolé pour la super réponse tardive... mais je crois que cela se passe: elle a couru un morceau de logiciel malveillant, qui à un certain point spammé tous ses contacts sur FB (moi) avec un lien vers une "vidéo" qui vous a demandé de vous téléchargez un "nouveau codec". Je suis en supposant qu'il s'est comporté comme un ver dans ce sens.
Vous devez vous connecter pour publier un commentaire.
Avec un débogueur vous pouvez parcourir le programme de l'assemblée de manière interactive.
Avec un désassembleur, vous pouvez afficher le programme de l'assemblée dans plus de détails.
Avec un decompiler, que vous pouvez activer un programme de retour partielle dans le code source, en supposant que vous savez ce qu'il a été écrit (que vous pouvez trouver avec des outils libres tels que PEiD - si le programme est rempli, vous devrez décompresser OU Détecter-il-Facile si vous ne pouvez pas trouver les PEiD n'importe où. MOURIR a une forte communauté de développeurs sur github actuellement).
Débogueurs:
Désassembleurs:
La décompilation:
Quelques outils qui pourraient être utile en quoi que ce soit que vous faites sont des ressources des éditeurs tels que ResourceHacker (gratuit) et d'un bon éditeur hexadécimal comme Hex Workshop (commercial).
En outre, si vous faites de l'analyse de logiciels malveillants (ou utilisez SICE), de tout cœur je vous suggère de course de tout à l'intérieur d'une machine virtuelle, à savoir VMware Workstation. Dans le cas de SICE, il permettra de protéger votre système de Bsod, et dans le cas de logiciels malveillants, il permettra de protéger votre système à partir de la cible du programme. Vous pouvez lire sur l'analyse des logiciels malveillants avec VMware ici.
Personnellement, je roule avec Olly, WinDbg & W32Dasm, et quelques petits outils utilitaire.
Aussi, n'oubliez pas que le démontage ou même de débogage autres logiciel est généralement contre le CLUF à tout le moins 🙂
psoul l'excellent post de réponses à votre question, donc je ne vais pas reproduire son bon travail, mais j'ai l'impression qu'il faudrait aider à expliquer pourquoi c'est à la fois parfaitement valide, mais aussi terriblement stupide question. Après tout, ce est un endroit pour apprendre, non?
Programmes informatiques modernes sont produits par une série de conversions, en commençant par l'entrée de l'lisible par l'homme, corps de texte des instructions (appelé "code source") et se terminant avec un ordinateur lisible par l'ensemble des instructions (appelé alternativement "binaire" ou "code machine").
La même façon qu'un ordinateur exécute un ensemble de code machine des instructions est finalement très simple. Chaque action d'un processeur peut prendre (p. ex., lire à partir de la mémoire, de l'ajout de deux valeurs) est représenté par un code numérique. Si je vous dit que le numéro 1 destiné à hurler et le chiffre 2 signifie pouffer de rire, et a ensuite tenu jusqu'cartes avec 1 ou 2, sur eux vous attend à crier ou rire en conséquence, je serais à l'aide de ce qui est essentiellement le même système d'un ordinateur pour fonctionner.
Un fichier binaire est juste un de ces codes (l'habitude de les appeler "op codes") et l'information (les"arguments") que l'op codes de loi sur.
Maintenant, langage assembleur est un langage informatique où chaque mot de commande dans la langue représente exactement une op-code sur le processeur. Il existe un rapport direct 1:1 de traduction entre un langage d'assemblage de commande et d'un processeur op-code. C'est pourquoi le codage de l'assemblée pour un x386 processeur est différent de celui de codage de l'assemblée d'un processeur ARM.
Le démontage est simple: un programme lit le fichier binaire (le code machine), en remplacement de l'op-codes avec leur équivalent en langage d'assemblage des commandes, et renvoie le résultat dans un fichier texte. Il est important de comprendre cela, si votre ordinateur peut lire le binaire, vous pouvez lire le binaire, soit manuellement avec une op-table de code dans votre main (ick) ou par le biais d'un désassembleur.
Désassembleurs avoir quelques nouvelles astuces et de tous, mais il est important de comprendre qu'un désassembleur est, finalement, une recherche et remplacer le mécanisme. C'est pourquoi toute CLUF qui l'interdit est en fin de compte à de l'air chaud. Vous ne pouvez pas à la fois permettre à l'ordinateur de lire les données du programme et aussi d'interdire à l'ordinateur de lire les données du programme.
(Ne vous méprenez pas, il y a eu des tentatives pour le faire. Ils travaillent ainsi que les DRM sur les fichiers de musique.)
Cependant, il y a des bémols pour le démontage de l'approche. Les noms de variables sont inexistants; une telle chose n'existe pas de votre CPU. La bibliothèque des appels sont source de confusion comme l'enfer et nécessitent souvent de démonter plus binaires. Et l'assemblage est dur comme l'enfer à lire dans les meilleures conditions.
La plupart des programmeurs professionnels ne peuvent pas s'asseoir et lire de l'assemblée de la langue sans avoir des maux de tête. Pour un amateur, c'est juste ne va pas arriver.
De toute façon, c'est un peu passée sous silence-plus d'explication, mais j'espère que cela aide. Tout le monde peut se sentir libre de corriger toute inexactitude de ma part; il a été un moment. 😉
De bonnes nouvelles. IDA Pro est en fait libre de ses versions plus anciennes maintenant:
http://www.hex-rays.com/idapro/idadownfreeware.htm
Tout bon débogueur peut le faire. Essayez OllyDbg. (edit: qui a une grande désassembleur que même décode les paramètres de WinAPI appels!)
x64dbg
est une bonne et open source débogueur est activement maintenu.Sûr, avoir un regard sur IDA Pro. Ils offrent une version eval de sorte que vous pouvez l'essayer.
Si vous essayez juste de comprendre ce qu'est un malware fait, il pourrait être beaucoup plus facile à exécuter en vertu de quelque chose comme l'outil gratuit Le Moniteur De Processus qui fera rapport chaque fois qu'il tente d'accéder au système de fichiers, le registre, les ports, etc...
Également, à l'aide d'une machine virtuelle comme le free VMWare server est très utile pour ce genre de travail. Vous pouvez faire un "nettoyage" de l'image, et puis il suffit d'aller retour à chaque fois que vous exécutez le logiciel malveillant.
Ce que vous voulez est un type de logiciel appelé "Désassembleur".
Rapide sur google rendements ceci: http://www.geocities.com/~sangcho/disasm.html
Vous pouvez obtenir certains de visualisation de l'information dans l'assemblée, mais je pense que la meilleure chose à faire est de tirer une machine virtuelle et voir ce qu'il fait. Assurez-vous que vous n'avez pas d'ouvrir des actions ou quelque chose comme ça qu'il peut sauter par bien 😉
Boomerang peut également être utile de vérifier.
Je ne peux pas croire que personne ne dit rien au sujet de L'Immunité Débogueur, encore.
Immunité Débogueur est un outil puissant pour écrire les exploits, d'analyser les logiciels malveillants, et désosser des fichiers binaires. Il a d'abord été fondée sur Ollydbg 1.0 code source, mais avec des noms resoution correction d'un bug. Il a ainsi pris en charge l'API Python pour facile d'extensibilité, de sorte que vous pouvez écrire vos scripts python pour vous aider à l'analyse.
Aussi, il y a une bonne Pierre de Corelan équipe a écrit appelé mona.py, excelent outil btw.
Si vous souhaitez exécuter le programme pour voir ce qu'il fait sans infecter votre ordinateur, l'utiliser avec une machine virtuelle comme VMWare ou Microsoft VPC, ou un programme qui peut sandbox le programme comme SandboxIE
Si vous n'avez pas le temps, présenter les logiciels malveillants de cwsandbox:
http://www.cwsandbox.org/
http://jon.oberheide.org/blog/2008/01/15/detecting-and-evading-cwsandbox/
HTH
Vous pouvez utiliser dotPeek, très bon pour décompiler un fichier exe. Il est libre.
https://www.jetbrains.com/decompiler/
La l'explorateur de suite pouvez faire ce que vous voulez.