Date: Sun, 4 Sep 2011 06:01:47 +0400 From: Solar Designer <solar@...nwall.com> To: john-dev@...ts.openwall.com Subject: Re: Patch for dynamically loaded formats David, I am sorry for the delayed response. I actually found your posting very interesting, so please don't be discouraged by the delay on my part. Please see below: On Mon, Aug 29, 2011 at 08:12:36AM -0400, David Jones wrote: > I made a modification that allows JtR to load a format module from a user specified dynamic library. The format can be specified on the command line as --dynamic-fmt=dll_name or in the configuration file with a similar option name. The feature would mean kits for add on or experimental hashes wouldn't require edits to john source and be less dependent on the version > (as long as the fmt_main structure remains unchanged) I was (and still am) unsure about this kind of functionality. It is of more limited use in portable apps such as JtR than it is in closed-source apps focusing on specific platforms only. However, now that you have the code, let's just get it into -jumbo as an experiment and see where we get from there. For the option name, how about "--plugin"? I don't like "--dynamic-fmt". BTW, I think you're already aware of compile-time plugins supported in -jumbo (thanks to work by JimF and magnum)? These similarly don't require source code edits to add a new hash type. > I'm still working on cleaning up the kit for demonstrating the feature (an updated OpenVMS module with mixed-case support). Please submit your OpenVMS stuff as a patch for -jumbo. I'd rather integrate it in -jumbo. If you want to also use it to demo the dynamic plugins, feel free to do that, but it should not replace integration into -jumbo. Looking at your john_1.7.8-jumbo-5b-dynfmt.diff patch, here are some suggestions: 1. Move dll_handle and register_dlls() into a separate source file. You may pass john_register_one() into register_dlls() via a function pointer. This file may be called plugin.c or dynamic.c - or feel free to suggest another name. Include a proper copyright and license statement in it: http://openwall.info/wiki/john/licensing 2. Use source code style consistent with that of the rest of John code, which can be approximated with these indent settings: indent -kr -i8 -nlp -nbbo -ncs -l79 -lc79 (just run this indent command on your new source file). Thank you! Alexander
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.