先说一下制作这个配置,CPU我拉到了12核才把这个镜像给制作完,如果虚拟机拉不到8核,还是不用制作了吧,还挺多费劲的地方的。太多踩坑点
前言:
之前看到有文章提到fart脱壳机,正好手里也有2个pixel手机,一个是pixel 一个是pixel3
环境配置:
拥有一个纯净的Kali镜像,这里我采用的是
kali-linux-2021.1-installer-amd64.iso
准备个500G的硬盘,上个月在京东上下单了一个联想的(512G,USB3.1)的要我329。去年在青海出差同事在京东买的(1T+USB3.1or3.2)一共才300多..哎,说多了都是泪水...............最近又看到我之前有个没付款成功的记录,更伤心了
准备环境:
这里一定要是用纯净的环境,就是kali的安装好的初始环境,不然会踩坑(非常多)。笔者就是用过原来安卓逆向的环境,发现在对AOSP源码进行解压的时候,会提示kali的vmware-tools出现问题。网上的方法都尝试了一遍,不管用,还是用纯净的环境管用。下面这个图是最常见的解决方法将vmware-tools进行删除。但是依然无法进行解决kali重启后的问题,最后还是用纯净的镜像给解决了。
扩展磁盘:
一般kali安装的时候,都会是默认20G左右,需要我们自己手动去增大磁盘。点击扩展,我这里是扩展350G。
进入Kali页面,输入
gparted
可以看到图形化界面,选择未分配的磁盘。
新建完成后,点对号,就会成功新建一个分区了。这个分区是/dev/sda3
很多人在更换Kali源的时候会将官方替换成清华源,但是清华源在我安装的时候有点问题。这个问题忘记记录了,还是通过更换成官方源重新update才解决。下面这个是替换成清华源的资料
https://blog.csdn.net/Decaede/article/details/136338785
修改系统时区设置成"shanghai"
修改bash文件由zsh修改为bash
配置下proxychain4
这三个配置早就已经在以往的文章中写过了,这里就不再重复写了。
可以先新建一个快照了,防止后面有损坏,这些繁琐步骤还得重新来.....
下载AOSP源码,这里选择的是安卓8
链接是这个:
链接:https://pan.baidu.com/s/1zAYliYbkagdUUsykww_L4g 提取码:vv5u)
系统文件比较大,想要传输到kali里面,这个时候使用xshell会比较好。现在kali默认是没有打开ssh的,就需要我们打开ssh,进行传输,具体可以看这篇文章。
https://blog.51cto.com/ghostwritten/5344980
xshell下载地址:
https://www.xshell.com/zh/xshell-download/
新建一个COMPILE的文件夹(注意不能是中文路径,防止出错)
mount /dev/sda3 COMPILE文件夹位置(注意不能是中文路径,防止出错)
注意是先创建文件夹,再对文件进行挂载。不要将aosp源码放到文件夹后再去操作挂载,这样就会导致aosp源码不会挂载到扩展分区。
在设置完挂载后,将aosp源码放置到COMPILE文件夹中。每次重启后,重新进入COMPILE文件夹会找不到内容,这是因为没挂载,重新挂载下就能看到文件了。
安装jdk8,看这篇文章
https://blog.csdn.net/weixin_44862511/article/details/132415494
其中还需要对~.bashrc文件进行修改(踩坑点),如果Javadoc 不正确的话,一定要解决,不然后面在编译源码的时候会有问题。
配置完以后对使用java -version,以及javadoc -version 验证下
这个时候我们已经把所有的基本配置大概已经齐全了:
-
确保我们的aosp源码 sha256与官方是一致的
-
SSH、JDK、bash修改、时区、磁盘增大、磁盘挂载都是对的
为了防止后面的步骤出错,导致我们制作脱壳机的时候出现问题,这个时候就重新打一次快照。
快照打的多,顶多就是占存储,512G的固态硬盘完全是可以的。
解压aosp源码
对aosp 源码进行解压
7z x aospxxxx
在解压到20%多的时候,会出现一个选项,选择 A
解压后再次生成一个快照,这样就会拥有一个
aosp 解压无错误
基本环境配置正确
准备编译环境:
apt update
# apt install bison tree
# dpkg --add-architecture i386
# apt update
# apt install libc6:i386 libncurses5:i386 libstdc++6:i386
# apt install libxml2-utils
我这里在倒数第二个就卡了我好长时间,Kali官方源以及清华源找不到libncurses5,被迫换成了libncurses6
# apt update
# apt install libc6:i386 libncurses6:i386 libstdc++6:i386
准备的编译环境是没有问题的话,再重新打一个镜像
开始编译
下载驱动,下载下面这两个驱动
https://developers.google.com/android/drivers?hl=zh-cn,也是通过xshell传输到与aosp同层
对文件进行解压,执行命令,最后输入个I ACCEPT。两个都是同样的
结果如下
在aosp 源码中设置
export LC_ALL=C
输入
source build/envsetup.sh
再之后是lunch,选择24,再之后输入m
这样就开始进行编译源码了,如果是在编译的时候出现问题,这个时候使用gpt问就好了。我也是这样慢慢过来的,大坑应该是没了。
之前21年还总结过Youpk的脱壳机制作,youpk的制作比这个简单多了,看下这个就行了。
https://github.com/Youlor/Youpk
我也是做了很多快照,才避免了出现二次返工的问题
fart制作还有很多简单的方法,可以参考下面的文章
https://saucer-man.com/android/1000.html
https://funsiooo.github.io/2024/02/16/%E7%A7%BB%E5%8A%A8%E5%AE%89%E5%85%A8-FART%20%E8%84%B1%E5%A3%B3%E6%9C%BA%E5%88%B6%E4%BD%9C/
https://www.cnblogs.com/r0ysue/p/16791596.html
https://blog.csdn.net/nini_boom/article/details/110122880
本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号不为此承担任何责任。
欢迎关注公众号“呼啦啦安全”,原创技术文章第一时间推送。
原文始发于微信公众号(呼啦啦安全):APP逆向系列(五)--制作fart脱壳机
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论