#android #ebpf #devices #bridge #adb #shell

app eadb

eadb - eBPF Android调试桥

5个版本

0.1.6 2022年10月11日
0.1.5 2022年7月11日
0.1.3 2022年6月20日
0.1.1 2022年6月17日
0.1.0 2022年6月15日

#678 in 调试

每月 35 次下载

Apache-2.0

28KB
501 代码行

eadb - eBPF Android调试桥

eadb提供了一个强大的Linux shell环境,可以在Android设备上运行BCC / bpftrace / bpftool

用法

首先安装eadb,请参阅安装

在Android设备上准备eadb环境

eadb支持两种连接设备的方式

  • adb
  • ssh

它们都需要root权限。

如果您想使用adb模式,则需要adb root,但生产构建中已禁用adb root,如果您没有userdebug / eng设备,可以尝试adb_root。但如果您对Magisk没有经验(可能会损坏您的设备),建议使用ssh模式。

如果您使用ssh模式,建议安装Magisk来Root您的设备并安装MagiskSSH以启用ssh。

从GitHub下载

当您可以使用adb或ssh连接到您的设备时,您可以准备eadb环境

eadb --ssh root@ip prepare

命令会从发布页面下载rootfs并将其推送到您的设备,然后在该环境中进行一些挂载和chroot。

使用现有存档

您也可以下载或构建rootfs,然后通过rootfs文件准备它

eadb --ssh root@ip prepare -a path/to/archive

进入环境

eadb --ssh root@ip shell

您将进入eadb环境,通过以下命令获取shell,您可以使用apt update来更新源并自行安装软件(如clang、llvm、bpftrace),您甚至可以安装Rust / Golanggcc来在此设备上进行开发!

自行构建环境

仅支持Ubuntu / Debian构建在Android上运行的系统镜像,您可以在macOS上使用docker或podman,在Windows上使用WSL。

首先安装qemu-user-staticdebootstrap

sudo apt update && sudo apt install qemu-user-static debootstrap

然后构建eadb(需要root权限)

sudo eadb build

构建完成后,您将在工作目录中获得一个debianfs-full(mini).tar.gz。您可以使用此镜像作为您的环境

eadb --ssh root@ip prepare -a deb.tar.gz

安装

二进制文件

发布页面下载二进制文件

从源码构建

  1. 安装Rust工具链
  2. git clone https://github.com/tiann/eadb
  3. cargo build

Cargo

如果您已安装Rust工具链,可以使用cargo安装它

cargo install eadb

致谢

所有荣誉归adeb!eadb只是adeb的重新编写。

联系方式

twsxtd#gmail.com

依赖项

~7–21MB
~331K SLoC