Closed OhPeterPan closed 2 years ago
还有就是用 oppo扫描之后发现有些android_id还是无法hook. oppo自动化检测报告.xlsx . 使用步骤: 1、依赖 def privacyVersion = “1.0.9” implementation "com.github.allenymt.PrivacySentry:hook-sentry:$privacyVersion" implementation "com.github.allenymt.PrivacySentry:privacy-annotation:$privacyVersion" //如果不想使用库中本身的代理方法,可以不引入这个aar,自己实现 implementation "com.github.allenymt.PrivacySentry:privacy-proxy:$privacyVersion" 2、初始化
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
//完成功能的初始化
PrivacySentryBuilder builder = new PrivacySentryBuilder()
// 自定义文件结果的输出名
.configResultFileName("buyer_privacy")
// 配置游客模式,true打开游客模式,false关闭游客模式
.configVisitorModel(false)
// 配置写入文件日志 , 线上包这个开关不要打开!!!!,true打开文件输入,false关闭文件输入
.enableFileResult(false)
.syncDebug(BuildConfig.DEBUG)
// 持续写入文件30分钟
.configWatchTime(30 * 60 * 1000)
// 文件输出后的回调
.configResultCallBack(new PrivacyResultCallBack() {
@Override
public void onResultCallBack(@NonNull String s) {
}
});
// 添加默认结果输出,包含log输出和文件输出
PrivacySentry.Privacy.INSTANCE.init(this, builder);
}
同意隐私协议之后 PrivacySentry.Privacy.INSTANCE.updatePrivacyShow();
Lcom/yl/lib/privacy_proxy/ProxyProxyField 这个aar是必须依赖的
还有就是用 oppo扫描之后发现有些android_id还是无法hook.
android_id,sdk只是保证进程内只被读取一次,你的问题是定时上传,这个需要你自己处理
还有就是用 oppo扫描之后发现有些android_id还是无法hook.
android_id,sdk只是保证进程内只被读取一次,你的问题是定时上传,这个需要你自己处理
Lcom/yl/lib/privacy_proxy/ProxyProxyField 这个aar是必须依赖的
这个依赖似乎在privacy-proxy里面,依赖后,如果我想自定以getstring hook的话,会不会执行PrivacyProxyCall里面的拦截代码?
不引入 privacy-proxy 这个aar,之后然后自己实现hook方法之后,项目就会闪退,日志如下(看着很像项目以来的广告sdk出现问题): java.lang.NoClassDefFoundError: Failed resolution of: Lcom/yl/lib/privacy_proxy/ProxyProxyField; at com.win.opensdk.t1.a(:18) at com.win.opensdk.c1.run(:2) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:920) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.yl.lib.privacy_proxy.ProxyProxyField" on path: DexPathList[[zip file "/data/app/
q2h4DQoOQJrg-9EW2bOtgg==/com.mywallpaper.customizechanger-2qfrGhLFeu0izP4yWCxlUA==/base.apk"],nativeLibraryDirectories=[/data/app/q2h4DQoOQJrg-9EW2bOtgg==/com.mywallpaper.customizechanger-2qfrGhLFeu0izP4yWCxlUA==/lib/arm64, /data/app/~~q2h4DQoOQJrg-9EW2bOtgg==/com.mywallpaper.customizechanger-2qfrGhLFeu0izP4yWCxlUA==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:218) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at com.win.opensdk.t1.a(:18) at com.win.opensdk.c1.run(:2) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:920)