maoabc / nmmp

dex-vm used to protect the android classes.dex file
753 stars 263 forks source link

或许可以靠注释来自定义保护的类? #4

Closed h45251880 closed 3 years ago

maoabc commented 3 years ago

这需要在开发时就做,没法对开发后的apk,可能需要类似proguard那种配置文件。目前只实现了读取mapping文件还原混淆后的类名和方法名,然后再判断是否需要保护,不过没想好怎么定义规则文件。

h45251880 commented 3 years ago

这需要在开发时就做,没法对开发后的apk,可能需要类似proguard那种配置文件。目前只实现了读取mapping文件还原混淆后的类名和方法名,然后再判断是否需要保护,不过没想好怎么定义规则文件。

开发后注释好象是能靠逆向smali来达成的 就是先创造一个某注释dex2c包 内容为 .class public interface abstract annotation Lcom/test/TestDCC/Dex2C; .super Ljava/lang/Object; .source "Dex2C.java"

.implements Ljava/lang/annotation/Annotation;

.annotation runtime Ljava/lang/annotation/Retention; value = .enum Ljava/lang/annotation/RetentionPolicy;->RUNTIME:Ljava/lang/annotation/RetentionPolicy; .end annotation

然后在要保护的方法名下注释 .annotation runtime Lcom/protecter/gg/Dex2c; .end annotation

只是搞起来真他娘麻烦

方法参考自dcc项目

githubXiaowangzi commented 3 years ago

配置文件就好了,都已经是成品apk了,还搞什么注解 IMG_20210527_212219

h45251880 commented 3 years ago

配置文件就好了,都已经是成品apk了,还搞什么注解 IMG_20210527_212219

只是个建议而已

maoabc commented 3 years ago

注解没必要,都处理dex了还管它注解不注解,按照配置文件的规则对类名和方法名进行保护这样比较好。注解在开发时用差不多,然后处理dex时读取注解再处理,但对开发好的apk没用处。

h45251880 commented 3 years ago

注解没必要,都处理dex了还管它注解不注解,按照配置文件的规则对类名和方法名进行保护这样比较好。注解在开发时用差不多,然后处理dex时读取注解再处理,但对开发好的apk没用处。

OKOK