[C TOTW 1] Trick avec #include
|
25-08-2014, 11h49
(Modification du message : 15-09-2014, 13h44 par ark.)
Message : #1
|
|
ark
Psyckomodo! Messages : 1,033 Sujets : 48 Points: 317 Inscription : Sep 2011 |
[C TOTW 1] Trick avec #include
Hello,
A la vue des dernières discussions sur le langage C, je me suis dit que pourquoi ne pas faire un post chaque semaine pour vous montrer un truc sympa, pratique, connu ou pas du tout, bref, c'est le "tip of the week" (TOTW) !! Et je vais essayer de vous en faire un chaque lundi. =) Du coup pour ce premier, je vais vous montrer un truc qui se base sur la commande de préprocesseur include. On la connait tous, on l'utilise tous dans le même genre de situations, mais avez vous déjà pensé a la détourner un peu de son utilisation initiale ? Oui pour certains, non pour d'autre? Voila ce que je vous propose: Code C :
Avec bien évidement le fichier file.txt qui va avec: Code C :
Qu'est ce que ça apporte? Et bien dans ce cas j'utilise un tableau a deux dimension, qui me permet de stocker des chaines de caractères, ça pourrait être utile dans le cas d'un fichier de configuration pré-compilation par exemple. Je trouve ce truc assez fun, parce que ca peut s’avérer très pratique, et pour le coup c'est vraiment simple a mettre en place. Comment ça marche, c'est très simple aussi, c'est le même fonctionnement qu'un #include normal en fait ! Il va juste inclure le contenu du fichier file.txt au bon endroit. voili voilou, n'hésitez pas si vous avez des questions ! |
|
25-08-2014, 13h26
Message : #2
|
|
notfound
#!/usr/bin/env bash Messages : 687 Sujets : 47 Points: 271 Inscription : Sep 2012 |
RE: [C] tip of the week 1
Alors là , merci beaucoup car je ne connaissais pas du tout. C'est super pratique et qui plus est très simple !
|
|
25-08-2014, 14h55
Message : #3
|
|
ark
Psyckomodo! Messages : 1,033 Sujets : 48 Points: 317 Inscription : Sep 2011 |
RE: [C] tip of the week 1
Ravi que ca te fasse plaisir :p
N'hésitez pas à partager vos exemples d'utilisations de ce truc la si vous l'utilisez dans le cadre d'un projet !! |
|
25-08-2014, 22h52
Message : #4
|
|
fr0g
NTEuNDI2MzcsLTEuNzc4NDg4 Messages : 348 Sujets : 22 Points: 56 Inscription : Aug 2011 |
RE: [C] tip of the week 1
Je note merci du trick Ark
|
|
26-08-2014, 01h11
Message : #5
|
|
sakiir
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de Messages : 411 Sujets : 51 Points: 34 Inscription : Sep 2012 |
RE: [C] tip of the week 1
putain ouai Notfound , ca aurai pu servir pour le canyourunit
|
|
26-08-2014, 01h16
Message : #6
|
|
Atlas
Membre actif Messages : 69 Sujets : 7 Points: 3 Inscription : Aug 2012 |
RE: [C] tip of the week 1
Merci beaucoup de l'astuce ,
C'est tout bête mais il fallait y penser ! Avec ça je me mettrais presque à apprecier les lundi :p |
|
26-08-2014, 09h52
Message : #7
|
|
Junky
Snorky Master Messages : 228 Sujets : 35 Points: 203 Inscription : Mar 2013 |
RE: [C] tip of the week 1
Clairement un bon trick...
Dans la continuïté de celui-ci mais en bash. Certainement plus connu mais bon ca fait pas de mal de le revoir. Code BASH :
Pour la sécurité, sous linux, le principal soucis est l'interface chaise/clavier
|
|
26-08-2014, 15h25
(Modification du message : 26-08-2014, 15h25 par notfound.)
Message : #8
|
|
notfound
#!/usr/bin/env bash Messages : 687 Sujets : 47 Points: 271 Inscription : Sep 2012 |
RE: [C] tip of the week 1 |
|
26-08-2014, 19h50
Message : #9
|
|
gruik
gouteur de savon Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
RE: [C] tip of the week 1
c'est dommage qu'on puisse pas #include un fichier directement dans un tableau de char, ca aurait permis par exemple d'inclure directement les ressources (images, sons et autres) dans le binaire lorsqu'on fait une demo ou un jeu par exemple, le moyen le plus simple que j'ai trouvé étant de transiter par xxd -i pour récupérer les données au format C
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure. Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau, L'Art poétique) |
|
29-08-2014, 21h08
Message : #10
|
|
wapiflapi
Newbie Messages : 4 Sujets : 0 Points: 8 Inscription : Nov 2012 |
RE: [C] tip of the week 1
(26-08-2014, 19h50)gruik a écrit : c'est dommage qu'on puisse pas #include un fichier directement dans un tableau de char, ca aurait permis par exemple d'inclure directement les ressources (images, sons et autres) dans le binaire lorsqu'on fait une demo ou un jeu par exemple, le moyen le plus simple que j'ai trouvé étant de transiter par xxd -i pour récupérer les données au format C Faut pas chercher à faire ca en C, c'est pas fait pour. Tu veux expliquer quelque chose au linker donc man ld: Code : FLAGS:= -Wl,--format=binary -Wl,yourfile -Wl,--format=default |
|
01-09-2014, 18h23
Message : #11
|
|
Commodor
Ho ! Dodgson ! Messages : 64 Sujets : 9 Points: 36 Inscription : Nov 2011 |
RE: [C] tip of the week 1
Dire que je me faisais chier comme un phoque pour lire et récupérer les variables dans mes fichiers de configuration...
très pratique cette petite technique
Hahaha you didn't say the magic word !
|
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
[C TOTW 6] Xor tricks | ark | 7 | 483 |
06-03-2016, 23h36 Dernier message: Commodor |
|
[C TOTW 2] Parcours de tableau | ark | 5 | 368 |
29-09-2014, 17h44 Dernier message: crown |
|
[C TOTW 5] bitfields ! | ark | 4 | 273 |
23-09-2014, 11h17 Dernier message: Aniem |
|
[C] tricks avec les macros | ark | 7 | 436 |
21-09-2014, 15h46 Dernier message: supersnail |
|
[C TOTW 4] Equivalent de try / catch / throw en C | ark | 0 | 133 |
15-09-2014, 10h00 Dernier message: ark |
|
[C TOTW 3] #warning, #error | ark | 1 | 183 |
10-09-2014, 11h49 Dernier message: ark |
|
[NASM] Création d'un thread sous Linux uniquement avec les syscalls | supersnail | 2 | 233 |
04-03-2013, 23h36 Dernier message: Dobry |
Utilisateur(s) parcourant ce sujet : 2 visiteur(s)