[C] Programmation binaire - Version imprimable +- N-PN White-Hat Project (https://dev.n-pn.fr/forum) +-- Forum : Programmation (https://dev.n-pn.fr/forum/forumdisplay.php?fid=72) +--- Forum : Langages compilés (https://dev.n-pn.fr/forum/forumdisplay.php?fid=25) +--- Sujet : [C] Programmation binaire (/showthread.php?tid=2225) |
[C] Programmation binaire - sakiir - 27-09-2012 Salut !! Est-ce que quelqu'un a de la doc, la programmation binaire ? c'est a dire ouvrir un fichier en mode binaire et le gérer.. J'aimerais faire du reversing grâce à ça, merci. RE: [C] Programmation binaire - spin - 27-09-2012 Ouvrir un fichier en mode texte n'est pas différent que de l'ouvrir en mode binaire. Techniquement c'est la même chose, tu lis et tu écris des octets. Enfin en C je crois pas qu'on établisse clairement cette distinction. Peux-tu donner quelques infos en plus ? RE: [C] Programmation binaire - supersnail - 27-09-2012 Bonjour, Je vois pas trop le rapport entre le reversing et l'ouverture de fichier en mode binaire... Si tu veux parler de patcher un fichier, fopen, fread, fwrite et fseek sont tes amis (y'a pas mal de doc sur le web dessus ) Sinon sous Windows, tu peux utiliser CreateFileMapping et MapViewOfFile,et toute modif de la zone mémoire allouée se répercutera sur le fichier Edit: @spin c'est du C, il l'a marqué dans le titre :p RE: [C] Programmation binaire - sakiir - 27-09-2012 ouai j'ai vu quelque programme en python qui permettaient de récupérer les chaines de caractères d'un executable, je voulais savoir ce que ça donne en C.. RE: [C] Programmation binaire - supersnail - 27-09-2012 Bah la même chose... Techniquement, du texte c'est juste une suite d'octets... C'est juste la façon de l'interpréter (codage ASCII, UTF-8 ou autres) qui fait "exister" cette suite d'octets en tant que chaîne. En C, Code : char c1 = 'A'; RE: [C] Programmation binaire - sakiir - 27-09-2012 mmmh ouai je vois mais, imaginons que je veuille lire une adresse mémoire dans un programme ? ex en python de fr0g : Code : #coding=utf-8 RE: [C] Programmation binaire - supersnail - 27-09-2012 Bah c'est aussi une suite d'octets :') (on appelle ça un pointeur, mais ton pointeur peut juste être un entier, du moins sur du 32 bits). Bref Code : int pointeur_vers_char = 0xb16b00b5; RE: [C] Programmation binaire - sakiir - 27-09-2012 ahhh oui j'ai déjà vu ça ! pourrais-tu m'expliquer cette phrase : (char*)pointeur_vers_char RE: [C] Programmation binaire - supersnail - 27-09-2012 C'est juste une "décoration" pour éviter que ton compilo C gueule. Ça veut dire "considère ma variable comme un pointeur de chaîne de caractères" (vu que j'utilise printf("%s") ). RE: [C] Programmation binaire - sakiir - 27-09-2012 okok merci bah je ais essayer |