这篇文章上次修改于 366 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
前言
我dump内存采用的方式是termux + lldb
手机需要有root权限
环境准备
首先下载最新版termux
2024/01/08 补充,由于ttyd的默认行为发生变更server: replace --readonly with --writable,因此开启远程要能输入命令操作,需要加上-W
选项
下载安装后打开termux,先安装几个必要的软件(普通用户下安装)
pkg install nano
pkg install openssl
pkg install lrzsz
pkg install lldb
官方源太慢,可以通过termux-change-repo
选择国内源,推荐选择ustc
的源
简要说明
nano
用于编辑文件lrzsz
用于传输文件,搭配ttyd
会比较方便,再也不用adb pull了- 下载文件:
lsz file.zip
- 上传文件:
lrz
- 下载文件:
openssl
是避免某些操作的时候可能出现library "libssl.so.3" not found
的情况lldb
当然是用来dump内存
如果还是出现了library "libssl.so.3" not found
之类的问题,请执行pkg upgrade
更新下整个termux环境
为了方便在PC端操作,需要配置termux的环境,PC上进入termux shell环境这里推荐两个方式
adb shell
+配置环境变量
termux + ttyd
+网页远程配置
adb方式
使用adb要么有线连接,要么无线连接
然后在电脑上执行下面的命令
adb shell
su
ttyd方式
在termux中安装ttyd
,命令如下
pkg install ttyd
安装完成后执行下面的命令开启服务端
ttyd bash
如果想调整字体大小,颜色配置等,可以参考执行下面的命令
ttyd -t fontSize=22 -t 'theme={"background": "#282A36", "foreground": "#F8F8F2", "cursor": "#F8F8F2", "selection": "#44475A"}' bash
然后就可以在PC上通过http://{手机ip}:7681
访问手机的shell了,可以多开
配置环境变量
通过adb方式
或者ttyd方式
,现在已经可以在PC端方便操作了
前面说到要配置termux环境,主要指的是termux的环境变量
打开termux后输入env
命令执行即可看到termux普通用户下的环境变量
有很多,这里简化部分,最终我们需要配置的环境命令如下:
export SHELL=/data/data/com.termux/files/usr/bin/bash
export COLORTERM=truecolor
export HISTCONTROL=ignoreboth
export PREFIX=/data/data/com.termux/files/usr
export TERMUX_IS_DEBUGGABLE_BUILD=1
export TERMUX_MAIN_PACKAGE_FORMAT=debian
export PWD=/data/data/com.termux/files/home
export TERMUX_VERSION=0.118.0
export EXTERNAL_STORAGE=/sdcard
export LD_PRELOAD=/data/data/com.termux/files/usr/lib/libtermux-exec.so
export HOME=/data/data/com.termux/files/home
export LANG=en_US.UTF-8
export TERMUX_APK_RELEASE=GITHUB
export TMPDIR=/data/data/com.termux/files/usr/tmp
export TERM=xterm-256color
export SHLVL=2
export PATH=/data/data/com.termux/files/usr/bin:$PATH
先切换到su
现在复制上面的命令,粘贴到你的shell中执行
每次复制粘贴可能操作比较麻烦,可以将上述内容写入到一个文件中,比如env.sh
文件放到/data/data/com.termux/files/home
目录下
记得进入shell后先切换su,使用如下命令即可一次性设置好环境变量
cd /data/data/com.termux/files/home
source env.sh
adb方式
ttyd方式
至此dump内存的环境准备工作做好了
请注意,在执行lldb命令后,请通过platform shell pwd
检查lldb的工作目录
如果不是/data/data/com.termux/files/home
目录,那么使用下面的命令切换工作目录
platform settings -w /data/data/com.termux/files/home
通常情况下,在设置环境变量后,shell会自动切换到/data/data/com.termux/files/home
这个时候执行lldb命令,那么lldb会使用当前目录作为工作目录
但是为了确保后续操作不出问题,每次进入lldb后务必执行platform shell pwd
检查一下
没有评论