Re: [Jode-users] Reserved words as variable names?
Brought to you by:
hoenicke
From: Jochen H. <hoe...@us...> - 2002-07-10 16:58:28
|
On Wednesday, 10. July 2002 16:04, John Goggan wrote: > Hi all! I am using Jode for the first time and trying to decompile > a class that has been obfuscated with RetroGuard. RetroGuard puts > reserved names into the local variable table to try to confuse > decompilers (or, at least, make them more difficult to recompile). The local variable table is only for variables declared inside a method, their name is not needed by the virtual machine (except for debugging purposes) and the table is therefore optional. For class fields, the name must always be present, because other classes may reference this field (if it is not private) by the name. They are stored at a different location. > Basically, I > used Jode with the "--lvt=no" switch, but still got output like > this from the classes: > > public static final int new = 1; > public static final int goto = 2; > [...] > > ...as you can see, all of those reserved words are being used as > variable names. In a later version I will check for keywords and other illegal names and prepend them with some safe prefix. Jochen -- Jochen Hoenicke -- ICQ: 101057678 |