0x01.闲话
很久没复习安卓和安卓逆向的相关知识了,复习一下。
0x02.自抛
安卓的apk可以分为两部分或者说是两层:java层和native层。java层是正常的Android java代码,关于控件,四大基本组件等等。native层因为是C文件的关系,反编译的难度更大,安全性更高。
要在Android studio中编写一个SO文件,基本上五步:
1.创建一个 empty Activity。
2.在src/main/java目录下创建一个jni class,名称随意,在其中编写调用SO的方法
之后使用javah -jni c.main.sotest.x 命令生成.h文件
3.创建一个名称为JNI的文件夹并将上面生成的.h丢进去,再创建一个x.c,x.c里面就是SCI函数代码逻辑部分了
编写两个mk文件
Android.mk