Jef*_*che 5 java compiler-construction obfuscation javac
当我编译我正在编写的代码时,然后在JD Gui中查看,方法显示如下所示的标题:
public void growSurface(Random paramRandom, int paramInt1, int paramInt2){
Run Code Online (Sandbox Code Playgroud)
我正在通过.bat文件进行编译.有没有办法指定我不想混淆代码.
默认情况下javac,不包括生成的class文件中的调试信息.此信息例如是方法参数名称(但始终存储方法和字段名称以允许反射).当参数名称未知时,JD-GUI和其他反编译器正在组成一些合理的名称.他们没有混淆 - 只是他们不在那里.
使用-g标志编译代码:
javac -g SomeClass.java
Run Code Online (Sandbox Code Playgroud)
刚检查了JD-GUI - 它显示了正确的参数名称.