KUbuntu20 环境配置
安装 proxychains
sudo apt-get install proxychains-ng
修改/etc/proxychains4.conf
1 | [ProxyList] |
安装Qv2ray
snap install 安装Qv2ray
安装vcore版本
https://github.com/v2fly/v2ray-core/releases/download/v4.44.0/v2ray-linux-64.zip
安装 IDE
vscode
snap install code
android studio
snap install android-studio –classic
clion
snap install clion –classic
pycharm-community
snap install pycharm-community –classic
intellij-idea-community
snap install intellij-idea-community –classic
IDA Pro with Wine
https://wiki.winehq.org/Ubuntu_zhcn
https://debugwar.com/article/activate-IDAPython-with-wine-IDA-under-linux
for Kubuntu 20 install winehq
sudo dpkg –add-architecture i386
sudo proxychains wget -nc -O /usr/share/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
sudo proxychains wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/focal/winehq-focal.sources
sudo proxychains apt update
sudo proxychains apt install –install-recommends winehq-stable
ida python env
https://www.python.org/ftp/python/3.10.2/python-3.10.2-embed-amd64.zip
wine regedit
ida python env pip
https://bootstrap.pypa.io/get-pip.py
wine python.exe get_pip.py
wine python.exe -m pip install keystone-engine
wine python.exe -m pip install six
遇到的问题
sip
ImportError: DLL load failed while importing sip: Module not found.
pip 安装 PyQt5,但是还是会有这个问题,搜索发现
https://github.com/igogo-x86/HexRaysPyTools/issues/48
https://hex-rays.com/blog/ida-7-4-and-python-3-8/
https://iosre.com/t/topic/21033/21
以上解决方法均不能解决问题,尝试使用 7.6 来替换 7.5。
Typora
snap install typora-alanzanattadev
使用直接输入命令 typora-alanzanattadev
安装常用 build 工具
sudo apt install build-essential gcc-multilib g++-multilib
安装和配置 zsh
- 安装
1 | sudo apt install git zsh -y |
- 更改默认 shell 为 zsh
[sudo] chsh -s $(which zsh)
- 安装常用插件
- autojump
1 | sudo apt install python |
- zsh-autosuggestions
1 | proxychains git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions |
- zsh-syntax-highlighting
1 | # 安装 |
安装和使用 tmux
https://gist.github.com/ryerh/14b7c24dfd623ef8edc7
网络监控和 CPU/内存监控
jnettop/htop
安装 pyenv
https://gist.github.com/cedricbonhomme/ababe00d0a675ea5c69d777276e8f375
编译 aosp
1 | sudo apt install bison tree |
For Ubuntu versions older than 20.04 (focal), install also:
libwxgtk3.0-dev
While for Ubuntu versions older than 16.04 (xenial), install:
libwxgtk2.8-dev
mouxuejie.com/blog/2019-11-17/aosp-setup/
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
使用清华源,先下载 repo 工具
1 | proxychains repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-8.1.0_r1 |
- 下载驱动
1 | https://source.android.com/setup/start/build-numbers#source-code-tags-and-builds |
解压驱动后生成 ventor 目录。
1 | source build/envsetup.sh |
其他错误处理
1 | export LC_ALL=C |
下载sailfish-opm1.171019.011-factory-56d15350
并解包,然后解压里面的image-sailfish-opm1.171019.011.zip
,将原来的 img 文件全部删除,替换成我们刚刚编译好的 aosp 里的 img,其路径在out/target/product/sailfish
,然后重新打包成image-sailfish-opm1.171019.011.zip
,刷入即可
记得要使用刚刚编译出来的 aosp 里内置的那个 Fastboot,位置在如下这里
1 | /home/tg/gitsource/repo/build/out/host/linux-x86/bin |
清理拖拽文件缓存
1 | cd ~/.cache/vmware/drag_and_drop/ |
编译 aosp 内核
https://source.android.com/setup/build/building-kernels
https://source.android.com/setup/build/building-kernels-deprecated
- goldfish 项目包含适用于模拟平台的内核源代码。
- msm 项目包含适用于 ADP1、ADP2、Nexus One、Nexus 4、Nexus 5、Nexus 6、Nexus 5X、Nexus 6P、Nexus 7 (2013)、Pixel 和 Pixel XL 的源代码,可用作在 Qualcomm MSM 芯片组上开展相关工作的着手点。
找到 aosp 里 kernel 的路径
1 | Pixel (sailfish) |
改内核过反调试,以 trace pid 为例
事实上,我们可以在设置 > 关于手机 > 内核版本 中直接查看内核版本信息,也可以通过 cat /proc/version 命令查看。内核版本信息的格式为 kernel version-gXXXXXXX,其中 XXXXXXX 部分的值是 git 提交中 的 short commit id 的值(即 kernel version-g
),short commit id 的值为 commit id 值的前 7 位。Nexus 5 设备 Adnroid 4.4.4_r1 版本 AOSP 自带的内核值是`3.4.0-gd59db4e , 并且刷入手机能正常运行。
检出带代码有两种方式(推荐第二种):
1 | git clone https://aosp.tuna.tsinghua.edu.cn/kernel/msm.git |
/home/tg/gitsource/repo/build/kernel/msm/arch/arm64/boot/Image.lz4-dtb
就是生成出来的 kernel
1 | source build/envsetup.sh |
然后可以看到 out 里的 boot.img 已经更新了,重打包刷机即可。
关于过 trace-pid,需要修改的代码在这里
https://github.com/lasting-yang/msm/commit/99ad1405ef0f12d94ca605de4db0b989da3a3b25