偶简单试了一下jad, 还行. 对于简单的基本上不失真. 复杂的就难说了.//InnerTest.java
public class InnerTest {
    
    private String rcsid = "InnerTest.java 2003/08/04";
    
    public String getRcsid() {
        return rcsid;
    }
    
    class InnerClassA {
        
        private String innerRcsid = "InnerTest.java$InnerClassA 2003/08/04";
        
        public String getInnerRcsid() {
            
            return innerRcsid;
        }
    }
}
// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: packimports(3) fieldsfirst 
// Source File Name:   InnerTest.java
public class InnerTest
{
    class InnerClassA
    {        private String innerRcsid;        public String getInnerRcsid()
        {
            return innerRcsid;
        }        InnerClassA()
        {
            innerRcsid = "InnerTest.java$InnerClassA 2003/08/04";
        }
    }
    private String rcsid;    public InnerTest()
    {
        rcsid = "InnerTest.java 2003/08/04";
    }    public String getRcsid()
    {
        return rcsid;
    }
}