Java deobfuscator supporting variable renaming?
<p>I'm trying to reverse engineering a <code>.jar</code> file (basically a group of <code>.class</code> files). However, there are two difficulties:</p>

<ol>
<li><p>Some of the variables, methods and classes are named with <strong>unicode characters</strong>, which cannot be properly displayed. This makes source editing very inconvenient.</p></li>
<li><p>Some of the classes are named with <strong>Java keywords</strong> (such as <code>if</code>). Therefore Java compiler will complain when recompiling the reverse-engineered source files.</p></li>
</ol>

<p>Are there any Java deobfuscators that can overcome these difficulties?</p>