4
Parzi
5y

>making bruteforce MD5 collision engine in Python 2 (requires MD5 and size of original data, partial-file bruteforce coming soon)
>actually going well, in the ballpark of 8500 urandom-filled tries/sec for 10 bytes (because urandom may find it faster than a zero-to-FF fill due to in-practice files not having many 00 bytes)
>never resolves
>SOMEHOW manages to cut off the first 2 chars of all generated MD5 hashes
>fuck, fixed
>implemented tries/sec counter at either successful collision or KeyboardInterrupt
>implemented "wasted roll" (duplicate urandom rolls) counter at either collision success or KeyboardInterrupt
>...wait
>wasted roll counter is always at either 0% or 99%
>spend 2 hours fucking up a simple percentage calculation
>finally fixed
>implement pre-bruteforce calculation of maximum try count assuming 5% wasted rolls (after a couple hours of work for one equation because factorials)
>takes longer than the bruteforce itself for 10 bytes

this has been a rollercoaster but damn it's looking decent so far. Next is trying to further speed things up using Cython! (owait no, MicroPeni$ paywalled me from Visual Studio fucking 2010)

Comments
  • 2
    Why don't you use VS17 community? It's free, and pretty decent (as far as VS goes). Or do you need the pro version?
  • 1
    @endor Compilers. Literally just for the compilers because Cython needs them. Specifically these ones. Only VS2010 works. MingW is technically acceptable but incompatible with half of Cython, so no, only these. I can't change the auto-detect behavior without a disasm either, so it's either this or nothing.
  • 1
    @Parzi oh wow, that's bad :/
  • 0
    @Parzi Wait... Which Python version do you use?
Add Comment