看雪安全论坛

 

 

 

 


返回   看雪安全论坛 > 移动平台 > 『Android 安全』
  登陆   注册  

发表新主题 回复
精华帖  
主题工具 显示模式
本站声明:看雪论坛文章版权属于作者,受法律保护。没有作者书面许可不得转载。若作者同意转载,必须以超链接形式标明文章原始出处和作者信息及本声明!
寒号鸟二代
级别:26 | 在线时长:823小时 | 升级还需:14小时级别:26 | 在线时长:823小时 | 升级还需:14小时级别:26 | 在线时长:823小时 | 升级还需:14小时级别:26 | 在线时长:823小时 | 升级还需:14小时级别:26 | 在线时长:823小时 | 升级还需:14小时

寒号鸟二代 的头像

初级会员
初级会员

资 料:
注册日期: Apr 2014
帖子: 13 寒号鸟二代 品行端正
精华: 1
现金: 144 Kx
致谢数: 9
获感谢文章数:1
获会员感谢数:16
1 旧 2017-01-06 22:59:02 默认 【原创】阿里早期加固代码还原4.4-6.0
寒号鸟二代 当前离线

标 题: 【原创】阿里早期加固代码还原4.4-6.0
作 者: 寒号鸟二代
时 间: 2017-01-06,22:59:02
链 接: http://bbs.pediy.com/showthread.php?t=215078

分析的样本是alictf2014 EvilAPK第三题,网上的脱壳方法都是在mmap等函数下断点dump解密的dex,但是不懂原理,想知道加固的原理,不然下次一改还是不会。
  用jeb打开apk就是一个StubApplication的空壳,核心方法还是在onCreate和attachBaseContext方法里面,只需要将这2个方法逆向就可以知道加固的原理,通过分析,加固核心点还是动态加载dex,首先用RC4解密算法解密asset目录下的cls.jar还原出真正的dex,然后用mmap将dex映射内存,使用openDexFile加载dex,就会得到cookie,然后用这个cookie设置Application类中的某些成员。
  开始提供的代码只适用于android5.0以下,2014年的样本在android5+跑不起来,这次再接再厉,在android4.4-6.0平台加固可以实现通杀,7.0还没测试,不知道现在厂商用的是什么加固方法,希望给学逆向的同学一些帮助。  

  附件提供了还原libmobisec.so的C语言代码,解密后dump出来的dex,并且可以用自己写的StubApplication通过jni来动态加载这个dex由于代码没有对dex中的资源做处理,生成的apk需要将除了StupAppliation的类去掉,并且public.xml中的内容要和dump.dex中的public.xml对应*转载请注明来自看雪论坛@PEdiy.com
上传的附件
文件类型: zip 样本.zip (2.71 MB, 239 次下载)
文件类型: zip 加固代码还原for4.4-6.0.zip (2.87 MB, 238 次下载)
此帖于 2017-01-10 00:56:53 被 寒号鸟二代 最后编辑 原因: 代码修改
回复时引用此帖 返回顶端
共 16 位会员
感谢 寒号鸟二代 发表的文章:
AqCxBoM (2017-01-09), bengou (2017-01-07), BennetD (2017-01-10), chago (2017-01-20), chmlqw (2017-01-09), cvcvxk (2017-01-09), hrpirip (2017-01-13), jltxgcy (2017-01-07), SANCDAYE (2017-01-09), stroonger (2017-01-07), vasthao (2017-01-13), weslyw (2017-01-16), zhuzaiting (2017-01-10), 繁华皆成空 (2017-01-10), 雪衫 (2017-01-09), 龙飞雪 (2017-01-09)
jltxgcy
级别:10 | 在线时长:157小时 | 升级还需:8小时级别:10 | 在线时长:157小时 | 升级还需:8小时级别:10 | 在线时长:157小时 | 升级还需:8小时级别:10 | 在线时长:157小时 | 升级还需:8小时

jltxgcy 的头像

初级会员
初级会员

资 料:
注册日期: Feb 2014
帖子: 30 jltxgcy 品行端正
精华: 0
现金: 46 Kx
致谢数: 10
获感谢文章数:0
获会员感谢数:0
2 旧 2017-01-07, 08:59:55 默认
jltxgcy 当前离线

很不错,最近也逆向了这个,不过没有写成代码,楼主真是太棒了,写成代码了。楼主也可以看下近期阿里的壳子,原理都一样,只不过内部符号都去掉了,而且加了混淆,就很难分析明白了,我现在还卡在这里。
回复时引用此帖 返回顶端
qqsunqiang
级别:15 | 在线时长:292小时 | 升级还需:28小时级别:15 | 在线时长:292小时 | 升级还需:28小时级别:15 | 在线时长:292小时 | 升级还需:28小时级别:15 | 在线时长:292小时 | 升级还需:28小时级别:15 | 在线时长:292小时 | 升级还需:28小时级别:15 | 在线时长:292小时 | 升级还需:28小时

qqsunqiang 的头像

初级会员
初级会员

资 料:
注册日期: Dec 2013
帖子: 174 qqsunqiang 品行端正
精华: 0
现金: 80 Kx
致谢数: 1
获感谢文章数:1
获会员感谢数:2
3 旧 2017-01-08, 21:34:46 默认
qqsunqiang 当前离线

谢谢楼主的分享。mark。
回复时引用此帖 返回顶端
linhanshi
级别:198 | 在线时长:40186小时 | 升级还需:211小时级别:198 | 在线时长:40186小时 | 升级还需:211小时级别:198 | 在线时长:40186小时 | 升级还需:211小时级别:198 | 在线时长:40186小时 | 升级还需:211小时

linhanshi 的头像

『资源下载』版主</br>论坛督察官</br>核心管理团常务
『资源下载』版主
论坛督察官
核心管理团常务

资 料:
注册日期: May 2004
帖子: 23,194 linhanshi 品行端正
精华: 0
现金: 7415 Kx
致谢数: 16
获感谢文章数:335
获会员感谢数:462
4 旧 2017-01-08, 22:20:24 默认
linhanshi 当前离线

support!
回复时引用此帖 返回顶端
AqCxBoM
级别:3 | 在线时长:28小时 | 升级还需:4小时级别:3 | 在线时长:28小时 | 升级还需:4小时级别:3 | 在线时长:28小时 | 升级还需:4小时

初级会员
初级会员

资 料:
注册日期: Oct 2015
帖子: 42 AqCxBoM 品行端正
精华: 0
现金: 78 Kx
致谢数: 21
获感谢文章数:1
获会员感谢数:6
5 旧 2017-01-09, 00:28:18 默认
AqCxBoM 当前离线

引用:
最初由 寒号鸟二代发布 查看帖子
分析的样本是alictf2014 EvilAPK第三题,网上的脱壳方法都是在mmap等函数下断点dump解密的dex,但是不懂原理,想知道加固的原理,不然下次一改还是不会。
  用jeb打开apk就是一个StubApplication的空壳,核心方法还是在onCreate和attachBaseCo...
厉害了我的哥,有兴趣一起研究新技术吗
回复时引用此帖 返回顶端
lynnux
级别:30 | 在线时长:1040小时 | 升级还需:45小时级别:30 | 在线时长:1040小时 | 升级还需:45小时级别:30 | 在线时长:1040小时 | 升级还需:45小时级别:30 | 在线时长:1040小时 | 升级还需:45小时级别:30 | 在线时长:1040小时 | 升级还需:45小时级别:30 | 在线时长:1040小时 | 升级还需:45小时

lynnux 的头像

初级会员
初级会员

资 料:
注册日期: Jan 2008
帖子: 323 lynnux 品行端正
精华: 0
现金: 258 Kx
致谢数: 4
获感谢文章数:12
获会员感谢数:48
6 旧 2017-01-09, 09:22:37 默认
lynnux 当前离线

厉害了word,能分享出来就是好样的!
回复时引用此帖 返回顶端
backerchen
级别:8 | 在线时长:113小时 | 升级还需:4小时级别:8 | 在线时长:113小时 | 升级还需:4小时

初级会员
初级会员

资 料:
注册日期: Apr 2012
帖子: 44 backerchen 品行端正
精华: 0
现金: 18 Kx
致谢数: 2
获感谢文章数:0
获会员感谢数:0
7 旧 2017-01-09, 09:27:48 默认
backerchen 当前离线

支持!支持!
回复时引用此帖 返回顶端
SANCDAYE
级别:24 | 在线时长:702小时 | 升级还需:23小时级别:24 | 在线时长:702小时 | 升级还需:23小时级别:24 | 在线时长:702小时 | 升级还需:23小时

SANCDAYE 的头像

初级会员
初级会员

资 料:
注册日期: Sep 2010
帖子: 168 SANCDAYE 品行端正
精华: 0
现金: 29 Kx
致谢数: 19
获感谢文章数:2
获会员感谢数:12
8 旧 2017-01-09, 10:03:02 默认
SANCDAYE 当前离线

运行直接崩了啊.dalvik下。4.4.4的系统
回复时引用此帖 返回顶端
寒号鸟二代
级别:26 | 在线时长:823小时 | 升级还需:14小时级别:26 | 在线时长:823小时 | 升级还需:14小时级别:26 | 在线时长:823小时 | 升级还需:14小时级别:26 | 在线时长:823小时 | 升级还需:14小时级别:26 | 在线时长:823小时 | 升级还需:14小时

寒号鸟二代 的头像

初级会员
初级会员

资 料:
注册日期: Apr 2014
帖子: 13 寒号鸟二代 品行端正
精华: 1
现金: 144 Kx
致谢数: 9
获感谢文章数:1
获会员感谢数:16
9 旧 2017-01-09, 10:16:13 默认
寒号鸟二代 当前离线

引用:
最初由 SANCDAYE发布 查看帖子
运行直接崩了啊.dalvik下。4.4.4的系统
工程生成的apk要将其中除了StubAppliation的类删除,res目录下的public.xml中的资源id要跟dump.dex中的public.xml相同
回复时引用此帖 返回顶端
SANCDAYE
级别:24 | 在线时长:702小时 | 升级还需:23小时级别:24 | 在线时长:702小时 | 升级还需:23小时级别:24 | 在线时长:702小时 | 升级还需:23小时

SANCDAYE 的头像

初级会员
初级会员

资 料:
注册日期: Sep 2010
帖子: 168 SANCDAYE 品行端正
精华: 0
现金: 29 Kx
致谢数: 19
获感谢文章数:2
获会员感谢数:12
10 旧 2017-01-09, 10:20:45 默认
SANCDAYE 当前离线

引用:
最初由 寒号鸟二代发布 查看帖子
工程生成的apk要将其中除了StubAppliation的类删除,res目录下的public.xml中的资源id要跟dump.dex中的public.xml相同
嗯,好的,多谢哈,最近我也在研究
回复时引用此帖 返回顶端
寒号鸟二代
级别:26 | 在线时长:823小时 | 升级还需:14小时级别:26 | 在线时长:823小时 | 升级还需:14小时级别:26 | 在线时长:823小时 | 升级还需:14小时级别:26 | 在线时长:823小时 | 升级还需:14小时级别:26 | 在线时长:823小时 | 升级还需:14小时

寒号鸟二代 的头像

初级会员
初级会员

资 料:
注册日期: Apr 2014
帖子: 13 寒号鸟二代 品行端正
精华: 1
现金: 144 Kx
致谢数: 9
获感谢文章数:1
获会员感谢数:16
11 旧 2017-01-09, 10:38:29 默认
寒号鸟二代 当前离线

引用:
最初由 SANCDAYE发布 查看帖子
嗯,好的,多谢哈,最近我也在研究
jni里面这段代码判断Dalvik写反了
            jstring vm_version = (*env)->NewStringUTF(env, "java.vm.version");
            jobject v32 = (*env)->CallStaticObjectMethod(env, mySystem, system_getProperty, vm_version);
            const char* runtime_version = (*env)->GetStringUTFChars(env, v32, 0);
            LOGI("---- vmVersionStr:%s", runtime_version);
            double d=atof(runtime_version);
            
            if(d>2)
              isDalvik=0;
            else
              isDalvik=1;
此帖于 2017-01-09 10:43:07 被 寒号鸟二代 最后编辑
回复时引用此帖 返回顶端
wingsbupt
级别:2 | 在线时长:15小时 | 升级还需:6小时级别:2 | 在线时长:15小时 | 升级还需:6小时

wingsbupt 的头像

初级会员
初级会员

资 料:
注册日期: Apr 2013
帖子: 16 wingsbupt 品行端正
精华: 0
现金: 2 Kx
致谢数: 2
获感谢文章数:0
获会员感谢数:0
12 旧 2017-01-09, 11:08:15 默认
wingsbupt 当前离线

楼主这是全静态破解么?
回复时引用此帖 返回顶端
bhwxf
级别:1 | 在线时长:6小时 | 升级还需:6小时

初级会员
初级会员

资 料:
注册日期: Dec 2016
帖子: 1 bhwxf 品行端正
精华: 0
现金: 2 Kx
致谢数: 0
获感谢文章数:0
获会员感谢数:0
13 旧 2017-01-09, 18:58:28 默认
bhwxf 当前离线

很棒
回复时引用此帖 返回顶端
繁华皆成空
级别:7 | 在线时长:88小时 | 升级还需:8小时级别:7 | 在线时长:88小时 | 升级还需:8小时级别:7 | 在线时长:88小时 | 升级还需:8小时级别:7 | 在线时长:88小时 | 升级还需:8小时

繁华皆成空 的头像

初级会员
初级会员

资 料:
注册日期: Jul 2014
帖子: 8 繁华皆成空 品行端正
精华: 0
现金: 0 Kx
致谢数: 9
获感谢文章数:0
获会员感谢数:0
14 旧 2017-01-10, 09:01:04 默认
繁华皆成空 当前离线

楼主厉害,可以研究研究加固的实现了
回复时引用此帖 返回顶端
狂奔的鸡骨架
级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时

狂奔的鸡骨架 的头像

初级会员
初级会员

资 料:
注册日期: Sep 2015
帖子: 24 狂奔的鸡骨架 品行端正
精华: 0
现金: 19 Kx
致谢数: 0
获感谢文章数:1
获会员感谢数:2
15 旧 2017-01-10, 09:10:18 默认
狂奔的鸡骨架 当前离线

mark
回复时引用此帖 返回顶端
发表新主题 回复

添加到书签

主题工具
显示模式

发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛论坛启用 vB 代码
论坛启用 表情图标


所有时间均为北京时间, 现在的时间是 02:04:23.


  ©2000-2016 看雪学院(PEdiy.com) |关于我们 | 京ICP备10040895号-17 | 知道创宇提供带宽资源 | 微信公众帐号:ikanxue