.
.
查看手机内核对BPF支持情况
手机为Pixel 6 / Kernel 5.10,
需要的内核功能默认已打开,开箱即用.
.
.
.
下载eadb和debianfs-arm64-full.tar.gz
https://github.com/tiann/eadb/releases
.
.
通过eadb安装debian环境
eadb是对adeb的重新实现(rust重写的),
eadb的作用是可以给Android安装一个完整健全的arm debian环境.
(注意:配置ssh密钥的过程这里略过,可通过Magisk模块完成.)
.
.
像平时在ubuntu上那样布置eBPF-BCC的常规过程,
在手机里中来一遍, 没什么不一样的.
.
.
编译安装后, 运行helloworld测试
可以跑的话,
到这就算成功了,
缺陷是还没有IDE,
不方便开发.
.
.
安装proxychains
被墙的话,在手机Deabian里git和wget比较慢,
还是要在手机Debian里配置proxychains之类的代理.
.
.
安装pip
.
.
目的
有了这个步骤, 就可以不用eadb了,
后面可以直接拿vscode ssh登录到手机的Debian上.
.
.
在手机Debian中执行以下操作,配置ssh
.
.
sshd_config的详细配置
.
.
修改Debian的root密码
需要重新修改Debian root密码,登ssh时需要.
.
.
PC客户端上配置一下私钥,然后连接测试
.
.
安装vscode ssh插件
.
.
客户端ssh配置
.
.
连接后,可访问debian服务端上的文件,这个就是资源管理器
.
.
打开bash
.
.
安装Remote Development插件, 即远程开发插件
.
.
安装python插件
.
.
如果要debug启动python脚本, 想传递参数的话, 需要配置一个启动文件.
.
.
配置中,你可能还需要补充一下环境变量
.
.
最后用这个配置文件,调试启动python脚本.
.
.
项目推荐
通过maiyao1988/ebpf-plugin项目,
可一键一次性的HOOK全部syscall.
代码逻辑清晰,
可根据需求自由修改.
(本文只关注eBPF亮点,无痕hook系统调用)
.
.
项目地址
https://github.com/maiyao1988/ebpf-plugin
.
.
在手机Debian上运行一下, 看看效果
.
uname
-
a
zcat
/
proc
/
config.gz | grep PROBE
zcat
/
proc
/
config.gz | grep PROBE
.
/
eadb
-
-
ssh root@
192.168
.x.x
-
p xxxx prepare
-
a debianfs
-
arm64
-
full.tar.gz
.
/
eadb
-
-
ssh root@
192.168
.x.x
-
p xxxx prepare
-
a debianfs
-
arm64
-
full.tar.gz
.
/
eadb
-
-
ssh root@
192.168
.x.x shell
.
/
eadb
-
-
ssh root@
192.168
.x.x shell
git clone https:
/
/
github.com
/
iovisor
/
bcc.git
mkdir bcc
/
build; cd bcc
/
build
cmake ..
make
sudo make install
cmake
-
DPYTHON_CMD
=
python3 ..
pushd src
/
python
/
make
sudo make install
popd
git clone https:
/
/
github.com
/
iovisor
/
bcc.git
mkdir bcc
/
build; cd bcc
/
build
cmake ..
make
sudo make install
cmake
-
DPYTHON_CMD
=
python3 ..
pushd src
/
python
/
make
sudo make install
popd
cd
/
bcc
/
examples
python hello_world.py
cd
/
bcc
/
examples
python hello_world.py
apt
-
get install proxychains
vim
/
etc
/
proxychains.conf
socks5
192.168
.?.?
12345
apt
-
get install proxychains
vim
/
etc
/
proxychains.conf
socks5
192.168
.?.?
12345
proxychains apt
-
get install python3
-
pip
proxychains wget https:
/
/
bootstrap.pypa.io
/
get
-
pip.py
proxychains python get
-
pip.py
proxychains apt
-
get install python3
-
pip
proxychains wget https:
/
/
bootstrap.pypa.io
/
get
-
pip.py
proxychains python get
-
pip.py
apt
-
get update
apt
-
get install ssh
vim
/
etc
/
ssh
/
sshd_config
vim id_rsa.pub
cat id_rsa.pub >> ~
/
.ssh
/
authorized_keys
chmod
600
~
/
.ssh
/
authorized_keys
chmod
700
~
/
.ssh
service ssh restart
apt
-
get update
apt
-
get install ssh
vim
/
etc
/
ssh
/
sshd_config
vim id_rsa.pub
cat id_rsa.pub >> ~
/
.ssh
/
authorized_keys
chmod
600
~
/
.ssh
/
authorized_keys
chmod
700
~
/
.ssh
service ssh restart
vim
/
etc
/
ssh
/
sshd_config
AuthorizedKeysFile .ssh
/
authorized_keys
Port
11111
PubkeyAuthentication yes
PermitRootLogin yes
PasswordAuthentication yes
GSSAPIAuthentication no
UseDNS no
vim
/
etc
/
ssh
/
sshd_config
AuthorizedKeysFile .ssh
/
authorized_keys
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2022-11-16 15:56
被爱吃菠菜编辑
,原因: