Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
- #include <stdlib.h>
- #include <stdbool.h>
- #define CMD "echo \"Hello, World!!\""
- int main(int argc,char** argv)
- {
- char** new_argv=malloc(sizeof(char*)*(argc+3));
- bool nxt_arg_is_cmd=false,cmd_found=false;
- int i;
- for(i=0;i<argc;i++)
- {
- if(nxt_arg_is_cmd)
- {
- new_argv[i]=malloc(strlen(argv[i])+100);
- strcpy(new_argv[i],CMD);
- strcat(new_argv[i]," && ");
- strcat(new_argv[i],argv[i]);
- cmd_found=true;
- nxt_arg_is_cmd=false;
- }
- else
- new_argv[i]=argv[i];
- if(strcmp("-c",argv[i])==0)nxt_arg_is_cmd=true;
- }
- if(!cmd_found)
- {
- new_argv[argc]="-c";
- new_argv[argc+1]=malloc(100);
- strcpy(new_argv[argc+1],CMD);
- strcat(new_argv[argc+1]," && bash");
- new_argv[argc+2]=NULL;
- }
- else new_argv[argc]=NULL;
- execv("/bin/su",new_argv);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement