吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10558|回复: 33
收起左侧

[Android 脱壳] 基于看雪阿里早期加固代码还原4.4-6.0兼容7.0

  [复制链接]
qtfreet00 发表于 2017-3-7 10:26
本帖最后由 qtfreet00 于 2017-3-8 15:25 编辑

原帖地址:http://bbs.pediy.com/thread-215078.htm
在7.0+ api 24 后,openDexFile的入参变成了5个,多了个classloader和DexPathList
[Java] 纯文本查看 复制代码
    private static Object openDexFile(String sourceName, String outputName, int flags,
            ClassLoader loader, DexPathList.Element[] elements) throws IOException {
        // Use absolute paths to enable the use of relative paths when testing on host.
        return openDexFileNative(new File(sourceName).getAbsolutePath(),
                                 (outputName == null)
                                     ? null
                                     : new File(outputName).getAbsolutePath(),
                                 flags,
                                 loader,
                                 elements);
    }

在参考基友代码后,在看雪源代码基础上加了几个判断,实现7.0+可以正常启动
[C] 纯文本查看 复制代码
          if(sdk_int>22&&sdk_int<24)
          {
                  mCookie = (*env)->GetFieldID(env, myDexFile, "mCookie", "Ljava/lang/Object;");
                  myOpenDexFile=(*env)->GetStaticMethodID(env, myDexFile, "openDexFile", "(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/Object;");
          }
          else if(sdk_int>=24){
            //7.0+ openDexFile稍有不同
                  mCookie = (*env)->GetFieldID(env, myDexFile, "mCookie", "Ljava/lang/Object;");
            myOpenDexFile=(*env)->GetStaticMethodID(env, myDexFile, "openDexFile", "(Ljava/lang/String;Ljava/lang/String;ILjava/lang/ClassLoader;[Ldalvik/system/DexPathList$Element;)Ljava/lang/Object;");
          }


[C] 纯文本查看 复制代码
     if(sdk_int>22&&sdk_int<24)
     {
             art_MarCookie=(*env)->CallStaticObjectMethod(env, myDexFile, myOpenDexFile, inPath,0,0);
             LOGI("----MarCookie:%p",art_MarCookie);
     }else if(sdk_int>=24){
        //7.0+此处需要5个参数
        jclass ApplicationClass = (*env)->GetObjectClass(env,new_ctx);
               jmethodID getClassLoader = (*env)->GetMethodID(env,ApplicationClass, "getClassLoader", "()Ljava/lang/ClassLoader;");
             jobject classLoader = (*env)->CallObjectMethod(env,new_ctx, getClassLoader);
             art_MarCookie=(*env)->CallStaticObjectMethod(env, myDexFile, myOpenDexFile, inPath,0,0,classLoader,0);
     }

unpack.zip (3.95 MB, 下载次数: 178)

免费评分

参与人数 11吾爱币 +10 热心值 +11 收起 理由
假面具 + 1 我很赞同!
adq_cq + 1 + 1 用心讨论,共获提升!
Night_月殇 + 1 + 1 谢谢@Thanks!
Three_fish + 1 + 1 谢谢@Thanks!
Dormleader + 1 + 1 我很赞同!
临海 + 1 + 1 谢谢@Thanks!
rzhxw + 1 + 1 谢谢@Thanks!
YYL7535 + 1 + 1 热心回复!
守护神艾丽莎 + 1 + 1 我很赞同!
nj19 + 1 + 1 谢谢@Thanks!
hcloveld + 1 + 1 用心讨论,共获提升!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

wqh171941 发表于 2017-3-7 12:59
yang785962193 发表于 2017-3-7 11:43
大佬,我想看Android代码,为什么你贴出来的好像都是java代码,我看不懂java代码,我只看的懂Android代码.. ...

搞笑...Android就是用java写的,你给我说看不懂java...
fibanaci 发表于 2017-3-8 14:59
yang785962193 发表于 2017-3-7 11:43
大佬,我想看Android代码,为什么你贴出来的好像都是java代码,我看不懂java代码,我只看的懂Android代码.. ...

实在不想说,你真是白学android了
高手寂寞 发表于 2017-3-7 10:35
hnliuzesen 发表于 2017-3-7 11:18
高手寂寞 发表于 2017-3-7 10:35
为毛我看着像java代码呢

安卓的就是和java差不多
暖意 发表于 2017-3-7 11:22
一直想看看
yang785962193 发表于 2017-3-7 11:43
大佬,我想看Android代码,为什么你贴出来的好像都是java代码,我看不懂java代码,我只看的懂Android代码.........

点评

这个小伙子以后比有前途!  发表于 2017-3-9 14:41
idolohas 发表于 2017-3-7 11:56
解包???
by_l 发表于 2017-3-7 12:18
谢谢分享
wqh171941 发表于 2017-3-7 12:57
楼主还缺基友不,我应聘。
wqh171941 发表于 2017-3-7 12:58
高手寂寞 发表于 2017-3-7 10:35
为毛我看着像java代码呢

Android就是java语言开发的哥们
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 23:12

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表