コード例 #1
0
        public static void Main(string[] args)
        {
            var options = CommandLine.Parser.Default.ParseArguments <Options.Options>(args);

            options.WithParsed(opts =>
            {
                var result = RC4Cracker.DecryptToStr(
                    opts.PlainText,
                    opts.CipherHexText,
                    opts.UnknownHexText
                    );

                Console.WriteLine("Decrypted: {0}", result);
                if (opts.OutPutFile != null)
                {
                    try
                    {
                        File.WriteAllText(opts.OutPutFile, result);
                        Console.WriteLine("Decrypted text written to: {0}", opts.OutPutFile);
                    }
                    catch (IOException e)
                    {
                        Console.Error.WriteLine("Error writing to file \"{0}\"\n{1}", opts.OutPutFile, e);
                    }
                }
                Environment.Exit(0);
            });
        }
コード例 #2
0
        public void KnownPlainTextAttackTest(string pt, string ct, string unknown)
        {
            var result = RC4Cracker.DecryptToStr(pt, ct, unknown);
            var match  = regexForCrackerOutputValidation.Match(result);

            Console.WriteLine("CRACKED: " + result);
            Assert.True(match.Success);
        }