Aller au contenu

[RESOLU] lecture et modif d'un .EXE


Messages recommandés

C'est impossible, il te faut le code source de l'application, tu ne peux pas le récupérer à partir du binaire (fichier .exe).

Si c'est un logiciel open-source alors le code source doit être disponible publiquement, cherche sur le site officiel pour trouver.

Si ce n'est pas le cas, rentre en contact avec l'auteur du programme, qui sera peut être enclin à t'aider.

Mais pour ce qui est de le modifier... au vue de tes questions, je doute que tu ais les compétences pour pouvoir le faire.

Si tu t'intéresse à la programmation commence par les bases.

Lien vers le commentaire
Partager sur d’autres sites

merci pour ton aide

effectivement tu a vu juste je suis un neophite en la matière, et je cherche donc à en savoir plus... ou a trouver qq'un qui peut m'aider.

concernant les programmes il sagit de toutes petite appli de 30 a 50 Ko de type controle activeX (ou en tout cas sa y ressemble...) qui ne sont pas en open et dont je n'ai effectivement pas le code source.

toutefois j'imagine que pour les utilisateur avancé en la matière il doit etre possible de "pénétrer" dans un programes, autrement qu'en l'executant...

j'avais entendu parler des backdoor... n'y a t'il vraiement aucune possibilité ???

Lien vers le commentaire
Partager sur d’autres sites

La solution c'est la retro-ingénierie. C'est à dire (en vulgarisant) retrouver la logique derrière le code machine.

Comme tu peut l'imaginer c'est extrèmement difficile, seules quelques poignées de personnes en sont capables, au prix de très longs efforts. Il est la plupart du temps moins couteux et plus facile de tout redévelopper.

Lien vers le commentaire
Partager sur d’autres sites

La solution c'est la retro-ingénierie. C'est à dire (en vulgarisant) retrouver la logique derrière le code machine.

Comme tu peut l'imaginer c'est extrèmement difficile, seules quelques poignées de personnes en sont capables, au prix de très longs efforts. Il est la plupart du temps moins couteux et plus facile de tout redévelopper.

mon probleme en gros c que j'ai ete attaqué par des virus qui se sont implanté sur mon PC et l'idée de base, surement plus facile a dire qu'a faire, est de cherché a savoir qui me les a envoyés. du coup j'ai pensé que, ces virus ayant une utilité pour leur utilisateurs, il devait y avoir moyen de remonté jusqu'a eux par l'intermediaire de l'appli...

comment puis-je faire autrement ??? mon antivirius a enregistrer les adresses IP des attaquant mais le who is ne me donne rien....

y a t'il d'autre sources pour trouver le propriétaire.

si l'information passe dans un sens elle doit bien pouvoir passée dans l'autre ... ???

Lien vers le commentaire
Partager sur d’autres sites

Suivre cette trace est inutile car ce sont des PC Zombis qui ont lancé l'attaque, et jamais l'attaquant directement :transpi:

quand tu parle de PC zombis j'imagine qu'il sagit de PC infectés qui serve de "couverture" ??

pourtant sachant que l'utilité d'un trojan est est de remonter de l'information afin que l'attaquant puisse s'en servir a des fin personnelles (et pas toujours légale) cela suppose que cette information lui est transmise d'une facon ou d'une autre et que l'application en question dispose de cette information, au moins partiellement...

Lien vers le commentaire
Partager sur d’autres sites

Si tu ne cherches qu'un chaine de caractère, un éditeur hexa peut le faire facilement. Avec unix, un simple strings fichier.exe te sortira les chaines de caractères.

Maintenant, je pense que tu perds ton temps.

A quoi sa correspond ces chaines de caractères ? tu parle du code viral c sa ? type chaine "\xfc\xbb\x4d\xa5\xb3\..." (coler depuis un site web...)

dans ce cas non sa ne me servirai a rien je ne sais pas m'en servir

ce que je cherche c'est :

1/ savoir si des informations sont transmises a un tiers

2/ savoir qui est ce tiers

concernant ma perte de temps tu a tout a fait raison... il sagit surtout de curiosité

Tu peux avoir une correspondance du code source en assembleur en utilisant un désassembler

http://fr.wikipedia.org/wiki/D%C3%A9sassembleur

Il y a aussi les décompilateurs : http://fr.wikipedia.org/wiki/D%C3%A9compilateur, c'est limite point de vue légalité par contre...

j'ai recemment entendu parler de cette possibilité toutefois je n'ai pas oser telecharger les programmes en question pour l'instant (je me suis dit que j'avais assez de pb comme sa)... mais j'y pense toutefois j'imagine qu'il faut avoir un certain bagage pour pouvoir en exploiter les resultats...

en attendant pourrais tu m'expliquer la différence entre désassembleur et décompilateur ?

merci d'avance à tout les 2

Lien vers le commentaire
Partager sur d’autres sites

Je veux pas être méchant mais au vu des questions que tu poses tu est très loin d'avoir un bagage suffisant pour exploiter les résultats d'un décompilateur...ou désassembleur mais tu peux toujours poser des questions on essayera d'y répondre comme on peut

Un désassembleur traduit le .EXE en langage machine (langage assembleur) donc... très très haut niveau de compréhension pour comprendre ce qui se passe

Un décompilateur va essayer de te ressortir le code source de manière partielle ou complète derrière un exécutable.. là également interpréter un code source suivant le langage de programmation un bon ou très niveau est requis (c'est toujours plus chiant de relire le code de quelqu'un d'autre que le sien)

Lien vers le commentaire
Partager sur d’autres sites

Je veux pas être méchant mais au vu des questions que tu poses tu est très loin d'avoir un bagage suffisant pour exploiter les résultats d'un décompilateur...ou désassembleur mais tu peux toujours poser des questions on essayera d'y répondre comme on peut

Un désassembleur traduit le .EXE en langage machine (langage assembleur) donc... très très haut niveau de compréhension pour comprendre ce qui se passe

Un décompilateur va essayer de te ressortir le code source de manière partielle ou complète derrière un exécutable.. là également interpréter un code source suivant le langage de programmation un bon ou très niveau est requis (c'est toujours plus chiant de relire le code de quelqu'un d'autre que le sien)

ouais vous avez raisons je vais essayer de prendre par les bases et de de debarasser de ces saloperie de virus en attendant.

la question maintenant devient donc par ou commencer ???

si vous pouvez m'aidez ce serait super...

sinon pour moi ce topic est resolu.

merci a tous pour vos contribution et votre temps

Lien vers le commentaire
Partager sur d’autres sites

La curiosité est un très joli défaut ;) mais c'est vrai que tu sembles mettre la barre un peu trop haut :)

Si tu veux expérimenter avec le virus et avoir des infos sur ce qu'il fait "pour le fun", si j'étais toi je commencerais par une petite analyse avec Process Explorer qui pourra te fournir pas mal d'infos (chaînes en mémoire, connections réseau, fichiers et ressources utilisées, etc...). C'est beaucoup moins difficile à prendre en main qu'un désassembleur et ca permettra d'améliorer un peu ta culture des processus windows qui te sera indispensable si tu veux aller plus loin ;)

en attendant pourrais tu m'expliquer la différence entre désassembleur et décompilateur ?

Un désassembleur te montre le programme en langage assembleur, le décompileur va en plus essayer de traduire l'assembleur en un langage plus haut niveau (comme le C/C++). Mais pour ce qui est du C les résultats sont souvent assez désastreux au niveau de la lisibilité...

Lien vers le commentaire
Partager sur d’autres sites

Si tu veux te lancer dans la programmation, ba y a pas 50 solutions, faut commencer par apprendre un langage. Et la tu as plein de possibilités.

Si tu es motivé, tu peux commencer par le C (puis C++), c'est un langage très bon langage, même pour commencer, et qui est largement utilisés (tu peux aller voir le tutoriel sur www.siteduzero.com).

L'alternative, c'est le Java, un peu plus simple (moins compliqué au niveau de gestion de la mémoire), et qui a l'avantage d'être multi-plateforme.

Bien sur il y en a plein d'autre, mais ces 2 la sont très bien pour commencer en programmation.

Bonne chance :francais:

Lien vers le commentaire
Partager sur d’autres sites

@ eYo et SHTONG

Tout d'abord merci a tout les deux pour vos precieux conseils

concernant process explorer c "genre" le gestionnaire de tache de windows ou c'est autre chose

et concernant ma curiosité j'ai décidé de prendre les chose dans l'ordre, meme si c moin fun l'experience m'à appris que c'etait beaucoup plus rapide sur le long terme et beaucoup plus efficace.

A ce propos je suis aller visité le site du zéro en commencant par C (puisque sa à l'aire d'etre le passage indispensable)

et franchement les tutoriel su super bien expliquer (enfin pour l'instant j'en suis qu'au chapitre 2 donc forcement ...)

mais sa ma suffit pour me decider a telecharger visual C++

que pensez vous de ce choix de votre coté, je l'ai surtout pris par souci de facilité (windows... = windows)

par contre il m'affiche un message

"la chaine d'information actuelle n'est pas un flux RSS valide ou connexion Nok pour changer de chaine d'info => option demarage"

c juste pour mettre des flux perso ou sa à une utilité logicielle.

longue route devant moi... :transpi:

par contre je m'etait ouvert un nouveau user sous windows afin de faire un trie (esperer) plus sécurisant que par des dossier (de facon a utiliser un user boulo, un prog, un telechargement, etc...) mais je me rend compte que l'instalation d'un prog (Visual C++ en l'occurrence) a lieu sur tout les user.

estce possible de controler ce paramètre ou estce une cause perdue ?

Lien vers le commentaire
Partager sur d’autres sites

Comparer le gestionnaire des tâches et Process Explorer c'est comme comparer un triangle et un orchestre symphonique, si tu vois ce que je veux dire ;). C'est un super gestionnaire des tâches avec plein plein d'options et d'infos.

Le message d'erreur du flux RSS c'est pas grave, tu n'aura juste pas les news de Visual dans la page d'accueil mais ça ne te gêneras pas pour le développement.

Pour ce qui est des dossiers j'ai l'impression que tu vas te faire beaucoup plus chier avec plusieurs utilisateurs :transpi: ... Mieux vaux avoir des dossiers bien organisés dans les documents d'un utilisateur :D. Enfin chacun ses méthodes heing.

Sinon... Fonce et bonne chance :D

Lien vers le commentaire
Partager sur d’autres sites

L'objectif (theorique) d'avoir plusieur utilisateur part(ait) de l'hypothese que (prenon par exemple le cas d'un user "navigation web et telechargement") les modification, parametrage, downloads et installation de programme n'affecterai pas la autres users.

en gros considerer les user comme des "superdossier" dont l'utilité n'est pas d'organiser les fichier, prog etc... mais de structurer les politiques de securité, confidentialité, etc... en amont

comme si ont avait plusieurs PC sur une seule machine

lorsque l'un se chope un virus, ou si je fait un progqui plante mon systeme (sa m'arrivera surement un jour ou l'autre (y 15 ans j'avait tester le basic et il m'avait pris l'idé de faire une "boucle run au debut - run a la fin"...la catastrophe) les autres users ne serait pas affecter...

ou peut etre comme si j'avais un disque dur virtuellement decoupé avec chacun sont systeme d'exploit.

sauf que la sa prendrais moins de ressources disques.

quoi qu'il en soit l'imagination permet tout, reste a savoir si vista permet de le faire.

je suis sur que sa pourrais etre vachement pratique

Lien vers le commentaire
Partager sur d’autres sites

Disons que si tu te chopes un virus sous vista il y a de grandes chances que tous les utilisateurs soient affectés. Si tu veux une isolation parfaite entre plusieurs programmes histoire de pas tout casser tu peux essayer la solution des machines virtuelles.

Lien vers le commentaire
Partager sur d’autres sites

c possible ce truc des machine virtuelles

g essayer avec les user 1 en admin et 1 en en standard, mais pas de bol seul les admin peuvent installé des prog sous windows

je vais retenter l'experience avec 2 admin, comme sa ayant les memes droit les 2 seront peut etre independant.

sinon d'un autre coté j'ai remarqué que le "user" avait sont "architecture" (si c'est le bon terme...sik)de dossier propre alors que le dossier Programme parait commun à l'ensemble des user (com system 32, etc...)

le probleme pourrait peut etre etre resolu en modifiant ces structures à condition que ce soit possible de le faire de manière independante... en plus sa en fait un sacré paquet...

mais bon encore une fois le probleme c'est que tout sa c'est de l'extrapolation par rapport au bribe acquise deci dela.

j'ai entendu dire que certain installait plusieurs systeme d'exploitation sur 1 seul machine (linux + XP par exemple)

faudrait savoir s'il sont affecter par les installation de la meme manière et en dépendance (ce qui ne serait pas logique puisque sa devrait creer des problemes de configuration (en théorie))

...

je vais deja tester avec 2 admin ont verra ensuite

Lien vers le commentaire
Partager sur d’autres sites

bonjour

je vient de lancer mon premier programme en mode console comme expliquer dans le tuto du site du zero

et je suis confronter à mon premier probleme :

concernant l'instruction :

scanf("...")

a l'interieur de la fonction main

mon debogueur (visual C++) m'indique que je doit utiliser :

scanf_s("...")

à cause de

warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

c:\program files\microsoft visual studio 9.0\vc\include\stdio.h(306) : voir la déclaration de 'scanf'

est ce normal ???

sinon vous pensez que je doit ouvrir un nouveau Topic ou ont continue ?

ET concernant la nomination des variables, doit elle ce faire obligatoirement en tete de la fonction, par ce que quand je la met après un printf la compilation échoue ...

:zarb:

n'empeche que c'est vachement grisant

Lien vers le commentaire
Partager sur d’autres sites

- Essaye plutôt de créer des nouveaux topics

- Tu as ce warning parce que scanf peut conduire à des failles de sécurité si tu ne fais pas attention. Il te conseille donc d'utiliser une autre fonction plus sécurisée (scanf_s) et légèrement différente qui oblige de spécifier la taille de la variable qui recoit les entrées, pour ne pas dépasser cette taille et ainsi empêcher les fameuses failles de buffer overflow.

- Tu dois obligatoiremeent déclarer avant d'utiliser. Et c'est mieux (bonne pratique) de tout déclarer en début de fonction.

- L'executable est dans <Dossier Projet>/bin/Debug/

Lien vers le commentaire
Partager sur d’autres sites

Reste tout de même sur scanf pour le moment, c'est la méthode habituel pour apprendre à coder.

Visual C++ étant, comme indiqué, un compilateur pour C++, il est pas très content que tu utilises des fonctions du C. Mais ce qu'il en pense, on est à rien à faire :D .

Lien vers le commentaire
Partager sur d’autres sites

@ Shtong et Tiduster

super merci

qu'est ce que vous pensez d'un "Topic-Débutant Informatique"

ou le principe serait l'echange "junior-sénior"

avec - eventuellement - un relever des question interessantes pouvant etre utile à tous

sinon moi je veut bien utiliser le scanf classique mais visual lui y compile pas

(par contre mon main je l'ai enregistrer "main.c" donc theoriquement je suis en C ???)

sinon ya aucun moyen d'envoyer un .exe par mail

Lien vers le commentaire
Partager sur d’autres sites

.c ouais c'est pour le C.

Mais l'extension n'est pas vraiment importante, en fait je pense que visual s'en fou ^^.

Pour ton apprentissage, je ne peux que te conseiller de suivre les tutos du site du zéro à la lettre, il ne devrait pas y avoir de problème.

Sache tout de même qu'apprendre le C, puis le C++ ne règlera pas ton problème avec le .exe. Il te faudra anafé encore pas mal d'étude avant d'y comprendre quoi que ce soit.

Je parle, je parle, mais j'suis qu'en première année de DUT, alors l'assembleur et moi :chinois: ...

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...