Hallo,
ich habe mit dem Programm Acronis Disk Director etwas an einer unverschlüsselten Festplatte geändert. Dabei meinte die Software, auch an einer anderen Platte - die mit Truecrypt verschlüsselt ist - etwas verändern zu müssen. Und zwar vier Bytes, in denen normalerweise die Festplatten-Signatur steht.
Damit ist der Volume-Header von Truecrypt beschädigt, ich kann die Festplatte nicht mehr mounten.
Ich möchte nun den Truecrypt-Quellcode so verändern, dass er alle möglichen Kombinationen ausprobiert. Das sind immerhin 4,3 Milliarden und ich weiß nicht, wie schnell das geht, aber einen Versuch ist es mir wert.
Das Dumme dabei: Ich kenne mich mit c++ nicht aus und nun finde ich die Stelle im Quellcode nicht, an der der Volume Header gelesen und geprüft wird. Der Code müsste so ähnlich aussehen wie die Funktion VolumeReadHeader in der Datei Volumes.c, diese wird anscheinend nur bei Linux-Systemen verwendet.
Der erste Ansprechpartner beim Mounten eines Volumes unter Windows ist offenbar die Funktion Mount in der Datei Mount\Mount.c. Diese ruft dann MountVolume in Common\Dlgcode.c auf. Von dort geht es weiter mit DeviceIoControl an einen Treiber. Leider verstehe ich diesen Aufruf nicht ganz, sodass ich nicht weiß, wo ich weiter suchen soll.
Wer kennt sich mit c++ und/oder Visual Studio 2005 aus?
Danke
Andreas
ich habe mit dem Programm Acronis Disk Director etwas an einer unverschlüsselten Festplatte geändert. Dabei meinte die Software, auch an einer anderen Platte - die mit Truecrypt verschlüsselt ist - etwas verändern zu müssen. Und zwar vier Bytes, in denen normalerweise die Festplatten-Signatur steht.
Damit ist der Volume-Header von Truecrypt beschädigt, ich kann die Festplatte nicht mehr mounten.
Ich möchte nun den Truecrypt-Quellcode so verändern, dass er alle möglichen Kombinationen ausprobiert. Das sind immerhin 4,3 Milliarden und ich weiß nicht, wie schnell das geht, aber einen Versuch ist es mir wert.
Das Dumme dabei: Ich kenne mich mit c++ nicht aus und nun finde ich die Stelle im Quellcode nicht, an der der Volume Header gelesen und geprüft wird. Der Code müsste so ähnlich aussehen wie die Funktion VolumeReadHeader in der Datei Volumes.c, diese wird anscheinend nur bei Linux-Systemen verwendet.
Der erste Ansprechpartner beim Mounten eines Volumes unter Windows ist offenbar die Funktion Mount in der Datei Mount\Mount.c. Diese ruft dann MountVolume in Common\Dlgcode.c auf. Von dort geht es weiter mit DeviceIoControl an einen Treiber. Leider verstehe ich diesen Aufruf nicht ganz, sodass ich nicht weiß, wo ich weiter suchen soll.
Wer kennt sich mit c++ und/oder Visual Studio 2005 aus?
Danke
Andreas