I
IsNull
Guest
Poste mal ein pic vom "Select Device"-Fenster. 
Gruss
IsNull

Gruss
IsNull
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Ja.mountet dein tool die HDD direkt?
Nun, ich habe zwei Möglichkeiten gehabt:Verstehe dann aber nicht, warum das Passwort laut Truecrypt falsch sein sollte.
Super!Original von PWDVergesser
Hallo,
wollte nur kurz Bescheid sagen, dass ich den PWD Crack in TC eingebaut habe. Hat etwas gedauert, weil leider die kostenlos erhältliche "Microsoft Visual C++ Express Edition" nicht ausreicht um den Quelltext zu kompilieren. Es fehlen die ATL-Dateien. Eigentlich schade, das ein Open Source Projekt einen kommerziellen Compiler erfordert.
Nun gut, der Rest war einfach, habe in der Datei \common\DlgCode.c um den Treiberaufruf zum Mount-Befehl einfach eine Schleife eingebaut, die alle in Frage kommenden Passwörter durchprobiert.
Des weiteren habe ich mal mein USB-Stick als LW verschlüsselt. Bin mir nun sicher, dass eine Partition angezeigt wird. Ohne die kann man nicht mounten.
bResult=TRUE; mount.nReturnCode=1;
GetFirstPassword(&mount.VolumePassword);
for (i=0; bResult && mount.nReturnCode!=0 && mount.VolumePassword.Length>0 && i>0; i++) {
bResult = DeviceIoControl (hDriver, MOUNT, &mount, sizeof (mount), &mount, sizeof (mount), &dwResult, NULL);
if ((i & 0xff)==0)
if (UserBreak())
i = -1;
GetNextPassword(&mount.VolumePassword);
}
GetFirstPassword, GetNextPassword und UserBreak sind Funktionen von mir.
Original von Cyberm@ster
GetFirstPassword, GetNextPassword und UserBreak sind Funktionen von mir.
Warum postest du die nicht mit?
#define PIECE1CNT 2
#define PIECE2CNT 16
#define PIECE3CNT 1
#define PIECE4CNT 2
#define PIECE5CNT 3
#define PIECE6CNT 16
#define PIECE7CNT 16
char* p1[PIECE1CNT] = { "Stph!l\0", "stph!l\0"};
char* p2[PIECE2CNT] = { " \0","\0","#\0","!\0","-\0","_\0","*\0","+\0","§\0","$\0","%\0","&\0","=\0","<\0",">\0","@\0" };
char* p3[PIECE3CNT] = { "450\0" };
char* p4[PIECE4CNT] = { "\0"," \0" };
char* p5[PIECE5CNT] = { "GB\0","gb\0","Gb\0" };
char* p6[PIECE6CNT] = { "\0"," \0","#\0","!\0","-\0","_\0","*\0","+\0","§\0","$\0","%\0","&\0","=\0","<\0",">\0","@\0" };
char* p7[PIECE7CNT] = { "\0"," \0","#\0","!\0","-\0","_\0","*\0","+\0","§\0","$\0","%\0","&\0","=\0","<\0",">\0","@\0" };
int i1,i2,i3,i4,i5,i6,i7;
void GetNextPassword(Password *pwd)
{
i7++;
if (i7>=PIECE7CNT) {
i7=0;
i6++;
if (i6>=PIECE6CNT) {
i6=0;
i5++;
if (i5>=PIECE5CNT) {
i5=0;
i4++;
if (i4>=PIECE4CNT) {
i4=0;
i3++;
if (i3>=PIECE3CNT) {
i3=0;
i2++;
if (i2>=PIECE2CNT) {
i2=0;
i1++;
if (i1>=PIECE1CNT) {
pwd->Length = 0;
return;
}
}
}
}
}
}
}
pwd->Length = sprintf_s(pwd->Text, MAX_PASSWORD, "%s%s%s%s%s%s%s", p1[i1], p2[i2], p3[i3], p4[i4], p5[i5], p6[i6], p7[i7]);
if (pwd->Length<0) pwd->Length=0;
}
void GetFirstPassword(Password *pwd)
{
i1=i2=i3=i4=i5=i6=0;
i7=-1;
GetNextPassword(pwd);
}
int UserBreak()
{
return 0;
}