Beispiel #1
0
void main( int argc, char **argv )
{
uword	key0, key1, key2;
int	pwdLen=0;
uword	initBytes;

    if( argc != 4 && argc != 6 )
	usage( argv[0] );

    if( sscanf( argv[1], "%x", &key0 ) != 1 ||
	sscanf( argv[2], "%x", &key1 ) != 1 ||
	sscanf( argv[3], "%x", &key2 ) != 1 )
	usage( argv[0] );

    if( argc == 6 && (sscanf( argv[4], "%d", &pwdLen ) != 1 ||
		      sscanf( argv[5], "%x", &initBytes ) != 1) )
	usage( argv[0] );

    mkCrcTab( );
    initMulTab( );

    if( pwdLen > 0 )
	findLongPwd( key0, key1, key2, pwdLen, initBytes );
    else
	findPwd( key0, key1, key2 );
}
Beispiel #2
0
void main(int argc, char **argv)
{
    char    pwd[100] = "gustavo";
    int     pwdLen, i;
    FILE *ptr;
    int c;
    int count2 = 0;
    ptr = fopen("10k_most_common.txt","r");
    pwdLen = strlen( pwd );
    mkCrcTab( );
    initkeys( );
    initMulTab();
    while(!feof(ptr)) {
        key0=KEY0INIT;
        key1=KEY1INIT;
        key2=KEY2INIT;
        //printf( "%08x %08x %08x\n", key0, key1, key2 );
        i = 0;
        c = fgetc(ptr);
        do {
            pwd[i] = (char)c;
            i++;
            c = fgetc(ptr);
        } while(c!='\n');
        pwd[i] = '\0';
        pwdLen = i-1;
        if(count2%100==0) {
            printf("%s\n", pwd);
            printf("%d\n", count2);
        }
        for( i = 0; i < pwdLen; i++ )
            updateKeys( pwd[i] );
        //printf( "%08x %08x %08x\n", key0, key1, key2 );
        findPwd( key0, key1, key2 );
        count2++;
    }
    fclose(ptr);
}