好久没更了,最近学习逆向记录一下
一、安装和下载ubundu
链接:https://pan.baidu.com/s/1KRJQc2NqsMZmZY6vOYksMw
提取码:kwdm
安装大家应该都会吧,因为我安装时候没截图,就不贴了。
二、设置不需要sudo密码:
sudo visudo
#这里应该要你填写安装时候的用户密码
最后一行添加:
yourUserName ALL=(ALL) NOPASSWD: ALL
三、扩容内存
1.首先编译需要16G内存,如果物理内存不足,用虚拟内存
2.看是否已经存在交换内存:free -m
使用以下命令查看swap详情:swapon -s
3.扩容
#1、停用交换文件
sudo swapoff /swapfile
#2、删除文件
sudo rm /swapfile
#3、新建swap空间,以16G为例,创建文件
sudo fallocate -l 16G /swapfile
#4、查看文件信息
ls -lh /swapfile
#5、设置文件权限
sudo chmod 600 /swapfile
#6、挂载
sudo mkswap /swapfile
#7、激活启用
sudo swapon /swapfile
#8、再次查看内存使用情况
free -m
#9、使用vim编辑器打开配置文件(配置开机自启动挂载,安装我这个ubundu这一步可以不要,配置文件已经存在)
sudo vim /etc/fstab
最后一行添加这个
/swapfile none swap sw 0 0
#10、重启
sudo reboot
#11、重启再次查看内存
free -m
四、 下载AOSP源码、编译、运行
1、安装 Git
sudo apt-get install git
2、设置git身份,添加自己的邮箱和姓名
git config --global user.email "xxxx@qq.com"
git config --global user.name "xxxx"
3、创建bin,并加入到PATH中
mkdir ~/bin
PATH=~/bin:$PATH
#4、安装curl库
sudo apt-get install curl
#5、下载repo并设置权限
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod a+x ~/bin/repo
#6、安装python,repo初始化时会用到
先用python查看是否存在
python --version
存在通过软链接将python命令默认指向python3
sudo ln -s /usr/bin/python3 /usr/bin/python
#7、安装 jdk11
sudo apt-get update
sudo apt-get install openjdk-11-jdk
#8、安装编译需要的依赖包
sudo apt install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip libncurses5
#9、创建工作目录
mkdir aosp_12
cd aosp_12
#10、配置访问git源
echo 'export REPO_URL="https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/"'>> ~/.bashrc
source ~/.bashrc
#11、初始化并指定版本
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-12.0.0_34
#12、同步源码 -j后面的数字一般为cpu核心数的2倍,我的cpu为4核,这里我这设置的。
repo sync -j6
#13、源码下载成功后 cd进入AOSP的目录依次执行如下2个命令:
source build/envsetup.sh
make clobber #编译前删除build文件夹(第一次编译这一步可以不要)
#14、选择编译目标
lunch
#15、开始编译
make -j6
#16、漫长的等待编译完成即可。
五、下载源码驱动
#1、查看机型对应的代号,我这里的是pixel3,选的是
SP1A.210812.016.C2 android-12.0.0_r34
https://source.android.google.cn/docs/setup/reference/build-numbers?hl=zh-cn
#2、下载代号对应的驱动
https://developers.google.com/android/drivers
两个都下载下来
#3.解压在linux运行这两个文件,浏览协议并同意后,执行后会创建vendor文件夹,vendor文件夹记得在aosp根目录下
./extract-google_devices-sailfish.sh
./extract-qcom-sailfish.sh
六、开始刷机
#0、下载adb,给大家避个坑,对应机型一定要下载对应的adb版本。我的是pixel3下载31版本。因为我被这个坑了一晚上。
https://dl.google.com/android/repository/platform-tools_r31.0.0-windows.zip
#1、出厂镜像下载地址
https://developers.google.com/android/images?hl=zh-cn#blueline
#2、执行bat脚本就行
解压,usb连接手机然后执行bat脚本
大家点击这个脚本就行,不要在意我改的名字。
#3、等待手机重启,就刷机完成。此时设备还需要通过面具获得root权限
#4、面具大家应该都有的吧、本文就认为大家有面具啦。
连接usb,把zip文件解压,把boot文件推送到手机,随意文件夹内
adb push boot.img
#5.用面具进行修复会产生一个文件,把这个文件在推送到电脑
adb pull 修复文件
#6、然后进入 booloader
adb reboot bootloader
#7、把修复的文件刷入boot分区
fastboot flash boot 修复文件
#重启手机即可。你会发现面具已经有root权限了。
#8、这里是用的官方原始镜像、自己编译的也是同理刷入手机即可。