首页 > 技术文章 > cookie提取dex文件

gordon0918 2017-12-05 17:47 原文

有时候在java层能获取dex文件的cookie,但是在java不能从cookie得到dex,如果想要获取只能通过jni在C层实现,具体实现代码如下(nexus手机4.4系统)

static void dumpDex(JNIEnv *env, jobject object, jint gcookie) {
    int cookie = gcookie;

    DexOrJar *a = (struct DexOrJar *) cookie;

    int len = a->pDexMemory[34] << 16 | a->pDexMemory[33] << 8 | a->pDexMemory[32];

    int fd = open("/data/local/tmp/1.dex", O_RDWR | O_CREAT);
    write(fd, a->pDexMemory, len);
    close(fd);
}

推荐阅读