首页
社区
课程
招聘
[原创]Albatross Android——快速、优雅的强大安卓hook框架
发表于: 2025-7-20 13:57 12827

[原创]Albatross Android——快速、优雅的强大安卓hook框架

2025-7-20 13:57
12827
收藏
免费 200
支持
分享
最新回复 (168)
雪    币: 104
活跃值: (665)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
76
从jni里面看起来整合了不少frida的写法啊
2025-8-11 12:36
0
雪    币: 154
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
77
666666
2025-8-11 14:01
0
雪    币: 227
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
78
6666
2025-8-11 14:18
0
雪    币: 612
活跃值: (2901)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
79
66
2025-8-11 20:33
0
雪    币: 23
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
80
1
2025-8-12 09:06
0
雪    币: 46
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
81
dadadasda 从jni里面看起来整合了不少frida的写法啊
是的,底层native的hook是借鉴了frida,frida c代码太啰嗦,不同架构有太多冗余代码,核心功能都重构了一遍。
2025-8-13 20:48
0
雪    币: 298
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
82
????牛牛
2025-8-14 10:14
0
雪    币: 289
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
83
我想写一个Demo,来测试。
我在Application中的onCreate中调用: 

 private void initHooks() {
        try {
            //
            try {
                Albatross.init(0);
                assert Albatross.transactionLevel() == 0;
                Albatross.hookClass(ActivityHooker.class);
            } catch (AlbatrossException e) {
                throw new RuntimeException(e);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }



发生报错:                                                                                                    java.lang.UnsatisfiedLinkError: No implementation found for int qing.albatross.core.Albatross.initMethodNative(java.lang.reflect.Method, java.lang.reflect.Method, int, java.lang.Class) (tried Java_qing_albatross_core_Albatross_initMethodNative and Java_qing_albatross_core_Albatross_initMethodNative__Ljava_lang_reflect_Method_2Ljava_lang_reflect_Method_2ILjava_lang_Class_2)

我应该如何解决。是我的调用流程有问题吗?
2025-8-14 14:09
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
84
6666
2025-8-14 15:35
0
雪    币: 0
活跃值: (1355)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
85
666
2025-8-14 17:09
0
雪    币: 46
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
86
阿杨` 我想写一个Demo,来测试。 我在Application中的onCreate中调用: private void initHooks() { try { ...
设计的时候,除了native方法,都可以混淆的,所以需要你需要将类Albatross在jni方法中注册,具体看demo。
2025-8-14 19:46
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
87
太强了,qqqqq
2025-8-14 21:57
0
雪    币: 208
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
88
6666666
2025-8-15 17:13
0
雪    币: 203
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
89
2025-8-16 23:26
0
雪    币: 23
活跃值: (1510)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
90
6666
2025-8-17 03:27
0
雪    币: 1
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
91
666
2025-8-17 17:04
0
雪    币: 289
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
92
WanQing 设计的时候,除了native方法,都可以混淆的,所以需要你需要将类Albatross在jni方法中注册,具体看demo。

我运行了Demo在雷电模拟器9,运行的64位的Demo。点击Load是报错的。我附报错日志如下。

上传的附件:
2025-8-18 21:01
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
93
666666666666
2025-8-19 12:59
0
雪    币: 46
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
94
阿杨` 我运行了Demo在雷电模拟器9,运行的64位的Demo。点击Load是报错的。我附报错日志如下。

代码和so库要一致。你的代码没更新,最新的代码backup添加了一个额外的参数。 int qing.albatross.core.Albatross.backupNative(java.lang.Object, java.lang.reflect.Method, int, int)

最后于 2025-8-19 19:47 被WanQing编辑 ,原因:
2025-8-19 19:44
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
95
666
2025-8-19 23:26
0
雪    币: 4292
活跃值: (3720)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
96
好好学习天天向上
2025-8-20 09:39
0
雪    币: 206
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
97
感谢分享
2025-8-20 18:42
0
雪    币: 1
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
98
666
2025-8-21 16:34
0
雪    币: 209
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
99
666
2025-8-22 12:23
0
雪    币: 526
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
100
学习了
2025-8-24 17:36
0
游客
登录 | 注册 方可回帖
返回