begin process at 2012 05 30 08:47:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

securite


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

securite

lundi 8 mars 2004 à 21:07:15 | securite

xarier

voila j'ai fusioner deux exe le premier c le mien et le 2eme c un autre[n'importe le quel ] voila je veut dire a mon prog quand il finira son execution il lancera l'autre sans qu'il le copier sur mon disk dur puis il execute
merci
Xarier@hotmail.com
http://www.membres.lycos.fr/dev3d/
lundi 8 mars 2004 à 22:03:02 | Re : securite

LordBob

Membre Club
je pense que tu seras obligé de le copier sur le disque dur !!!
Bob...

"La chance accorde ses faveur aux esprits avertis..."
lundi 8 mars 2004 à 23:35:19 | Re : securite

jockos

Je cherche à faire la même chose que toi dans le principe, c'est à dire lancer un exécutable qui est déjà en mémoire vive sans le redescendre sur le disque-dur...

ça à l'air très difficile à faire, mais c'est dorcément réalisble...
Il faut en gros aller chercher ce qui se cache derrière l'API CreateProcess...

C'est difficile à faire car si se serait facile, se serait ultra simple de faire un virus vite fait...
;)

WriteProcessMemory permet d'écrire dans la zone mémoire (espace d'adressage virtuelle) d'un process.

Ce qui est chiant, c'est qu'il faut balancer juste le code machine de l'exécutable (en commençant par le point d'entrée de l'exe) dans le process et ensuite faire exécuter le thread par le processeur.

Bref, c'est très très chaud... mais je veux y arriver...

Je continue mes recherches... Cherche aussi de ton coté et tiens moi au courant...

A+

Jock
mardi 9 mars 2004 à 12:03:01 | Re : securite

xarier

Ok c ta des new please dit le moi :)
Xarier@hotmail.com
http://www.membres.lycos.fr/dev3d/
mardi 9 mars 2004 à 21:41:15 | Re : securite

MetalDwarf


C est vrai que ce serais tres interessant comme technique, mais le probleme de mettre le code direct en memoire c est que du coup les adresses risquent de ne plus etre valables!! Le format PE (format des executables windows) est tres complexe et un certains nombre de choses sont faites avant l execution de main() par le noyau. A mon avis c est tres loins d etre gagne...
mardi 9 mars 2004 à 22:12:25 | Re : securite

jockos

A mon avis, il est essentiel de bien maitriser 3 choses :

- Comme tu le dis MetalDwarf, le format des exécutable PE (Win32), c'est à dire, bien comprendre sa structure (en-tête et les différentes sections : code, data, pile, ...)

- La mémoire virtuelle (cependant, il n'y a pas à s'inquiéter au niveau des adressages, car c'est le VMM Virutal Memory Manadger de Windows qui gère la résolution d'adressage entre l'espace d'adressage virtuel du processus et la mémoire physique, c'est à dire la RAM ou le fichier de SWAP).
Il faut juste se baser sur l'adresse ImageBase contenue dans l'en-tête de l'exécutable.

- Les processus Windows (pour lancer l'exécutable en fournissant l'entry point) afin que le processeur puisse exécuter le code.

Il faut faire ce que fait l'API CreateProcess (elle crée un process à partir d'un fichier exécutable).
C'est pas de la tarte, mais c'est tout à fait réalisable...

C'est excellent pour apprendre pleins de choses sur Windows, à un nivreau proche du noyau, car on va faire ce que les API ne nous permettent pas de faire...
Il faudra peut être faire un peu d'assembleur au moment de passer l'entry point au processus actif Windows. :(

Jock


mercredi 10 mars 2004 à 12:47:18 | Re : securite

xarier

je crois que j'ai trouvé comment faire mais j'ai pas encore essayer pas manque de temps
il faut mettre un code asm
le jmp et puis l'adresse de l'entete de l'exe je crois que ca va marché testé svp est repondé moi
Xarier@hotmail.com
http://www.membres.lycos.fr/dev3d/
mercredi 10 mars 2004 à 13:32:48 | Re : securite

jockos

Quand tu auras le temps, tu essayeras...

C'est très très loin d'être aussi simple que cela...
Le processeur fonctionne avec des adresses de la mémoire vive (RAM) via le bus de données et le bus d'adresse.

Les adresses qu'il y a dans un exe PE (format de des exe Win32) sont des adresses virtuelles. C'est Windows via le VMM (Virutal Memory Manager) qui s'occupe du mécanisme de pagination à la demande et surtout du mapping (c'est à dire qui fait correspondre une adresse virtuelle avec une adresse physique de la RAM ou du fichier d'échange SWAP).

Les adresses présentent dans l'exe sont, je le répète une dernière fois, des adresses virtuelles qui font parties de l'espace d'adressage du processus (l'exe une fois lançé).
Chaque processus a un espace de 2Go de mémoire (il y a 2 Go reservé pour le Kernel Windows et des zones de 64Ko reservé pour les pointeurs NULL et les pointeurs invalides).

Le VMM s'occupe de charger l'exécutable dans des PAGES (1 page virutelle = 4Ko). Ces pages sont ensuite chargé en mémoire vive (ou dans le SWAP) dans des PAGES PHYSIQUES DE 4KO en fonction des besoins du processus.

Donc dire qu'il suffit de faire un jump sur l'entry point de l'exe
est un peu trop facile...

Jock
jeudi 11 mars 2004 à 11:47:27 | Re : securite

xarier

c un proguer en asm qui ma dit que lui il lui a suffi de faire un jmp est voila !!!!!
Xarier@hotmail.com
http://www.membres.lycos.fr/dev3d/


Cette discussion est classée dans : securite


Répondre à ce message

Sujets en rapport avec ce message

prob fenetre et securite [ par flatou ] resalut a tousauj j'ai 2 petites questions :1) ds mon programme j'ai une fenetre principale, et a partir du menu j'affiche une autre dialogue qui fait securite des reseaux [ par nana1986 ] salut tout le monde,est ce quelqu'un parmis vous a un cours ,expose ou un site web autour de la securite des reseaux en generale?merci d'avance. base de registre securite reseau [ par zebulon33 ] bonjour,quelles sont les donnees qui changent dans regedit quand j'active dans les outils d'administration la Securité réseau:forcer la fermeture de s


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales