hello all!
I'm currently working on reversing an app, however there is some really weird obfuscation applied to the target (which i can confirm is custom)
it seems to obfuscate any JMP calls to make the function graph look really weird
I know that it only obfuscated jumps that were inside of the original non-obfuscated program, multiple functions that simply return a constant for example, do not have these jumps added (see image 1)
first image is where no obfuscation is applied
second image is the resulting graph when obfuscated
third image is how those jumps look like in ASM
what i do know:
as seen in the third image, it uses 2 registers to track where to jump to (via a ton of compares), there are also multiple sections that have repeat code, but set the track registers differently (fourth image)
what id like to know:
how would one go about either fixing up these jumps and removing the (now dead) code
one idea i had was to let compiler optimization hit this, but i don't exactly know how to do that
thank you to anyone who responds, if your going to respond please ping me! thank you.