Hi I'm relatively new to RE, and I'm using GDB and Radare2. As part of a crackme I'm trying to reverse a weak hash function that's a little too complicated for me to undo by hand. I've been trying to execute backwards with GDB but no luck. What are the common techniques for accomplishing this task?

  • What is the hash function, specifically? Depends on the specific properties (small output/linear/etc.) there may be some specific ways to do it (brute force/solve linear equations) – user202729 Nov 10 '18 at 16:31
  • Best I can tell it just takes a numerical input and sequentially adds/subtracts numbers with it and xor's it with several values, looping this several times. It's not a "real" hash function, so in principle I could by undo all these operations by hand. But there are so many in series it would be impractical. – Chase Kanipe Nov 10 '18 at 16:46
  • 1
    I think you should still post the code, advices would be too general. For now -- "the composition of many easily reversible functions is also easily reversible". – user202729 Nov 11 '18 at 4:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.