MYJ2C是一款Java混淆工具,将编译好的Class文件转换为C语言代码,然后交叉编译(您不用自己配置编译环境,MYJ2C自动完成)可以生成Windows,Linux,Mac系统X86,ARM平台的动态链接库文件后,通过Java Native Interface 重新链接到原始程序。在此过程结束时,包含原始方法的.class文件的字节码中不会保留原始方法的信息。编译后的class文件对Java逆向工程工具完全隐藏。使用MYJ2C不需要任何Java JNI或C代码的知识。MYJ2C支持所有Java语言特性,可以在现有的代码库中使用。
MYJ2C是一个强大的混淆器,但其有效性可能会受到其翻译的代码的限制。考虑以下几点:
不安全的写法
public class App {
public static void main(String[] args) {
if(!checkLicence()) {
System.err.println(“Invalid licence”);
return;
}
initApp();
runApp();
}
private static native boolean checkLicence(); // Protected by MYJ2C
private static native void initApp(); // Protected by MYJ2C
private static native void runApp(); // Protected by MYJ2C
}
在此示例中,即使checkLicence代码受MYJ2C保护,攻击者也很容易修改主方法,直接返回 true 达到破解目的。
public class App {
public static void main(String[] args) {
if(!checkLicence()) {
System.err

MYJ2C是一款Java混淆工具,可将Class文件转换为C代码并生成跨平台动态链接库,隐藏原始方法。文章讨论了MYJ2C的使用、安全性和常见问题,包括代码保护的局限性以及性能与安全的权衡。
最低0.47元/天 解锁文章
4949

被折叠的 条评论
为什么被折叠?



