长期记录和更新关于安卓和 Linux 的一些折腾笔记
由来
长期记录和更新关于安卓和 Linux 的一些折腾笔记,没有 Linux 和刷机基础的不要看了。
adb
下载
知识点
小米系列手机开 adb 需要登录账号和插入 sim 卡,然后 Linux 和软路由上也可以安装 adb(打通网络后可以做很多事情),不要局限在看到的物体思维上。开了 usb adb 后插入电脑上:
1 | # 查看设备 |
更多见文档 tools/adb
adb shell
一些 adb shell 命令:
1 | $ adb shell dumpsys battery |
https://adbinstaller.com/commands
一些问题
打算把 adb 启动在 Linux 上,发现它 daemon 监听端口不是 bind 0.0.0.0:
1 | $ ss -nlpt | grep adb |
然后搜了下没有好的解决办法,有人去 hack 源码的,上面这个命令是大佬发的,只能前台运行,可以配合 screen 或者 systemd 啥的常驻。
安卓虚拟化
x86_64 机器上折腾的一些安卓虚拟化笔记,如果要在 x86_64 的安卓和安卓虚拟机或者容器内安装运行 arm64 的 apk ,需要带有 Native Bridge
。
Bliss OS
一个 x86_64 安卓系统,相对于 android-x86 似乎更新频繁,可以 pve 之类虚拟化导入安装,但是有些版本没带还是把 Native Bridge
删了。
Waydroid
anbox 后继 Waydroid 还没试过,是容器起的模拟器。
budtmo/docker-android
https://github.com/budtmo/docker-android 感觉太重了,而且没 arm64 架构镜像。
remote-android/redroid-doc
https://github.com/remote-android/redroid-doc 尝试运行 arm64 的 apk 成功了,chrome 的浏览器不行,需要有些依赖才可以运行,uc 浏览器也不行,最后用的 arm64 firefox 浏览器。另外发现有些 apk 安装后打开黑屏,最后从 proxmox 虚拟机切到宿主机上 docker 起才解决,也看到有人 arm64 M1 mac 上起安卓容器。
一些软件
scrcpy
https://github.com/Genymobile/scrcpy 牛逼的项目,不用多说,配合 adb 使用:
1 | scrcpy |
关闭屏幕这个,lcd 的触发后,如果关闭 scrcpy 后面屏幕还会亮,而 oled 的则不会,单独想 adb 实现它的关闭屏幕显示而不休眠,可以参考
- https://meta.appinn.net/t/topic/46361
- https://github.com/Genymobile/scrcpy/issues/2888
- https://github.com/barry-ran/QtScrcpy/issues/194
还有其他很多 scrcpy 项目,以及可以很多编程语言有 scrcpy 的库,可以做到写代码控制手机和上面的应用。
adb 协议
golang
逆向
教程
常见逆向
- frida objection
- https://kuizuo.cn/docs/frida-so-hook/
frida
spwan
1 | -U usb, -f 是Attach模式,不带-f是Spawn 模式,前者会启动app注入,后者是自己选择啥时候注入 |
js 的话,hook 内容如下类似:
1 | setImmediate(function () { |
过检测 frida Ylarod/Florida
抓包:
unit 游戏逆向
libs/{libil2cpp,libmain,libunity,libxlua}.so
- https://veo.pub/2020/xlua/
- https://bbs.kanxue.com/thread-257678.htm
- https://blog.csdn.net/linxinfa/article/details/116572369
- https://github.com/vfsfitvnm/frida-il2cpp-bridge
- https://github.com/MlgmXyysd/IL2CppMemoryDumper
1 | # https://bbs.kanxue.com/thread-280500.htm |