Hacker News new | ask | show | jobs
by leibnitz27 2614 days ago
One little thing - the string that's running out of space here is the signature of the interface, not the signature of the method. You could use that fact together with method scoped type parameters to get a few more, if it weren't for the fact the descriptor would blow up too soon already.

Since it's not mentioned in the article - the signature of a method is the description containing generic information. The descriptor is the erased signature, which, because A strips to Ljava/lang/Object; will likely be a fair bit longer.

An aside - you can (mostly) still get away with corrupting signatures, if you want to obfuscate code.

(eg https://github.com/ItzSomebody/StopDecompilingMyJava/blob/ma... )

(yes, I used to blow up on one of these in https://www.benf.org/other/cfr - (my java decompiler), but it's all good now).

1 comments

Thanks for that. I confess I got a bit lazy about checking which string was at issue--I'll try to do an update when I get home, if I can make time.