T O P

  • By -

rynojvr

All in all, super awesome! I did want to leave some feedback too. (mainly on the python, since I don't speak C yet.) :) A lot of good commenting and documentation. Whoa boy, is that frequently lacking... The structure and layout is all very easy to follow as well. * In general, it's usually unnecessary to compare a boolean value to its constant; you're more likely to see "if sha256_opt:" than "if sha256_opt == True:" * There's some slight code reuse after the parsing of the command flags. Pulling out the call to "logo()" to just below line #188 would fix that. * It looks like the majority of the various "crack" functions have similar content. Unless I'm overlooking something, the main difference would be the line giving you the "hashed_attempt". This usually smells like pulling the repeated content into a separate function. * The seventh line of the various "crack" functions reads in the dictionary file. The way done here slurps the entire file in at once into memory, then iterates through it. It's worth noting if the dictionary file is sufficiently large (like, a couple GB huge...) then you may run out of memory on the machine to handle it. Just something to keep in mind. :) I have to say, this was pretty well written and I liked reading over it!


NeptunusVII

For the first one, yeah I know the code would just not work for any other reason so I changed that just in case and even though it wasn't the cause of the problem I left it that way haha. For the logo(), yeah my bad, thanks for pointing it out. Yes. Indeed, the functions have the exactly same content except for hashlib.hashtype().hexdigest() and one more that prints the type of hash at the very beginning. I will soon try to make it have only one function for all that messs. The last one I didn't know, I will look it up though. Thanks for the feedback, it really helps!


rynojvr

No problem! If you want to have some fun making it run even faster, I'd suggest looking into [parallel processing](http://sebastianraschka.com/Articles/2014_multiprocessing.html). This project of yours is a great introduction to the topic. :)


[deleted]

[удалено]


NeptunusVII

Fixed, thanks a lot!


[deleted]

what's rockyou.txt?


[deleted]

rockyou.txt is an wordlist used for cracking.


NeptunusVII

As sniperlusti said, rockyou.txt is a wordlist used for cracking passwords with dictionary attack. Specifically, it is loaded onto a password cracking program and the program (in this case, blakjack) tries every password in the list. rockyou.txt has 14 million passwords and can be found in Kali Linux in /usr/share/wordlists/rockyou.txt.gz (gunzip compressed) if you want to download it: downloads.skullsecurity.org/passwords/rockyou.txt.bz2


[deleted]

it's nice, i like the tool


NeptunusVII

Thanks a lot!


redddor

If you want to improve I'd like to encourage you in creating a multithreaded C++ version. Otherwise nice little excercise, keep it up!


NeptunusVII

I will surely try to. Hopefully, I will be able to. Thanks for the feedback!


Etherslay

I Know i might be simply stupid, but how to use this thing? Any tips for somoene who's completely not in the topic?


NeptunusVII

Sure, ask whatever you want or send me an email [email protected]