我正在尝试对 android 应用程序进行逆向工程,该应用程序在/data/data/{package}文件夹中有 4 个文件夹
├───app_dexprotector
│ 823517D25836B88F1C499C02370A047E.dat
│ 823517D25836B88F1C499C02370A047E.dex
│
├───app_outdex
│ libdexprotector.bpqn57.12456.so
│
├───cache
└───lib
libiconv.so
libzbarjni.so
并且所有文件都相同,除了 app_outdex 文件,当我启动应用程序时,app_dexprotector文件夹将被修改,之后将在 app_outdex 上创建一个文件,然后将立即删除我使用Termux和inotify-wait以及有趣的部分创建该文件的副本总是文件的大小不同我搜索了应用程序的java代码,只有一个应用程序类具有巨大的字节码数组和一个像这样的本机方法:
public static native int tfAHDD(Object obj, int I, int i2, int i3, int i4, int i5, int i6, int i7, int i8);
整个班级这么长,但这只是因为字节数组,这是班级的链接,我的主要问题是为什么文件每次都有不同的大小,为什么没有其他本机方法?应用程序将如何运行这个方法,最后我如何分析这个 .so 文件