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 acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.