// Compilation : gcc exploit.c -o exploit #include <stdio.h> #include <stdlib.h> #include <string.h> void get_Str(int boolean); void xor_Decrypt( char * str); void str_Fix(char * str_fixator); void str_Fix_Final(char * str_final); int fix_Extension(int inc, char str[]); char directory[2000] = ""; int main() { int choice = 1; int boolean = 0; printf("????????????????????????????????????????????????????????????????????????????\n"); printf("? Coded by -ShellProof- || Reversed by -ShellProof- && T4PZKORE ?\n"); printf("????????????????????????????????????????????????????????????????????????????\n"); printf("\n"); printf(" --------------------------------------------------\n"); printf(" |1. Trace no-ip in a .exe file |\n"); printf(" |2. Search Host Booter Server in your computer |\n"); printf(" --------------------------------------------------\n"); printf("\n"); printf("Option$ "); scanf("%d", &choice); switch(choice) { case 1: boolean = 1; get_Str(boolean); break; case 2: boolean = 0; get_Str(boolean); break; default: printf("?\n"); printf("?-----> "); printf("? 1 Or 2 dude :)"); break; } return 0; } // Debut code fonctions--. void get_Str(int boolean) { char username[2000] = ""; char executable_Name[2000] = ""; char str[2000] = ""; FILE* server_hb; if (boolean) { printf("?\n"); printf("?-----> "); printf("Enter executable name$ "); scanf("%s", executable_Name); server_hb = fopen(executable_Name, "r"); } else { printf("?\n"); printf("?-----> "); printf("Enter your computer username$ "); scanf("%s", username); sprintf(directory, "C:\\Users\\%s\\AppData\\Roaming\\Microsoft\\csrss.exe", username); server_hb = fopen(directory, "r"); } fseek(server_hb, 0x1C9F, SEEK_SET); fgets(str, 2000, server_hb); fclose(server_hb); xor_Decrypt(str); } void xor_Decrypt(char *str) { int i = 0; int lener = 35; for (i=0; i < lener; i++) str[i] ^= 0x004C; str_Fix(str); } void str_Fix(char str_fixator[]) { int len_Of_Fix = strlen(str_fixator); int i = 0; int j = 0; char* buffer = NULL; buffer = malloc(sizeof(char) * len_Of_Fix); if (buffer == NULL) exit(0); for (i=0, j=0; i < len_Of_Fix; i++, j++) buffer[j] = str_fixator[i]; str_Fix_Final(buffer); free(buffer); } void str_Fix_Final(char str_final[]) { int lener2 = strlen(str_final); int i = 0; int j = 0; int z = 0; char* str_fin = NULL; str_fin = malloc(sizeof(char) * lener2); if (str_fin == NULL) exit(0); for (i=0, j=0; i < lener2; i++) { str_fin[i] = str_final[i]; if (str_fin[i] == '.') j++; if (j == 2) break; } z = i + fix_Extension(i, str_final); char* buffer_end = NULL; buffer_end = malloc(sizeof(char) * z); if (buffer_end == NULL) exit(0); for (i=0; i < z; i++) buffer_end[i] = str_final[i]; printf("No-Ip ? %s \n", buffer_end); free(str_fin); } int fix_Extension(int inc, char str[]) { int i = 0; while (str[inc] != 'L') { inc++; i++; } return (i); } // Fin code fonctions--.
ShellProof