能力值:
( LV9,RANK:210 )
|
-
-
2 楼
可以的,你看一下官网的例子。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
可以的,可以参考61eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6E0P5f1y4G2k6r3g2t1N6i4u0@1M7#2)9J5c8W2m8D9N6h3#2Q4x3X3c8Q4x3X3c8Q4x3X3c8m8L8X3c8J5L8$3W2V1i4K6u0V1e0X3q4@1K9i4k6W2i4K6u0V1b7%4W2V1K9h3q4Q4x3X3c8e0N6h3u0K6N6s2u0S2N6r3g2Q4c8f1k6Q4b7V1y4Q4z5p5y4K6L8#2!0q4y4W2)9^5c8q4!0m8x3W2!0q4y4W2)9^5z5q4)9&6x3q4!0q4y4q4!0n7c8q4!0m8x3q4!0q4z5q4)9^5y4#2!0m8b7g2!0q4y4g2!0n7y4#2!0n7x3g2!0q4y4#2)9&6b7g2)9^5y4s2y4G2
|
能力值:
( LV4,RANK:50 )
|
-
-
4 楼
可以的。 。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
官网我都看过了,没有关于hook native代码的例子,只是讲了几个API
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
这个例子是用c的hook java方法,并不是hook的native方法。
|
能力值:
( LV9,RANK:210 )
|
-
-
7 楼
005K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4&6k6r3W2S2M7%4g2T1M7%4c8J5j5i4c8W2i4K6u0W2j5$3!0E0i4K6u0r3j5i4m8A6i4K6u0r3j5#2)9J5c8V1#2e0d9r3!0G2K9@1k6#2L8X3y4@1K9h3!0F1i4K6u0r3
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
恩,这个是对so hook的API,但是我还是不太懂 dbaK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4&6k6r3W2S2M7%4g2T1M7%4c8J5j5i4c8W2i4K6u0W2j5$3!0E0i4K6u0r3K9h3&6B7k6h3y4@1i4K6u0r3j5h3&6V1M7X3!0A6k6q4)9J5c8W2!0q4y4W2)9^5z5g2)9^5x3q4!0q4z5q4!0m8c8W2!0n7y4q4!0q4y4#2)9&6b7g2)9^5y4q4!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4q4!0n7z5g2)9&6c8W2!0q4y4g2!0n7x3q4!0n7x3g2!0q4y4W2)9&6z5q4!0m8c8W2!0q4y4W2)9^5z5q4)9&6x3g2!0q4y4q4!0n7z5q4)9^5c8q4!0q4y4g2!0m8y4q4!0m8b7g2!0q4y4W2!0n7z5q4)9^5y4g2!0q4y4W2!0m8y4g2)9&6b7g2!0q4z5q4!0n7c8W2)9&6z5g2!0q4y4q4!0n7z5q4!0m8b7g2!0q4y4W2)9^5c8W2)9&6x3W2!0q4y4q4!0n7b7W2!0n7y4W2!0q4y4W2)9&6z5q4!0m8c8W2!0q4y4g2!0m8y4W2)9^5x3W2!0q4y4q4!0n7c8q4)9&6y4g2!0q4z5q4!0m8x3W2!0m8b7W2!0q4y4g2)9^5b7g2!0m8x3q4!0q4z5q4!0n7c8q4!0n7c8q4!0q4y4#2)9&6b7g2)9^5y4q4!0q4c8W2!0n7b7#2)9^5b7#2!0q4z5q4)9^5x3#2!0n7c8q4!0q4y4W2)9&6b7#2)9^5z5g2!0q4y4q4!0n7z5q4!0m8b7g2!0q4y4g2!0m8c8g2)9^5b7#2!0q4y4W2)9&6y4g2!0n7y4q4!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4q4!0n7c8g2)9^5b7W2!0q4y4g2!0m8c8q4)9&6x3q4!0q4y4g2!0n7x3q4!0n7x3g2!0q4y4g2!0m8y4g2!0n7c8q4!0q4y4q4!0n7b7g2)9^5y4W2!0q4c8W2!0n7b7#2)9^5b7#2!0q4z5q4)9^5x3#2!0n7c8q4!0q4y4g2!0n7z5q4!0m8c8g2!0q4y4g2!0n7c8W2)9&6z5g2!0q4z5q4!0m8y4#2!0m8x3#2!0q4z5g2)9^5y4#2)9^5b7g2!0q4y4q4!0n7z5q4)9^5x3q4!0q4y4q4!0n7z5q4)9^5b7W2!0q4y4g2)9&6x3q4)9&6y4#2!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4q4!0n7z5q4)9^5y4#2!0q4y4g2)9^5z5q4)9^5y4W2!0q4y4W2)9^5y4q4)9&6c8W2!0q4z5q4!0n7x3q4!0m8x3W2!0q4x3#2)9^5x3q4)9^5x3R3`.`.
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
那个例子的so你直接换成你自己hook c的函数的so就可以了
|
能力值:
( LV9,RANK:210 )
|
-
-
10 楼
你需要先安装官方的com.saurik.substrate.apk,在APK的asset下,你会发现有substrate.h头文件,放到你的项目当中。 另外,当成功安装com.saurik.substrate.apk后,你需要先开启一下,这时会提示要软重启。 这时,你看一下手机上的/system/lib下,会多出一个libsubstrate.so,把这个文件拿到自己的项目编译就好了。
API参考官方的文档即可
|
能力值:
(RANK:550 )
|
-
-
11 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
mark最近也在研究这个
|
能力值:
( LV2,RANK:15 )
|
-
-
13 楼
给你一个用例:
#include "substrate.h"
#define LOG_TAG "DEBUG"
#define LOGD(fmt, args...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, fmt, ##args)
typedef void (*oldfuns)();
extern "C" void hello() {
LOGD("hello");
}
extern "C" void hook_hello() {
LOGD("hook hello");
}
oldfuns oldhello;
extern "C" int hook_entry(char * a){
LOGD("Hook success, pid = %d\n", getpid());
LOGD("Hello %s\n", a);
hello();
MSHookFunction((void*)hello, (void*)hook_hello, (void**)&oldhello);
hello();
return 0;
}
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
这种貌似只能 hook 导出的方法
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
你用过么 这个咋hook 其他apk的so函数 我总是不成功。
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
回复多了。。
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
好东西保留下 多谢
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
没啥用处,用的substrate的注入,还得自己装他们的apk,然后link自己的so这样毛用,要自己注入自己hook携程一个apk给别人用这样才行啥,不然你叫用你外挂的人,还去自己装个substrate啊
|
能力值:
( LV3,RANK:30 )
|
-
-
19 楼
c52K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3u0D9L8$3N6Q4x3X3g2U0M7$3c8F1i4K6u0W2L8X3g2@1i4K6u0r3K9s2f1K6x3e0j5%4x3K6b7K6i4K6u0r3j5i4u0@1K9h3y4D9k6g2)9J5c8X3c8W2N6r3q4A6L8s2y4Q4x3V1j5#2x3o6M7&6x3U0p5#2x3#2)9J5y4X3&6T1M7%4m8Q4x3@1t1`. 可以看看这篇,挺详细的。
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
SnowNight
没啥用处,用的substrate的注入,还得自己装他们的apk,然后link自己的so这样毛用,要自己注入自己hook携程一个apk给别人用这样才行啥,不然你叫用你外挂的人,还去自己装个substra ...
其实 substrate 的客户端不需要安装,安装客户度主要目的是,创建相关的运行环境,因此这一步可以自己做。
|
能力值:
(RANK:10 )
|
-
-
21 楼
大愚
其实 substrate 的客户端不需要安装,安装客户度主要目的是,创建相关的运行环境,因此这一步可以自己做。
安装客户度主要目的是,创建相关的运行环境,因此这一步可以自己做 --------这一步怎么做呢
|
|
|