Advertisement
setty7

Untitled

Oct 24th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.21 KB | None | 0 0
  1. namespace AutoEncrypt
  2. {
  3.    class Program
  4.    {
  5.       private static String EncStr(String str, String key)
  6.       {
  7.          String enc = "";
  8.      for(int i = 0; i < str.Length; ++i)
  9.      {
  10.             int code = str[i] ^ key[i % key.Length];
  11.             enc += "\\x" + code.ToString("X4");
  12.      }
  13.          return enc;  
  14.       }
  15.  
  16.       private static Random random = new Random();
  17.       private static string RandomString(int length)
  18.       {
  19.          const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
  20.          return new string(Enumerable.Repeat(chars, length)
  21.             .Select(s => s[random.Next(s.Length)]).ToArray());
  22.       }
  23.  
  24.       static void Main(string[] args)
  25.       {
  26.          try
  27.          {
  28.             const String startEncA = "ENC_STR_A";
  29.             const String endEnc    = "END_ENC_STR";
  30.             const int    maxKeyLen = 128;
  31.             String source          = File.ReadAllText(args[0]);
  32.             File.WriteAllText(args[0], "");
  33.             StreamWriter writer    = File.AppendText(args[0]);
  34.             for(;;)
  35.             {
  36.                int indexStart;
  37.                if((indexStart = source.IndexOf(startEncA)) == -1)
  38.                   break;
  39.  
  40.                writer.Write(source.Substring(0, indexStart));
  41.  
  42.                int indexEnd;
  43.                if((indexEnd = source.IndexOf(endEnc)) == -1)
  44.                   break;
  45.  
  46.                String str2enc = source.Substring(indexStart + startEncA.Length + 1, indexEnd - indexStart - endEnc.Length);
  47.                Console.WriteLine(str2enc);
  48.  
  49.                str2enc = System.Text.RegularExpressions.Regex.Unescape(str2enc);
  50.                int len = str2enc.Length;
  51.  
  52.                source = source.Substring(indexEnd + endEnc.Length);
  53.  
  54.                String key = RandomString((str2enc.Length < maxKeyLen) ? str2enc.Length : maxKeyLen);
  55.                str2enc = EncStr(str2enc, key);
  56.                
  57.                writer.Write("UnEnc(\"" + str2enc + "\", \"" + key + "\", " + len + ")");    
  58.             }
  59.             writer.Write(source);
  60.             writer.Close();
  61.          }
  62.          catch(Exception e)
  63.          {
  64.             Console.WriteLine(e.ToString());
  65.          }
  66.          Console.ReadKey();
  67.       }
  68.    }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement