Exemple #1
0
        public void HelloWorldXORTest()
        {
            var a   = CConverter.ToBytes("Hello World");
            var b   = CConverter.ToBytes("the program");
            var xor = CConverter.XOR(a, b);
            var str = CConverter.ToHexString(xor);

            Console.WriteLine(str);
            str = CConverter.ToHexString("the");
            Console.WriteLine(str);
            str = CConverter.ToASCIIString(CConverter.XOR(xor, CConverter.ToBytes(str)));
            Console.WriteLine(str);
        }
        public void CribDrag(byte[] xored, string word)
        {
            var byteWord = CConverter.ToBytes(word);

            byte[] cribXOR;
            string line, cribWord;
            Match  match;

            for (var i = 0; i <= xored.Length - byteWord.Length; i++)
            {
                cribXOR  = CConverter.XOR(xored, byteWord, i);
                line     = CConverter.ToASCIIString(cribXOR);
                cribWord = line.Substring(i, word.Length);
                match    = Regex.Match(cribWord);
                if (match.Success)
                {
                    Console.WriteLine("result[{0}]: {1}", i, cribWord);
                }
                //else Console.Error.WriteLine("result[{0}]: {1}", i, cribWord);
            }
        }