public void CribDragTest(string word) { var a = CConverter.ToBytes("Hello World"); var b = CConverter.ToBytes("the program"); var xor = CConverter.XOR(a, b); cracker.CribDrag(xor, word); }
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); } }