IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

parser un pointer [0x22ff14]


Sujet :

C++

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par d�faut parser un pointer [0x22ff14]
    voila

    je voudrai lancer des commandes asm

    le probleme c'est que je n'arrive pas � les passer en parametres

    char asm_command[255];
    strcat(asm_command,"jmp ");
    strcat(asm_command, "\042");
    strcat(asm_command, &data[0]); // le probleme est ici
    strcat(asm_command, "\042");
    asm(asm_command);

    existe-t'il un moyen de recuperer &data[0] pour le parser et integrer le pointeur dans asm command ?

    sinon je vais creuser pour essayer de lui assigner une adresse custom

    rogerio

  2. #2
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    char asm_command[255]={0};

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par d�faut nop
    nop

    je te remercie seriousme mais �a ne marche pas

    le probleme n'est pas dans l'initialisation de la variable asm_command

    je ne peux pas faire de strcat avec un pointeur memoire

    pack.cpp:157: error: cannot convert `char (*)[((unsigned int)((int)char_size))]' to `const char*' for argument `2' to `char* strcat(char*, const char*)'

    un cout &data[0] me retourne une adresse du type 0x22ff14 sauf que c'est jamais la m�me
    lol

    y aurait-il un moyen de traiter 0x22ff14 comme une string/char ?
    ou
    y aurait-il un moyen d'assigner une adresse m�moire � data[0] avant de le renseigner ?

    rogerio

  4. #4
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par d�faut
    "data" est un tableau de quoi?

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par d�faut lol
    data e un tableau de char

  6. #6
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    strncat(asm_command, data,1)
    car "strcat" concat�ne 2 chaines de caract�res repr�sent�es par un pointeur sur leur premier �l�ment.
    "strncat" permet d'indiquer le nombre de cract�res � concat�ner.

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par d�faut desol�
    d�sol� �a marche pas

    mais �a m'a fait plein d'exercices et �a m'a aussi permit de comprendre
    la diff�rence entre char, pointeurs et r�f�rences

    strcat(asm_command, &data[0]); // le probleme est ici
    &data[0] est une r�f�rence, elle contient l'addresse m�moire de data[0]

    c'est pour �a que strcat et strncat ne veulent pas la concactener avec un char

    mais moi j'ai besoin de construire une chaine dans laquelle se trouve cette r�f�rence pour pouvoir la passer en parametre dans une commande asm

    comment puis-je faire, c'est obligatoirement possible, sinon les commandes asm ne serviraient � rien

    rogerio

  8. #8
    Membre chevronn�
    Avatar de Foobar1329
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    283
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : France, Finist�re (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 283
    Par d�faut
    Hello,

    Citation Envoy� par rogerio
    voila

    je voudrai lancer des commandes asm

    le probleme c'est que je n'arrive pas � les passer en parametres

    char asm_command[255];
    strcat(asm_command,"jmp ");
    strcat(asm_command, "\042");
    strcat(asm_command, &data[0]); // le probleme est ici
    Oui, et, c'est quoi data ? Et &data[0] ? Si data est une chaine C, tu vas juste recuperer l'adresse du premier element du tableau (ou pointeur dynamiquement allou�), ce qui est �quivalent � strcat(asm_command, data);

    Je comprend que c'est la valeur de data et non ce qui est point� que tu veux r�cup�rer sous forme de chaine

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    char asm_command[255] = { 0 };
    char data_pValue[50] = { 0 };
     
    strcat(asm_command,"jmp ");
    /* ! Implementation defined conversion ! from pointer to char to unsigned int */
    /* sprintf(data_pValue, "\"%#016x\"", (unsigned int)data);
    OU */
    /* ! Implementation defined formatting of pointer to void*/
    sprintf(data_pValue, "\"%p\"", (void*)data);
     
    strcat(asm_command, data_pValue);
    asm(asm_command);
    Citation Envoy� par rogerio

    existe-t'il un moyen de recuperer &data[0] pour le parser et integrer le pointeur dans asm command ?

    sinon je vais creuser pour essayer de lui assigner une adresse custom

    rogerio
    Oui, s(n)printf() est fait pour. Ceci dit, apres, c'est d�pendant de ton impl�mentation pour savoir ce que tu peux faire de fa�on s�re comme conversion. Et puis c'est le forum C++ ici, il y a la classe std::ostreamstring qui peut faire ce travail de fa�on bien plus agr�able.

    A+

  9. #9
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par d�faut cool
    Foobar1329

    effectivement sprintf correspond

    char data_pValue[50] = { 0 };
    char asm_command[255];
    strcat(asm_command,"\42");
    strcat(asm_command,"jmp ");
    // la syntaxe qui me renvoie exactement la valeur de la r�f�rence
    sprintf(data_pValue, "%#x",(unsigned int)&data[0]);
    strcat(asm_command,data_pValue);
    strcat(asm_command, "\042");

    // verification
    cout<<&data[0]<<"\n";
    cout<<data_pValue<<"\n";
    cout<<asm_command<<"\n";

    // outpout renvoy�
    0x22ff10
    0x22ff10
    "jmp 0x22ff10"

    nickel merci � tous

    rogerio

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [JAXP] com.sun.xml.parser.ValidatingParser
    Par yolepro dans le forum Format d'�change (XML, JSON...)
    R�ponses: 7
    Dernier message: 05/11/2008, 15h36
  2. Parser XML
    Par miloux32 dans le forum XML/XSL et SOAP
    R�ponses: 4
    Dernier message: 18/07/2003, 03h17
  3. R�ponses: 5
    Dernier message: 05/07/2003, 11h52
  4. [langage] Continuer a parser une ligne
    Par D[r]eadLock dans le forum Langage
    R�ponses: 5
    Dernier message: 30/09/2002, 18h49
  5. [Pointer]Treeview.Data
    Par rbag dans le forum Composants VCL
    R�ponses: 7
    Dernier message: 31/08/2002, 01h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo