java 当你试图去模糊处理奇怪的代码时,如何处理名称冲突?

chhkpiq4  于 2023-05-21  发布在  Java
关注(0)|答案(2)|浏览(96)

我现在逆向工程的一个应用程序,我希望有能力修补它(提取源代码,重新编译,并再次建立它)。我开始使用JD-GUI,但发现了非常有趣的混淆方法。
所有的类名都是同一个单词(lolkekcheburek),但在不同的情况下会有变化:

因此,对于JVM,所有类名都可以,但是当您尝试提取它时,Windows会通知名称冲突:

你会怎么处理?

j13ufse2

j13ufse21#

默认情况下,windows对文件名不区分大小写。如果你真的想在Windows上工作,你必须在Windows 10上,并为你的特定文件夹启用大小写敏感性:fsutil.exe file setCaseSensitiveInfo C:\folder enable

c2e8gylq

c2e8gylq2#

最简单的方法可能是使用像proguard这样的混淆器来再次“混淆”类和方法名称,但实际上它将命名为Class1,Class2等。但要注意,这可能会破坏一些依赖于堆栈跟踪的混淆技术。

相关问题