[C] HB No-ip Extractor

Download | Vote Up (3) | Vote Down (0)
// 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


Be the first to give feedback !

Please login to comment !