… | |
… | |
320 | " [-p|--init-password string] use string as initial password/file\n" |
320 | " [-p|--init-password string] use string as initial password/file\n" |
321 | " [-l|--length min-max] check password with length min to max\n" |
321 | " [-l|--length min-max] check password with length min to max\n" |
322 | " [-u|--use-unzip] use unzip to weed out wrong passwords\n" |
322 | " [-u|--use-unzip] use unzip to weed out wrong passwords\n" |
323 | " [-m|--method num] use method number \"num\" (see below)\n" |
323 | " [-m|--method num] use method number \"num\" (see below)\n" |
324 | " [-2|--modulo r/m] only calculcate 1/m of the password\n" |
324 | " [-2|--modulo r/m] only calculcate 1/m of the password\n" |
325 | " file... the zipfiles to crack\n" |
325 | " file... the zipfiles to crack\n" |
326 | "\n" |
326 | "\n" |
327 | ); |
327 | ); |
328 | |
328 | |
329 | printf ("methods compiled in (* = default):\n\n"); |
329 | printf ("methods compiled in (* = default):\n\n"); |
330 | for (crack_method = methods; crack_method->desc; crack_method++) |
330 | for (crack_method = methods; crack_method->desc; crack_method++) |
… | |
… | |
373 | case 'D': |
373 | case 'D': |
374 | mode = m_dictionary; |
374 | mode = m_dictionary; |
375 | break; |
375 | break; |
376 | |
376 | |
377 | case 'p': |
377 | case 'p': |
|
|
378 | if (strlen (optarg) > MAX_PW) |
|
|
379 | { |
|
|
380 | fprintf (stderr, "'%s' is too long: passwords longer than %d characters not supported\n", optarg, MAX_PW); |
|
|
381 | exit (1); |
|
|
382 | } |
|
|
383 | |
378 | strcpy (pw, optarg); |
384 | strcpy (pw, optarg); |
379 | break; |
385 | break; |
380 | |
386 | |
381 | case 'l': |
387 | case 'l': |
382 | pw[0] = 0; |
388 | pw[0] = 0; |