Advertisement
Combreal

getenvvar.c

Aug 30th, 2020
4,299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main(int argc, char *argv[])
  6. {
  7.     char *ptr;
  8.  
  9.     if(argc < 3)
  10.     {
  11.         printf("Usage: ./getenv <environment variable> <target name program>\n");
  12.         exit(EXIT_FAILURE);
  13.     }
  14.  
  15.     ptr = getenv(argv[1]);
  16.     /*
  17.     Le calcul qui suit est nécessaire car le contexte d'exécution peut être différent selon
  18.     l'endroit où l'on se trouve.
  19.     En effet, la variable d'environnement PWD indique le chemin absolu du dossier dans lequel
  20.     on se trouve : la longueur de ce chemin aura un impact sur l'emplacement des variables suivantes
  21.     */
  22.     ptr += strlen(argv[0]) - strlen(argv[2]);
  23.  
  24.     printf("%s found at %p\n", argv[1], ptr);
  25.  
  26.     return EXIT_SUCCESS;
  27. }
  28. //gcc -m32 getenv.c -o getenv
  29. ///tmp/testy/getenvvar SHELLCODE ./bin05
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement