Emmanuel Delahaye C is a sharp tool |
On voit beaucoup de choses dans les revues...
Citation :
Code :
- void uncipher_dw(unsigned int *start, int length, unsigned int key){
- for(int i=0;i<length; i++)
- *start++ ^=key;
- }
- void operate(int fd){
- void *img;
- struct stat filestat;
- fstat(fd, &filestat);
- img = mmap(0L, filestat.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
- uncipher_dw(img+0x4b, 0x2a5>>2, 0x3f5479f1);
- }
|
J'ai assez de mal à le comprendre...
1) Pourquoi n'y a-t-il pas de fonction main ?
|
C'est dingue ça ! Mais que fait la police ? C'est parce que ce n'est pas une application, mais seulement quelques fonctions à intégrer dans une appli...
Citation :
2) Pourquoi je ne voi pas de "argv" et "argc" alors que le programme s'éxécute de cette façon: "./prog parametre_1"
|
Voir ci-dessus...
Citation :
3) Mon compilaateur Gcc me trouve ses erreurs, pourquoi ?:
- decode.c:15: error: storage size of 'filestat' isn't known
- decode.c:20: error: `PROT_READ' undeclared (first use in this function) ==> idem PROT_WRITE et MAP_SHARED
|
Ouh, le vilain ! C'est par ce qu'il manque des headers (non standards) qui définissent file_stat ou PROT_READ etc.
Moralité, se méfier du code qui traine dans les revues...
Bon j'arrête de déconner...
Ce genre de code est fait pour montrer l'implémentation de tel ou tel algorithme. C'est au programmeur de faire les adaptations nécessaires... Tu ne crois quand même pas qu'on va te filer du code tout prêt dans une revue à 2 balles...
---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
|