首页
论坛
课程
招聘

`FART`脱壳机谷歌全设备镜像发布

2020-3-19 01:03 5404

`FART`脱壳机谷歌全设备镜像发布

2020-3-19 01:03
5404

作为寒冰大佬的好基友,经常有人来问我要FART脱壳机的镜像,今天,它来了!

 

 

我制作好了以上版本的全部FART脱壳机镜像,百度云盘地址和密码在我的githubhttps://github.com/r0ysue/AndroidSecurityStudy,大家可以帮我测测,更加新的设备我也会更新上去,如果刷机和脱壳有问题,欢迎联系我一起探讨和研究。

 

如果还有人不知道FART是啥,在这里稍微科普下,FARTART环境下基于主动调用的自动化脱壳方案,FART的创新主要在两个方面:

  • 之前所有的内存脱壳机都是基于Dalvik虚拟机做的,比如F8LEFT大佬的FUPK3,只能在安卓4.4之下使用,FART开创了ART虚拟机内存脱壳的“新纪元”,上至最新的安卓10甚至还在preview的安卓11都可以。
  • ART虚拟机中彻底解决函数抽取型壳的问题;构造主动调用链,主动调用类中的每一个方法,并实现对应CodeItemdump,最终实现完整dex的修复和重构。

详细的介绍和源码下载地址当然是在大佬的githubhttps://github.com/hanbinglengyue/FART

 

下载下来是个线刷包,解压,手机进入bootloader模式,执行其中的flash-all.batflash-all.sh即可开始刷机,刷机完成后自动重启,进入aosp系统。

 

这是一个单纯用来脱壳的系统,进入系统后,任何安装的软件都会被自动脱壳,所以切忌不要用于任何日常调试,否则后台跑个主动调用来获取所有artmethodcodeitem,是没有任何性能可言的。

 

  • 组件一:可以整体dump目前已知的所有整体型壳;对于未做函数体清场的二代壳也被整体扒下来了,这部分占很大比例;
  • 组件二:构造主动调用链,欺骗壳去自己解密函数体,然后dump函数体;
  • 组件三:将解密出来的函数体与函数名索引一一对应;(todo:填回dex文件)


[求职]想求职找工作,请来看雪招聘投递简历!

最新回复 (30)
上海刘一刀 2 2020-3-19 01:13
2
0
感谢分享
xJJuno 2020-3-19 01:56
3
0
前排支持...
leezn 2020-3-19 09:21
4
0
可有oneplus3的镜像?手头没有nexus设备。。。
最后于 2020-3-19 11:29 被leezn编辑 ,原因:
破解pj 1 2020-3-19 09:25
5
0
感谢陈大佬,脱完壳,怎么修复函数呢
killpy 2 2020-3-19 10:13
6
0
虽然看完 但是还是不太懂 这和普通的安卓脱壳 啥区别 兼容更多系统版本?x
neilwu 2020-3-19 11:38
7
0
Ack麦子 2020-3-19 11:43
8
0
你咋不上天呢 2020-3-19 12:26
9
0
感谢大佬分享
菜就一个字 2020-3-19 12:36
10
0
感谢大佬
roysue 3 2020-3-19 15:20
11
0
killpy 虽然看完 但是还是不太懂 这和普通的安卓脱壳 啥区别 兼容更多系统版本?x
是的,只是帮大家编译一下,没啥意思。本质还是FART那些
rrrfff 2020-3-19 16:02
12
0
不考虑其它影响, 提供模拟器镜像似乎会更方便; 谷歌官方从11开始内置了ndk translation
roysue 3 2020-3-19 16:13
13
0
有多少`App`支持安卓11呢?安卓10普及都还得再过两年
繁华皆成空 2020-3-19 17:15
14
0
老公你真棒
挤蹭菌衣 2020-3-19 18:54
15
0
膜拜大佬
xianhuimin 2020-3-19 23:02
16
0
貌似有些app 一调用就闪退,主动调用不了
huluxia 2020-3-20 10:08
17
0
没有nexus5x的,只看到5
0x指纹 2 2020-3-20 10:44
18
0
膜拜
roysue 3 2020-3-20 10:53
19
0
huluxia 没有nexus5x的,只看到5
再等下,那个有些bug,窝在改。
caolinkai 2020-3-20 10:56
20
0
这个牛了
spman 2020-3-20 15:51
21
0
谢谢分享,留个名.
嘛哩嘛哩轰 2020-3-26 15:33
22
0
niubi
0x指纹 2 2020-4-8 13:50
23
0
感谢分享
tianhaoday 2020-4-10 14:08
24
0
这个也不清楚能否在设置里面添加一个脱壳模式的开关,打开开关进入脱壳模式,否则跟正常机一样
wsgaoshou 2020-4-10 17:15
25
0
能不能搞模拟机
yimsong 2020-4-10 18:47
26
0
如果有个判断只脱指定包名的软件就更好了,比如通过读取某个文件来获取要脱壳的包名
wx_A.R 2020-4-15 22:25
27
0
正在学习这个东西,请教一个问题,moto nexus6上刷机之后,安装app脱壳,app出现崩溃,关键的dex没有dump下来,我在stackoverflow上查了下说是android 6.0的bug,崩溃堆栈如下:
01-01 23:51:02.173   888   888 F DEBUG   : Abort message: 'art/runtime/java_vm_ext.cc:410] JNI DETECTED ERROR IN APPLICATION: fid == null'
01-01 23:51:02.173   888   888 F DEBUG   :     r0 00000000  r1 00001d6a  r2 00000006  r3 b6f13b7c
01-01 23:51:02.173   888   888 F DEBUG   :     r4 b6f13b84  r5 b6f13b34  r6 00000000  r7 0000010c
01-01 23:51:02.173   888   888 F DEBUG   :     r8 b4c7f378  r9 b4cea800  sl 00000001  fp 00000001
01-01 23:51:02.173   888   888 F DEBUG   :     ip 00000006  sp bebbba68  lr b6c84af1  pc b6c86da8  cpsr 40070010
01-01 23:51:02.190   888   888 F DEBUG   : 
01-01 23:51:02.190   888   888 F DEBUG   : backtrace:
01-01 23:51:02.190   888   888 F DEBUG   :     #00 pc 00041da8  /system/lib/libc.so (tgkill+12)
01-01 23:51:02.190   888   888 F DEBUG   :     #01 pc 0003faed  /system/lib/libc.so (pthread_kill+32)
01-01 23:51:02.190   888   888 F DEBUG   :     #02 pc 0001c30f  /system/lib/libc.so (raise+10)
01-01 23:51:02.190   888   888 F DEBUG   :     #03 pc 000194c1  /system/lib/libc.so (__libc_android_abort+34)
01-01 23:51:02.191   888   888 F DEBUG   :     #04 pc 000174ac  /system/lib/libc.so (abort+4)
01-01 23:51:02.191   888   888 F DEBUG   :     #05 pc 00334699  /system/lib/libart.so (art::Runtime::Abort()+228)
01-01 23:51:02.191   888   888 F DEBUG   :     #06 pc 000f5373  /system/lib/libart.so (art::LogMessage::~LogMessage()+2226)
01-01 23:51:02.191   888   888 F DEBUG   :     #07 pc 0025b7ef  /system/lib/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+1550)
01-01 23:51:02.191   888   888 F DEBUG   :     #08 pc 0025bc1b  /system/lib/libart.so (art::JavaVMExt::JniAbortF(char const*, char const*, ...)+74)
01-01 23:51:02.191   888   888 F DEBUG   :     #09 pc 0028bc8d  /system/lib/libart.so (art::JNI::GetLongField(_JNIEnv*, _jobject*, _jfieldID*)+492)
--------------------------------------------------------------------------------------------------------------------------------------
01-01 23:51:01.887  7530  7530 F art     : art/runtime/java_vm_ext.cc:410] JNI DETECTED ERROR IN APPLICATION: fid == null
01-01 23:51:01.887  7530  7530 F art     : art/runtime/java_vm_ext.cc:410]     in call to GetLongField
01-01 23:51:01.887  7530  7530 F art     : art/runtime/java_vm_ext.cc:410]     from void com.ali.mobisecenhance.StubApplication.attachBaseContext(android.content.Context)
01-01 23:51:01.887  7530  7530 F art     : art/runtime/java_vm_ext.cc:410] "main" prio=5 tid=1 Runnable
01-01 23:51:01.887  7530  7530 F art     : art/runtime/java_vm_ext.cc:410]   | group="main" sCount=0 dsCount=0 obj=0x7499d2a0 self=0xb4d36a00
01-01 23:51:01.887  7530  7530 F art     : art/runtime/java_vm_ext.cc:410]   | sysTid=7530 nice=0 cgrp=default sched=0/0 handle=0xb6f13b34
01-01 23:51:01.887  7530  7530 F art     : art/runtime/java_vm_ext.cc:410]   | state=R schedstat=( 110116613 16576302 156 ) utm=8 stm=3 core=2 HZ=100
01-01 23:51:01.887  7530  7530 F art     : art/runtime/java_vm_ext.cc:410]   | stack=0xbe3be000-0xbe3c0000 stackSize=8MB
01-01 23:51:01.888  7530  7530 F art     : art/runtime/java_vm_ext.cc:410]   | held mutexes= "mutator lock"(shared held)
01-01 23:51:01.888  7530  7530 F art     : art/runtime/java_vm_ext.cc:410]   native: #00 pc 00371871  /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, char const*, art::ArtMethod*, void*)+160)
01-01 23:51:01.888  7530  7530 F art     : art/runtime/java_vm_ext.cc:410]   native: #01 pc 0035117f  /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+150)
01-01 23:51:01.888  7530  7530 F art     : art/runtime/java_vm_ext.cc:410]   native: #02 pc 0025b4c5  /system/lib/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+740)
01-01 23:51:01.888  7530  7530 F art     : art/runtime/java_vm_ext.cc:410]   native: #03 pc 0025bc1b  /system/lib/libart.so (art::JavaVMExt::JniAbortF(char const*, char const*, ...)+74)
01-01 23:51:01.888  7530  7530 F art     : art/runtime/java_vm_ext.cc:410]   native: #04 pc 0028bc8d  /system/lib/libart.so (art::JNI::GetLongField(_JNIEnv*, _jobject*, _jfieldID*)+492)
01-01 23:51:01.888  7530  7530 F art     : art/runtime/java_vm_ext.cc:410]   native: #05 pc 0001b6b4  /data/app/crackme.a3-1/lib/arm/libmobisec.so (???)
还请大佬点拨啊,这个如何解,如果是系统的bug,我是否需要重新换系统版本刷一下,谢谢。
wx_A.R 2020-4-16 08:15
28
0
yimsong 如果有个判断只脱指定包名的软件就更好了,比如通过读取某个文件来获取要脱壳的包名
留下的flag越多,厂商越容易对抗
lizi02301230 2020-4-18 03:41
29
0
TonyLMY 2020-5-15 14:43
30
0
膜拜大佬,请教个问题,最终修复后的文件是通过py修复出来的txt文件吗?能够修复dex吗?
黑色刺客 1天前
31
0
roysue 有多少`App`支持安卓11呢?安卓10普及都还得再过两年
请问下arm模拟文件里的system.img这些用啥模拟器装呀?
游客
登录 | 注册 方可回帖
返回