Aaaaa988

666

Nov 8th, 2021 (edited)
94
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <string>
  3. #include <windows.h>
  4. #include <sstream>
  5. #include <vector>
  6. #include <sys\stat.h>
  7.  
  8. template <class T>
  9. std::string to_string(const T& t) {
  10.     std::stringstream ss;   ss << t;
  11.     return ss.str();
  12. }  
  13. bool read_file(const char *filename, std::vector<char> &array) {
  14.     FILE *fp = fopen(filename, "rb");
  15.     if (fp != NULL) {
  16.         struct stat st;
  17.         fstat(fileno(fp), &st);
  18.         int N = st.st_size;
  19.         array.resize(N);
  20.         fread(&array[0], 1, N, fp);
  21.  
  22.         fclose(fp);
  23.         return true;
  24.     }
  25.     return false;
  26. }  
  27.  
  28. bool save_to_tmpfile(const char *filename, std::vector<char> &array, int h) {
  29.     if(array.size() > h) {
  30.         FILE *fp = fopen(filename, "wb");
  31.         if (fp != NULL) {
  32.             fwrite(&array[h], 1, array.size() - h, fp);
  33.             fclose(fp);
  34.             return true;
  35.         }
  36.     }
  37.     return false;
  38. }  
  39.  
  40. int main() {
  41.     int choice;
  42.     std::string str;
  43.     while(1) {
  44.         system("cls");
  45.         std::cout << "\n\t1. RC4 generator\n";
  46.         std::cout << "\t2. ZK-Crypt generator\n";
  47.         std::cout << "\t3. Archives\n";
  48.         std::cout << "\t4. other files\n";
  49.         std::cout << "\t0. exit\n\t";
  50.         std::cin >> choice;
  51.         switch(choice) {
  52.             case 1: {
  53.                 for(int i = 23; i < 33; ++i) {
  54.                     std::cout << "sequence size: " << (1ULL << i) << "\n";
  55.                     str = "rc4 -n "
  56.                     + to_string(1ULL << i)
  57.                     + " | bs -w 16 -u 16 -q >> rc4_res_"
  58.                     + to_string(i) + ".txt";
  59.  
  60.                     for(int j = 0; j < 100; ++j) {
  61.                         system(str.c_str());
  62.                         Sleep(1000);
  63.                     }
  64.                 }
  65.                 break;
  66.             }
  67.             case 2: {
  68.                 for(int i = 24; i < 33; ++i) {
  69.                     std::cout << "sequence size: " << (1ULL << i) << "\n";
  70.                     str = "zk -n "
  71.                     + to_string(1ULL << i)
  72.                     + " | bs -w 32 -u 65536 -q >> zk_res_"
  73.                     + to_string(i) + ".txt";
  74.  
  75.                     for(int j = 0; j < 100; ++j) {
  76.                         system(str.c_str());
  77.                         Sleep(1000);
  78.                     }
  79.                 }
  80.                 break;
  81.             }
  82.             case 3: {
  83.                 std::string tmp;
  84.                 std::cout << "\t\tenter filename: ";
  85.                 std::cin >> tmp;
  86.                  
  87.                 std::vector<char> array;
  88.                 if (read_file(tmp.c_str(), array)) {
  89.                     int h;
  90.                     std::cout << "\t\tnumber of bytes to remove from the begining file: ";
  91.                     std::cin >> h;
  92.                     if(save_to_tmpfile("tmp", array, h)) {
  93.                         while(1) {
  94.                             std::cout << "\t\tcontinue [1/0]: ";
  95.                                 std::cin >> choice;
  96.                                 if(choice == 1) {
  97.                                 int iw, ib, iu;
  98.                                 std::cout << "\t\tenter w, b, u: ";
  99.                                 std::cin >> iw >> ib >> iu;
  100.                                  
  101.                                 str = "bs -f tmp -w "
  102.                                 + to_string(iw) + " -b "
  103.                                 + to_string(ib) + " -u "
  104.                                 + to_string(iu);
  105.                                 system(str.c_str());
  106.                                 system("pause");
  107.                             }else if(choice == 0)
  108.                                 break;
  109.                         }
  110.                     }else
  111.                         std::cout << "Failed to write to tmpfile\n";
  112.                 }else
  113.                     std::cout << "Could not open file\n";
  114.                  
  115.                 break;
  116.             }
  117.             case 4: {
  118.                 std::string tmp;
  119.                 std::cout << "\t\tenter filename: ";
  120.                 std::cin >> tmp;
  121.                  
  122.                 FILE *fp = fopen(tmp.c_str(), "rb");
  123.                 if (fp != NULL) {
  124.                     int iw, iu;
  125.                     std::cout << "\t\tenter w, u: ";
  126.                     std::cin >> iw >> iu;
  127.                      
  128.                     fclose(fp);
  129.                     str = "bs -f "
  130.                     + tmp + " -w "
  131.                     + to_string(iw)
  132.                     + " -u "
  133.                     + to_string(iu);
  134.  
  135.                     system(str.c_str());
  136.                     system("pause");
  137.                 }else
  138.                     std::cout << "Could not open file\n";
  139.                     break;
  140.             }
  141.             case 0:
  142.                 exit(0);
  143.             default:
  144.                 break;
  145.         }
  146.     }
  147.     return 0;
  148. }
  149.  
RAW Paste Data