{"action":"created","issue":{"url":"https://api.github.com/repos/magnumripper/JohnTheRipper/issues/1463","labels_url":"https://api.github.com/repos/magnumripper/JohnTheRipper/issues/1463/labels{/name}","comments_url":"https://api.github.com/repos/magnumripper/JohnTheRipper/issues/1463/comments","events_url":"https://api.github.com/repos/magnumripper/JohnTheRipper/issues/1463/events","html_url":"https://github.com/magnumripper/JohnTheRipper/issues/1463","id":90154443,"number":1463,"title":"Enhance dynamic so it can 'compile' a self-contained thin format from an expression","user":{"login":"jfoug","id":1270024,"avatar_url":"https://avatars.githubusercontent.com/u/1270024?v=3","gravatar_id":"","url":"https://api.github.com/users/jfoug","html_url":"https://github.com/jfoug","followers_url":"https://api.github.com/users/jfoug/followers","following_url":"https://api.github.com/users/jfoug/following{/other_user}","gists_url":"https://api.github.com/users/jfoug/gists{/gist_id}","starred_url":"https://api.github.com/users/jfoug/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfoug/subscriptions","organizations_url":"https://api.github.com/users/jfoug/orgs","repos_url":"https://api.github.com/users/jfoug/repos","events_url":"https://api.github.com/users/jfoug/events{/privacy}","received_events_url":"https://api.github.com/users/jfoug/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/magnumripper/JohnTheRipper/labels/enhancement","name":"enhancement","color":"bfe5bf"},{"url":"https://api.github.com/repos/magnumripper/JohnTheRipper/labels/New%20format","name":"New format","color":"009800"},{"url":"https://api.github.com/repos/magnumripper/JohnTheRipper/labels/non-trivial","name":"non-trivial","color":"eb6420"},{"url":"https://api.github.com/repos/magnumripper/JohnTheRipper/labels/RFC%20/%20Help%20wanted","name":"RFC / Help wanted","color":"fbca04"}],"state":"open","locked":false,"assignee":{"login":"jfoug","id":1270024,"avatar_url":"https://avatars.githubusercontent.com/u/1270024?v=3","gravatar_id":"","url":"https://api.github.com/users/jfoug","html_url":"https://github.com/jfoug","followers_url":"https://api.github.com/users/jfoug/followers","following_url":"https://api.github.com/users/jfoug/following{/other_user}","gists_url":"https://api.github.com/users/jfoug/gists{/gist_id}","starred_url":"https://api.github.com/users/jfoug/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfoug/subscriptions","organizations_url":"https://api.github.com/users/jfoug/orgs","repos_url":"https://api.github.com/users/jfoug/repos","events_url":"https://api.github.com/users/jfoug/events{/privacy}","received_events_url":"https://api.github.com/users/jfoug/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/magnumripper/JohnTheRipper/milestones/2","html_url":"https://github.com/magnumripper/JohnTheRipper/milestones/1.8.0-jumbo2","labels_url":"https://api.github.com/repos/magnumripper/JohnTheRipper/milestones/2/labels","id":492145,"number":2,"title":"1.8.0-jumbo2","description":"","creator":{"login":"magnumripper","id":1268598,"avatar_url":"https://avatars.githubusercontent.com/u/1268598?v=3","gravatar_id":"","url":"https://api.github.com/users/magnumripper","html_url":"https://github.com/magnumripper","followers_url":"https://api.github.com/users/magnumripper/followers","following_url":"https://api.github.com/users/magnumripper/following{/other_user}","gists_url":"https://api.github.com/users/magnumripper/gists{/gist_id}","starred_url":"https://api.github.com/users/magnumripper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magnumripper/subscriptions","organizations_url":"https://api.github.com/users/magnumripper/orgs","repos_url":"https://api.github.com/users/magnumripper/repos","events_url":"https://api.github.com/users/magnumripper/events{/privacy}","received_events_url":"https://api.github.com/users/magnumripper/received_events","type":"User","site_admin":false},"open_issues":48,"closed_issues":107,"state":"open","created_at":"2013-11-21T06:59:25Z","updated_at":"2015-07-07T00:04:33Z","due_on":null,"closed_at":null},"comments":87,"created_at":"2015-06-22T17:01:41Z","updated_at":"2015-07-07T22:32:31Z","closed_at":null,"body":"RFC:\r\n\r\nThis one is somewhat of a pie in the sky wish.    A command like this \r\n\r\n../run/john -format=\"dynamic=md5($s.sha1($p.$s).$s)\" input.txt\r\n\r\nNow, input.txt could either by 'raw' hashes (32 byte hex, appended with $salt), OR it could be in the format that would be written to the .pot file.  This format will NOT contain a $dynamic_##$ signature. The signature must be something that triggers the code compiler.  I think the format label can be any length (it is a char*), so I think we could use this as the .pot line:\r\n\r\n```\r\n@dynamic=md5($s.sha1($p.$s).$s)@hash$salt:password   (there may be a better hash layout).\r\n```\r\n\r\nIf this is done, then I expect to use an expression language very similar to what is being used within pass_gen.pl\r\n\r\n\r\n__ISSUES:__\r\n---------------------------------------------\r\n- [x] Building the test[] vectors\r\n- [x] The actual compile code\r\n- [ ] Handling more than 1 script type (-show stuff).  For run-time, we will search for only 1 script type\r\n- [ ] how to handle valid()\r\n- [ ] how to handle split()\r\n- [ ] make sure that a large raw file, will remove found candidates even if found by a different expression.  If they are found, they are found!\r\n- [ ] make work with regen-salts logic"},"comment":{"url":"https://api.github.com/repos/magnumripper/JohnTheRipper/issues/comments/119363618","html_url":"https://github.com/magnumripper/JohnTheRipper/issues/1463#issuecomment-119363618","issue_url":"https://api.github.com/repos/magnumripper/JohnTheRipper/issues/1463","id":119363618,"user":{"login":"magnumripper","id":1268598,"avatar_url":"https://avatars.githubusercontent.com/u/1268598?v=3","gravatar_id":"","url":"https://api.github.com/users/magnumripper","html_url":"https://github.com/magnumripper","followers_url":"https://api.github.com/users/magnumripper/followers","following_url":"https://api.github.com/users/magnumripper/following{/other_user}","gists_url":"https://api.github.com/users/magnumripper/gists{/gist_id}","starred_url":"https://api.github.com/users/magnumripper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magnumripper/subscriptions","organizations_url":"https://api.github.com/users/magnumripper/orgs","repos_url":"https://api.github.com/users/magnumripper/repos","events_url":"https://api.github.com/users/magnumripper/events{/privacy}","received_events_url":"https://api.github.com/users/magnumripper/received_events","type":"User","site_admin":false},"created_at":"2015-07-07T22:32:31Z","updated_at":"2015-07-07T22:32:31Z","body":"That file should be a make target, invoking perl or something else, and depending on the sources that are used to build it. Totally normal makefile stuff. I can't see how it's similar to version.h. But I confess I haven't looked at it at all."}}