Not going to use yGuard anywhere, but thanks for opensourcing it. On the other hand, I stumbled upon yEd some time ago and it has been my go-to tool for diagrams ever since. Thanks to all the folks at yWorks that work on yEd !
As someone also working in the Java obfuscation space, it's cool to see old obfuscators becoming open-source.
yGuard seems to only provide shrinking and remapping at this moment in time, however. Heavier-duty obfuscators will also incorporate various other transforms (like concealing string constants) to make the code harder to read.
A little, but you can balance the obfuscation's complexity so that the HotSpot JIT is able to inline the transform.
Of course, this comes with a trade-off that custom deobfuscation transformers will also be able to inline these, but that's theoretically possible for every transform, anyway, since you can try some symbolic execution until you get the string values back out.
It can be - if you have client side code that you do not wish people to mess around with it's all about adding resistance to convince the person who attempts that it's not worth the time and effort.
Some examples:
- Licensing logic
- Anti-cheating for games and similar
Most likely it will be breached eventually, but no reason to leave the door unlocked.
16 comments
[ 0.28 ms ] story [ 43.0 ms ] threadyGuard seems to only provide shrinking and remapping at this moment in time, however. Heavier-duty obfuscators will also incorporate various other transforms (like concealing string constants) to make the code harder to read.
Of course, this comes with a trade-off that custom deobfuscation transformers will also be able to inline these, but that's theoretically possible for every transform, anyway, since you can try some symbolic execution until you get the string values back out.
Some examples:
- Licensing logic
- Anti-cheating for games and similar
Most likely it will be breached eventually, but no reason to leave the door unlocked.
Thank you for open-sourcing it.
However, I hope I will never use this (or any such similar) piece of code.