我现在逆向工程的一个应用程序,我希望有能力修补它(提取源代码,重新编译,并再次建立它)。我开始使用JD-GUI,但发现了非常有趣的混淆方法。所有的类名都是同一个单词(lolkekcheburek),但在不同的情况下会有变化:
因此,对于JVM,所有类名都可以,但是当您尝试提取它时,Windows会通知名称冲突:
你会怎么处理?
j13ufse21#
默认情况下,windows对文件名不区分大小写。如果你真的想在Windows上工作,你必须在Windows 10上,并为你的特定文件夹启用大小写敏感性:fsutil.exe file setCaseSensitiveInfo C:\folder enable
fsutil.exe file setCaseSensitiveInfo C:\folder enable
c2e8gylq2#
最简单的方法可能是使用像proguard这样的混淆器来再次“混淆”类和方法名称,但实际上它将命名为Class1,Class2等。但要注意,这可能会破坏一些依赖于堆栈跟踪的混淆技术。
2条答案
按热度按时间j13ufse21#
默认情况下,windows对文件名不区分大小写。如果你真的想在Windows上工作,你必须在Windows 10上,并为你的特定文件夹启用大小写敏感性:
fsutil.exe file setCaseSensitiveInfo C:\folder enable
c2e8gylq2#
最简单的方法可能是使用像proguard这样的混淆器来再次“混淆”类和方法名称,但实际上它将命名为Class1,Class2等。但要注意,这可能会破坏一些依赖于堆栈跟踪的混淆技术。