Rechercher : dans
Par :

Asm dans prrogramme c

Dernière réponse le 9 fév 2009 à 10:36:52 chuko, le 4 jui 2008 à 18:14:28 
 Signaler ce message aux modérateurs

Bonjour,a tous ma question et simple comment faire executer du code asm en l'occurence un sehll code dans un programme c .Quel fonction ou commande doije utiliser car je copier le shellcode dans un buffer mais je voudrai que ce dernier soit executer y a til un moyen de le faire par exemple ave eip?merci d'avance

Configuration: Windows Vista
Internet Explorer 7.0

Meilleures réponses pour « asm dans prrogramme c » dans :
Interfacer du code assembleur et du C VoirInterfacer du code assembleur et du C Introduction Appeler du code assembleur écrit dans un fichier source externe Avec Nasm (x86 uniquement) Compilation/Exécution sous Linux Avec Gcc (multiplateforme) Introduction Si, à tout hasard,...
3D Secure / Verified by Visa / SecureCode: Qu'est-ce que c'est ? VoirDepuis octobre 2008, les banques et commerçants en ligne ont commencé à adopter le système 3DSecure pour les paiements sur Internet. Qu'est-ce que c'est ? 3DSecure est appelé "Verified by Visa" chez Visa, et "SecureCode" chez Mastercard. (Les logos...
[Langage C] C/C++ Erreur de segmentation VoirQu'est ce qu'une erreur de segmentation Vous êtes en train de développer une application sous Linux en C/C++. Tout va bien, ça compile, les oiseaux chantent. Donc vous lancez votre application pour la tester. Et vous obtenez l'un de ces deux...
Télécharger Visual C++ Express VoirVisual C++ Express est une version "gratuite" et allégée de Visual Studio ; l'utilisation requiert l'inscription sur le site de Microsoft. Cet environnement de développement permet de créer des application Win32 ou du .NET C.
Ecrire un programme en assembleur VoirLa compilation du programme Le programme doit être saisi dans un fichier texte non formaté (c'est-à-dire sans caractères en gras, souligné, avec des polices de caractères de différentes tailles, ...) appelé fichier source. En effet,...
Langage C++ - Les types de données VoirLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...

1

kilian, le 4 jui 2008 à 18:26:10
  • +1

Salut,

Oui tu peux sauter dedans comme si c'était une fonction.
Si ton buffer de shellcode est le suivant: char *shellcode;

Alors tu prépares un pointeur de fonction basique qui ne prend pas d'argument et qui ne retourne rien, tu le fais pointer vers ton buffer puis tu l'executes:

typedef (void)(*typefuncvoid)(void);
typefuncvoid ptrfunc = (typefuncvoid) shellcode;
ptrfunc(); //Appel du code dans le buffer

L'inconvénient c'est comme c'esst un appel de fonction, tu fais un call, donc en plus de sauter dans le shellcode, tu push aussi eip dans la pile mais ça n'a pas beaucoup d'importance...
...et euh..ouais nan bah c'est tout...

Répondre à kilian

2

chuko, le 4 jui 2008 à 19:03:31

Merci beaucoup aurai du y pense merci encore de ton aide

Répondre à chuko

3

 tata, le 9 fév 2009 à 10:36:52

Salut dsl de faire remonter ce topic mais sinon pour executer un shellcode il y a plus simple:


char shellcode[] = "[ici ton shell]";

asm("jmp %esp");



voici un petit site sur des exemples de shellcode http://www.shell-storm.org/asm/

coridalement,

Répondre à tata