Frida难以应对发杂的代码逻辑,容易对抗,运行效率低。spawn模式有缺陷,多进程app会有问题,特征改来改去,索性自己开发一套。
AlbatrossServer 是一款专为 Android 安全研究、逆向分析、动态监控 设计的工具,支持在设备上实时注入 AlbatrossAndroid Hook 代码,实现对目标进程的 动态插桩、代码修改、方法拦截、日志监控 等功能。
核心特点:
✅ PC 端远程控制(Python API)
✅ 支持 Launch(启动注入)和 Attach(运行时注入)
✅ 可 Hook 系统应用 & 普通 App
✅ 支持 x86、x86_64、ARM、ARM64 架构
✅ 提供 Java 层插件开发框架
✅ 对抗少,Frida无法运行可以尝试它
⚠️ 重要声明:
Launch 模式(类似 Frida spawn):
Attach 模式(类似 Frida attach):
Android 安全研究(动态分析恶意软件、Hook 敏感 API)
逆向工程(修改 App 行为、绕过签名校验)
漏洞挖掘(监控 JNI 调用、拦截系统服务)
学习 Android 内部机制(如 ActivityThread、Binder 通信)
GitHub 地址:763K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6m8L8r3u0S2N6s2u0G2M7%4y4t1L8$3!0C8i4K6u0r3b7h3I4T1j5i4c8J5L8%4y4K6f1$3g2J5N6X3g2J5
设备数量有限,仅在少量的设备上测试,出现bug在论坛上反馈太麻烦了,所以特定创建QQ群,便于交流反馈。
QQ群:478564202 (安卓移动安全逆向隐私合规分析)
欢迎安全研究者、逆向工程师交流讨论! ????
| 模块 |
说明 |
| albatross-python |
PC 端控制工具,用于设备管理、App 启动/注入、RPC 调用 |
| albatross-java |
设备端核心代码,运行在 system_server 或目标 App 进程 |
| resource |
存储注入所需的 agent.so、albatross_server、Demo 插件 |
public class DemoInjector extends AlbatrossInjector {
public DemoInjector(String libName, String argString, int flags) {
super(libName, argString, flags);
}
@Override
public void beforeMakeApplication() {
Albatross.log("Before Application.makeApplication()");
}
@Override
public void beforeApplicationCreate(Application application) {
Albatross.hookClass(ActivityH.class);
}
@Override
public void afterApplicationCreate(Application application) {
Albatross.log("After Application.onCreate()");
}
}
public class DemoInjector extends AlbatrossInjector {
public DemoInjector(String libName, String argString, int flags) {
super(libName, argString, flags);
}
@Override
public void beforeMakeApplication() {
Albatross.log("Before Application.makeApplication()");
}
@Override
public void beforeApplicationCreate(Application application) {
Albatross.hookClass(ActivityH.class);
}
@Override
public void afterApplicationCreate(Application application) {
Albatross.log("After Application.onCreate()");
}
}
import albatross
import time
device = albatross.get_device("your_device_id")
assert device.is_root
user_pkgs = device.get_user_packages()
inject_dex = "plugins/injector_demo.apk"
inject_class = "qing.albatross.app.agent.DemoInjector"
for pkg in user_pkgs:
if "albatross" in pkg:
print(f"Testing {pkg}...")
device.stop_app(pkg)
device.start_app(pkg)
time.sleep(3)
device.attach(pkg, inject_dex, None, inject_class)
device.home()
time.sleep(2)
print("Test completed!")
import albatross
import time
[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!