Hacking Android

Hacking Android

2025 南京大学《操作系统原理》
Hacking Android

Android: 不只是应用生态

还是开发者生态

  • POSIX system calls \to libc \to coreutils \to 应用程序世界
    • 幕后:binutils, gcc, gdb, vscode, ...
  • Android 也提供了丰富的开发者工具
    • Android Studio, Android Emulator, DDMS (Dalvik Debug Monitor Server), ...

Android Debug Bridge (adb)

  • adb push/pull/install
  • adb shell (screencap /sdcard/screen.png)
  • adb forward/logcat/jdwp, ...
2025 南京大学《操作系统原理》
Hacking Android

我们可以做什么?

scrcpy

  • 在设备上捕获视频流 (通常有硬件加速),再传递给 Host

UI Automation (Monkey)

center

  • Infinite Monkey Theorem: 给 10,000 只猴子和打字机,只有一只能打出 C 程序,其他只能打出 Perl 程序 😊
    • 我们的工作:Cross-device record & replay
2025 南京大学《操作系统原理》
Hacking Android

甚至可以 “任意改变” App 的行为

center

  • LSPosed; VirtualXposed 甚至不需要 root
2025 南京大学《操作系统原理》
Hacking Android

Hacking Android 👿

如何杀死一个 Android 进程?

那么,我们是不是就可以利用数据竞争进程保活了呢?

  • 成为孤儿进程从而不会立即收到 SIGKILL 信号
  • 在被杀死后立即唤醒另一个进程 😂
2025 南京大学《操作系统原理》
Hacking Android

在 Android 的浪潮里

center

我们也想过做一些很有趣的事

  • 甚至也做成了 (Jigsaw paper)
    • 在 LLM 时代,更容易做成、跟容易做好
  • 我们都被 “publish or perish” 束缚了
    • 每个人都可以是生活的黑客
2025 南京大学《操作系统原理》