begin process at 2012 05 29 08:58:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

HEXA en C


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

HEXA en C

lundi 27 novembre 2006 à 17:03:33 | HEXA en C

COLLECTION

Bonjour
je voudrais creer un éditeur hexadecimal en mode console :

mais je n'arrive pas a avoir un code me permettant d'ouvrir un executable windows
exemple = j'amerais avoir le code hexadecimal du bloc note windows comme le ferait n'importe quel autre éditeur hexa
et le copier en entier dans un fichier texte.

tous mes essais on etaient nuls

si une personne pourrai me donner un morceau de code C le plus simple possible

 merci
lundi 27 novembre 2006 à 17:34:39 | Re : HEXA en C

deck_bsd

Membre Club
Réponse acceptée !
pour cela, met le contenut du fichier en mémoire et affiche le en hexa, il y à un format déjà crée pour cela , a savoir %x (minuscule) %X (majuscule).

++
deck_bsd
___________________________________
[ [ Lien ]]
lundi 27 novembre 2006 à 17:44:35 | Re : HEXA en C

COLLECTION

merci pour ton aide
mais comment mettre le contenu en memoire de l'exe
quel fonction (fgetc , scanf ...)
ouverture du fichier (r + b ; rb ...)
merci

lundi 27 novembre 2006 à 20:26:30 | Re : HEXA en C

COLLECTION

voici mon code :


#include <conio.h>
#include <dos.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>

main()
{
FILE * fichier ;
FILE * fichier2;
char C;



fichier = fopen("art.exe","rb");
fichier2 = fopen ("hexa.txt","w");
do
{
C = fgetc(fichier);

fprintf(fichier2,(" %02X "),C);

}while ( C != EOF) ;


fclose (fichier2);
fclose (fichier);

return 0;
}

le resultat obtenu est : 4D 5A FF90 00 03 00 00 00 04 00 00 00 FFFF

je ne comprends pas d'ou vient le probleme

lundi 27 novembre 2006 à 23:42:06 | Re : HEXA en C

SAKingdom

Membre Club
Réponse acceptée !
Voici quelque chose. C'est pas très propre mais ça fonctionne:

#include <io.h>
#include<stdlib.h>

int  main(void)
{
    FILE *rfile, *wfile;
    BYTE *buffer;
    char *towrite, *c, *d;
    int len, count;

    rfile = fopen("c:\\test.exe", "rb"); if(!rfile) return 0;

    len = _lseek(rfile->_file, 0, SEEK_END); count = len;

    buffer = (BYTE*)malloc(len); if(!buffer) goto exitCLOSERFILE;
    towrite = (char*)malloc(len*3); if(!towrite) goto exitFREEBUFFER;

    d = buffer; c = towrite;

    _lseek(rfile->_file, 0, SEEK_SET);
    if(fread(buffer, 1, len, rfile) != len) goto exitFREEALLBUF;

    while(count > 0)
    {
        char tmp[9];

        itoa((int)*d, tmp, 16);

        if(tmp[1] == 0)
        {
            tmp[1] = tmp[0];
            tmp[0] = '0';
        }

        *c = tmp[0]; *(c+1) = tmp[1];
        *(c+2) = ' ';
        count--; d++; c+=3;
    }

    wfile = fopen("c:\\test.txt", "w"); if(!wfile) goto exitFREEALLBUF;
    fwrite(towrite, 1, len*3, wfile);
    fclose(wfile);

exitFREEALLBUF:
    free(towrite);
exitFREEBUFFER:
    free(buffer);
exitCLOSERFILE:
    fclose(rfile);

    system("pause");
    return 0;
}

C++ (@++)

mardi 28 novembre 2006 à 00:09:34 | Re : HEXA en C

COLLECTION

MERCI pour ce code mais mon compilateur ne le compile pas il me dit qu'il y a des erreurs avec quel compilateur l'as-tu compiler
mardi 28 novembre 2006 à 00:09:35 | Re : HEXA en C

COLLECTION

MERCI pour ce code mais mon compilateur ne le compile pas il me dit qu'il y a des erreurs avec quel compilateur l'as-tu compiler
mardi 28 novembre 2006 à 00:12:12 | Re : HEXA en C

SAKingdom

Membre Club
Réponse acceptée !
J'ai oublié d'ajouter #include <stdio.h> et #include <windows.h>

C++ (@++)

mardi 28 novembre 2006 à 00:25:49 | Re : HEXA en C

COLLECTION

MERCI SUPER CA MARCHE


Cette discussion est classée dans : code, windows, éditeur, hexa, hexadecimal


Répondre à ce message

Sujets en rapport avec ce message

application windows [ par scull ] Slt, voilà j'arrive à faire quelques petit programmes en c++et je voudrais savoir comment porter mon application suivante (toute bidon)#include <iostr Popup menu [ par garslouche ] Bonjour,je voudrais créer un menu contextuel tout simple.J'ai créé un menu avec l'éditeur de VC++ et j'utilise la méthode OnContextMenu : void CTestme Fonction return dans une console windows [ par Jolfulorc ] Bonjour,Lorsque j'affiche un texte dans une console windows (code du genre : coutla façon que j'ai trouvé pour contourner cet inconvénient Portage de code qui a été dévellopé sous Windows, sous Linux [ par petitponch ] Bonjour, Je dois porter du code écrit par quelqu'un d'autre que moi sous Windows, et je dois le faire marcher sous Linux. Le problème concerne  la par POST caractères accentués [ par scorpyon1903 ] Salut !J'ai écrit un programme en VC++ qui récupère les données d'un formulaire HTML via la méthode POST. Mon problème c'est que les caractères spécia Envoie d'une valeur en hexadecimal sur le port COM1 [ par ekinox17 ] Voilà tout est dit dans le titre je doit donner des valeur en hexa a une machine en rs232 mais en lui envoyant des valeur en hexa . The big problem is GTK+ et code hexadecimal de couleurs [ par iron95 ] bonjour a tous, Je suis en train d adapter un programme de generation d images de syntheses precedemment fait en libX en Gtk, pour le rendre plus con Fenetre windows [ par casafa ] Bonjour,Voici un bout de code de ma fenêtre Windows:WNDCLASSEX wincl;wincl.style = CS_OWNDC | CS_DBLCLKS ;J'aimerais savoir à quoi Windows plante {je sais pas nouveau } pour l'execution du mon code [ par darkwhite ] Salut a tous Je debute en C, et j'ai commencer a faire un petit programme. A la moitié de la creation je l'essaie mé windows me sort un message derreu compilation du code source c sous windows [ par LENOX8 ] Bonjour, J'ai recupere le code source de gaim 2.0 sous source forge qui est en c avec des makefiles et je voudrai compiler cette version sous windows


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,811 sec (3)

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