要逆向,必须会正向编写。so文件混淆——jni_load()
JNI_Onload编写
参考
上一篇只是单纯的编写so文件,只要ida打开就可以直接看见方法名。这里对so进行简单的混淆,利用JNI_Onload()函数
check.java
|
|
check.c
在jni目录创建一个check.c
Android.mk
|
|
Application.mk
|
|
调用
在app目录下的build.gradle中添加
这时一个简单的输入结构:
MainActivity结构
运行就可以得到调用native方法的apk了。
优点
1.源码改动少,只需要添加JNI_Onload函数
2.无需加解密so,就可以实现混淆so中的JNI函数
3.后续可以添加so加解密,使破解难度更大