TrueCrypt Datei entschlüsseln

Hallo,
ich habe eine Containerdatei, welche mit AES / Ripemd-160 verschlüsselt. Das Passwort hat insgesamt 55 Zeichen, es sind 51 bekannt, die restlichen drei fehlen.

Ich brauche ein Script oder Programm, welches die letzten vier Zeichen unter der Vorgabe der ersten 51 durchprobiert.
 
c# / Windows / setzt TrueCrypt vorraus / Pizzaware
Code:
        static void Main(string[] args)
        {
            string argsfs = "/a /s /q /v \"{0}\" /p \"{1}\"";
            char[] alphabet;
            string prefix;
            int len;
            Int64 start, stop;
            System.Diagnostics.Process p;

            System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
            Console.WriteLine(@"Bitte Pfad zur TrueCrypt.exe (incl Dateiname) angeben:");
            psi.FileName = Console.ReadLine();
            Console.WriteLine(@"Bitte das TrueCrypt Volume angeben (z.B. \Device\Harddisk1\Partition1 oder c:\container.tc)");
            argsfs = string.Format(argsfs, Console.ReadLine(), "{0}");
            Console.WriteLine(@"Bitte den Prefix eingeben.");
            prefix = Console.ReadLine();
            Console.WriteLine(@"Bitte das Alphabet für die zu suchenden Zeichen eingeben.");
            alphabet = Console.ReadLine().ToCharArray();
            Console.WriteLine(@"Wieviele zeichen sind unbekannt?");
            while (!int.TryParse(Console.ReadLine(), out len))
                Console.WriteLine(@"das ist keine Zahl...");

            start = Convert.ToInt64(Math.Pow(alphabet.Length, len - 1));
            stop = Convert.ToInt64(Math.Pow(alphabet.Length, len)) - 1;
            for (Int64 i = start; i <= stop; i++)
            {
                string password=string.Concat(prefix,int64ToOtherBase(i, alphabet));
                psi.Arguments = string.Format(argsfs, password);
                p = System.Diagnostics.Process.Start(psi);
                p.WaitForExit();
                if (p.ExitCode == 0)
                {
                    Console.WriteLine("passwort ist: {0}", password);
                    Environment.Exit(0);
                }
            }
            Console.WriteLine("Passwort nicht gefunden.");
        }
        public static string int64ToOtherBase(Int64 input, char[] uniqueDigits)
        {
            uint newBase = (uint)uniqueDigits.Length;
            if (newBase < 2)
            {
                throw new ArgumentException();
            }
            else
            {
                StringBuilder sb = new StringBuilder();
                while (input != 0)
                {
                    Int64 digit = input % newBase;
                    sb.Append(uniqueDigits[digit]);
                    input /= newBase;
                }
                return sb.ToString();
            }
        }
 
Also ich benötige die o.g. Software?

1. C# - macht es auch Visual C# 2010 Express - Download - CHIP Online ???
2. Windows - hab ich (sogar 7 Pro)
3. Truecrypt - ist auch da
4. Was für eine Pizzaware? Ist das nicht ein Oberbegriff für "Kaufe dem Autor eine Pizza" ?


1) ja, visual studio express wird reichen um das zu kompilieren
2) schön ... ggf bei win7 darauf achten dass mit adminrechten gestartet wird, falls das erforderlich sein sollte (ggf. für das mounten ganzer partitionen oder platten...)
3) da das tool truecrypt aufruft um das pw zu testen, wird tc gebraucht ...

4) pizzaware, (vgl. Beerware) - frei interpretierbare lizenz für das stück code da oben:

-falls du den autor mal triffst, kaufe ihm eine pizza ;) (vorzugsweise ohne pilze :D)
 
Hi,
also das Script starte ich über c# visual express? Ich habe mit c# keine Erfahrung bisher gemacht.
das script ist eigentlich der quellcode eines programms ... visual studio express -> neues konsolenprojekt -> die main() mit dem code da oben ersetzen ... fertig zum bauen.... (sprich wenn du es nur starten willst -> F5)
 
Zurück
Oben