|
Message-ID: <002301cbe0e0$8f3a7460$adaf5d20$@net> Date: Sat, 12 Mar 2011 12:08:58 -0600 From: "jfoug" <jfoug@....net> To: <john-dev@...ts.openwall.com> Subject: RE: New update to md5-gen, AND changes to the john core 'format' structures. (diff posted to Wiki) >From: magnum [mailto:rawsmooth@...dband.net] >>> Fwiw I think I saw a misformatteded NT-format (using $NT$) >>> hash file result in segfault >> Please try to get an input file. There is some strangeness in the NT >Here is an input file that produce a segfault. Found and working on fix. It was within loader.c ldr_split_line() function. With changes made, that function worked directly with the fmt_main->format item. If there was a line that was not valid (the last 5 lines in the file you provided are not valid), then this pointer was changed to a null. Later, john would be told there WERE a number of values found, but then this pointer is null, which would then be used and crash. Found it. I had removed the whole 'if' statement that people had complained about for the 'options->single_salts'. Well, that if still needs to be there. Just the internal if needs gone. I have put this back into the code, but have commented out the single_salts logic, which is logic I had added a couple years ago, but which appears to only work properly on certain formats. if (*format) { // if (db_options->single_salts->head) // { // char *salt = (char*)(*format)->methods.salt(*ciphertext); // if (ldr_check_list(db_options->single_salts, salt, *ciphertext)) // return 0; // } return (*format)->methods.valid(*ciphertext); } I have added comments on the part needing removed. With this change, loader's ldr_split_line() is back working properly. The first 'found' format is used from that point on. Jim.
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.