maoabc / nmmp

dex-vm used to protect the android classes.dex file
736 stars 260 forks source link

这个加固方式和360加固有什么区别 #54

Open frankgogoland opened 1 year ago

frankgogoland commented 1 year ago

一直用360加固,也容易被脱壳。这个加固方式可否用于商业化软件?有哪些加密公司的有什么差别吗?

maoabc commented 1 year ago

就是类似那些加固公司所谓的第四代加固,之所以采用生成native方法这种方式主要为了消除360那种调用固定的cV、cI方法需要使用对象数组传参。项目实现了opcode随机化,每次加固都会随机化opcode,这样对分析程序要求比较高,类似360那种映射表方式破解就不能用,dex里数据被转换为c结构体也需要对dex很熟悉才能逆向。如果自己再定制,自己设计一套跟dalivk字节码不同的字节码能进一步增加分析难度,vm编译也可以引入ollvm这类东西。 只有加固程序那些java代码是gpl协议,这个主要为了以后自己可能把加固功能扔进自己app里,其他使用无任何影响。

frankgogoland commented 1 year ago

感谢答复!按照您的说明试一试,谢谢。

frankgogoland commented 1 year ago

app准备发布,目前您这个加固方式得安全系数和360免费加固得安全哪个更高呢?谢谢。感觉360得也不安全。

maoabc commented 1 year ago

肯定没他们高,不过他们目标大很多人搞他们。原理上应该都是自己解释字节码,这个主要方便自己自定义,默认的每次加固opcode随机可以防止那种用opcode映射表还原的。

frankgogoland @.***> 于 2023年2月17日周五 16:43写道:

app准备发布,目前您这个加固方式得安全系数和360免费加固得安全哪个更高呢?谢谢。感觉360得也不安全。

— Reply to this email directly, view it on GitHub https://github.com/maoabc/nmmp/issues/54#issuecomment-1434306059, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA27LVYKXVVVMZIV4F3MNX3WX42ZJANCNFSM6AAAAAAT4GO7YQ . You are receiving this because you commented.Message ID: @.***>