Saturday, October 3, 2009

EmDebr 0.5 - multihash

Here it is! I also added a nice 'smart' charset feature. So you only have to specify a hash or a files with hashes and let it try a logical charset per length. This means that it will use a smaller charset when length increases, default:

* length 1-4: all
* length 5: mixalpha-numeric
* length 6: loweralpha-numeric
* length 7: loweralpha
* length 8-10: numeric

You can use the '-s' option to set the offset for these charsets. Default is 4, set it to 5 to have it run charsets on larger lengths. If you want to run a very quick crackjob on your hashes, set '-s 3'. Estimated running time (2009) for -s:

* 3: seconds - couple of minutes
* 4: minutes - few hours (default)
* 5: half an hour - several hours
* 6: days - weeks

You can also tune the bitmap, setting different sizes. Read my previous posting for details about the bitmaps and the other techniques I used in this version.

I release this version only as source, as a lame attempt to stop script kiddies to use this software for illegal purposes. I expect those that want to use it for educational purposes or for legal penetration testing are able to compile this software themselves.



  1. Complie please =/ I cant use this. I need an exe-file

  2. then you probably didn't read the posting

  3. I did. I just never used any compiler because I can't speak any program languages.

    I just don't get it. You released the other tools and now you decided to stop the kiddies.

    Seriously even a kiddie could ask at another forum for help to compile this XD

  4. the other tools were mainly 'proof of concept'-like... with multihash support it's a far more useful tool... as far as i know it's currently even the fastest multihash cpu md5 password cracker around. And of course anyone can ask for help for compilation... as i said this is only a 'lame' attempt to stop some.

  5. Sweet idea for the smart charset feature. Mind if i 'borrow' it for my cracker?

  6. as i borrowed some of your code that shouldn't be a problem ;)

  7. How to use this? What program I need in my computer? I tried to follow the exemple but not work at all :|

  8. i guess you'll first need to try and compile it.

  9. hi niggebrugge, i'm sry but i'm not able to compile the src. even when i typed: "g++ *.cpp -lpthread -msse2 -O3 -o EmDebr" it says me an error message: "In file included from crackThread.h:28, from EmDebr.h:25, EmDebr.cpp:26: ......" please help me ^^

  10. that's not a very descriptive error, or did you cut some of it? :)
    and i must admit, this version doesn't really work well on linux, i should still finish another fixed version that i have lying around

  11. hi niggebrugge,
    sry but i wasn't able to work on my computer.
    i have installed the g++ compiler on windows. when i want to compile the source with the g++ parameter in the shell it said me the error : No such file or direktory. i think it is a problem with the location from the source file but i dont knwo where i have to copy the source . :)

  12. I can't compile it, can you tell me where is the problem? What I have to do? thx...

    # sh ./Makefile
    ./Makefile: line 1: rcracki_mt:: command not found
    In file included from crackThread.h:28,
    from crackThread.cpp:21:
    crackThread_small.cpp:326: error: ‘printf’ was not declared in this scope
    EmDebr.cpp:154: error: ‘printf’ was not declared in this scope
    EmDebr.cpp:690: error: ‘fopen’ was not declared in this scope
    EmDebr.cpp:695: error: ‘feof’ was not declared in this scope
    EmDebr.cpp:696: error: ‘fgets’ was not declared in this scope
    EmDebr.cpp:712: error: ‘fclose’ was not declared in this scope

  13. 1 ] Where is ??
    /tools is inaccessible. Can't get

    2 ] GARR and tbhost both are not serving the tables for download anymore.
    Your tbhost points to the download page from the main page. It would
    be beter if you declare that the downloads have been disabled on the main page itself.

  14. hi cracker2, i reuploaded, my bad! tnx for noticing me!

    GARR is serving tables, they are currently being resynced... takes a while.

  15. Tried to compile with VC++ 2008, and got the following error several times:

    fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory was found.

    Does this have anything to do with the "makefile" file that is in the source folder?

    I probably sound like such a skiddie, but I'm not...I'm an old Java programmer trying to get into C++, which seems like a totally different world to me. Java compilation is easy as sin, but then C++ throws out all this stuff about headers etc. that is foreign.

    Anyways, if you could explain this error to me I'd be grateful, thanks...

  16. Hi anonymous, you should just download pthreads library, include that pthread.h, and maybe you'll need to add a .lib from pthreads to your project. Good luck :)

  17. Thank you for help, but I'm still getting one last error:

    error PRJ0002: Error result -1 returned from ' '.

    Not the most helpful error message in the world, especially when one doesn't code any C variations...can you shed any light on this?

  18. hi, i'm sorry but that message doesn't ring any bells with me.

  19. Thanks for reuploading
    I like small programs which give you the freedom unlike "complete frameworks" which force you to stick to them to carry out all tasks. Also these individual utilities being small in size can be uploaded directly on a proxy system which you use to bounce your attacks. Thanks.

  20. Hi guys!

    *** GNU/Linux users ***
    For all files, you have to convert to Unicode UTF-8 and add a blank line to all EOF.
    in EmDebr.h add before #include : #include
    in crackThread.h add before #ifdef _WIN32 : #include

    Finaly it is ok when trying 'make'.

    Great job and good continuation ;)


  21. Arf, it did not print good.
    You have to add : < stdio.h >

    Sorry ;'D

  22. Is this faster than 16crack?

  23. Compiled and runned on Ubuntu Server :
    Length 10 - 0% in 34s (2355.92 Mhashes/s) - cracked 0/149696

    But it doesn't display the real speed and I have only 1496 hashes in the input file :p

  24. Hello Daniel.
    How much gain do you think you could extract by using newer SIMD instruction sets for integers like SSSE3 and SSE4 on MD5 and MD4(NTLM) algorithms?

  25. Hello again.
    I compiled your source with Intel compiler and it's faster than BarsWF x86. With specific optimized version for Core it's as fast as BarsWF x64.
    How could I compile it for a x64 release?
    Have you find any workarounds to use pthreads with Win64?
    I think there is no pthreads-win64

  26. Sources for GNU/Linux users :

    Great job and good continuation ;)

  27. Hi Daniel!

    In steps 35, 39, 43 and 47 (round 3 od MD5), you can use:

    a = _mm_shufflehi_epi16(a, 0xB1);
    a = _mm_shufflelo_epi16(a, 0xB1);

    instead of

    tmp = _mm_slli_epi32(a, 16);
    a = _mm_srli_epi32(a, 32-16);
    a = tmp | a;

    It means you can save 2 instructions and 1 'temporary' xmm register. Round3 includes 4 these operations, so you can totally save up to 8 instructions :-)
    Hope this helps you, even if total benefit would be very, very small if any (aprox. 1% of instructions in 1-3 rounds), but everything counts ;-)

    Sorry, but didn't find your working mail address, so I'm posting here.

  28. hi dalibor, tnx very much... it actually got me from 177 to something like 180 Mhashes/s !

    i'm not actively developing on brute forcers atm, sorry for my very late reply :)

  29. thx for the cracker
    i was wondering if a optimized version that did not have multihash support was available
    ps. i hope you dont mind me making a CGI version of this cracker
    pps. i am getting about 270 Mhashes/s on my computer
    my cpu:Intel Xeon X3220 @ 2.40GHz

  30. ppps. thats 270M with a quad cpu server

  31. Hi,

    I'm working on par2cmd GPL v2 (Reed & Salomon algo), i try optimize it but asm is not my speciality...

    Actually, i have better perf than quickpar on check and repair...

    Is there a way to use your work to speedup md5 calc ?

    Thanks for your help,

    Can reply on my mail :

    wizardcoder yahoo fr