#include int main(int argc,char *argv[]) { int i; if(argc < 4) { fprintf(stderr,"usage: %s uid gid [secondary_gids] absolute-path-of-executable\n",argv[0]); return 0; } if (getuid() != 30064) { //fprintf(stderr,"supersu: uid: %d, euid: %d, uid supposed to be 30064\n",getuid(),geteuid()); fprintf(stderr,"supersu: Error security bypass attempt.\n"); return 0; } if(getuid() && geteuid()) { fprintf(stderr,"supersu: uid: %d, euid: %d... I have no idea how this is supposed to work. oh well.\n",getuid(),geteuid()); } int groups[argc-2]; int ngroups=0; char **name; int here=0; for(i=2;i