void npclose(FILE *fp) { #if SYS_MSDOS if (myWrtr != 0 && myPipe == 0) writePipe(myCmds); #endif closePipe(&myRead); closePipe(&myWrtr); closePipe(&myPipe); deleteTemp(); }
static int createTemp(char *type) { register int n = (*type == 'r'); register int fd; #if CC_WATCOM || CC_TURBO myName[n] = tmpnam((char *) 0); #else myName[n] = tempnam(TMPDIR, type); #endif if (myName[n] == 0) return -1; (void) close(creat(myName[n], 0666)); if ((fd = open(myName[n], O_RDWR)) < 0) { deleteTemp(); return -1; } return fd; }
int main() { printf("\n\033[22;32m[~] DEX Information Extractor v1 {by Nihilus} [~]\n\n"); printf("\033[22;37mDEX name: \033[22;31m"); char *dexFile; scanf("%s", dexFile); clear(); FILE *fp; fp = fopen(dexFile, "r"); if(fp == NULL) { printf("\nFile not found!\n\n"); exit(1); } initialize(fp); verifyIntegrity(fp); unsigned int choice; boolean running = true; while(running) { printf("\033[22;32mSelect an option:\n\033[22;37m\n 1) Header\n 2) Strings\n 3) Types\n 4) Prototypes\n 5) Fields\n 6) Methods\n 7) Class Defs\n 8) Class Items\n 9) Code Item\n 10) Search\n 0) Exit\n\n\033[22;32mChoice: \033[22;31m"); scanf("%i", &choice); clear(); switch(choice) { case 1: header_view(fp); break; case 2: strings_view(); break; case 3: types_view(); break; case 4: protos_view(); break; case 5: fields_view(); break; case 6: methods_view(); break; case 7: class_defs_view(); break; case 8: class_data_item_view(); break; case 9: code_item_view(); break; /*case 10: decompile();*/ break; case 10: search(); break; case 0: deleteTemp(); fclose(fp); running = false; break; default: printf("You have entered an invalid choice!\n\n"); } } return 0; }