allenymt / PrivacySentry

Android隐私合规整改检测工具,注解+Asm修改字节码的检测方案
MIT License
2.05k stars 262 forks source link

hook失败 #96

Closed charmeleon2 closed 1 year ago

charmeleon2 commented 1 year ago

版本1.2.6.1 输出的文件里只有一个调用隐私同意的,没有别的函数hook结果,log里也没有hook相关的输出 编译时出现过java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0的错误,不过多试几次就能跑成功了(项目中有openinstall) 试了下demo是正常的,项目中的配置都是照着demo来的,请问可能会是哪里出问题

charmeleon2 commented 1 year ago

添加openinstall的黑名单后可以hook到数据了,但是运行崩溃了 错误日志: java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4200010 (has extras) } in io.agora.rtc.internal.ConnectionChangeBroadcastReceiver@5f8e9b8 at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1796) at android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run(Unknown Source:2) at android.os.Handler.handleCallback(Handler.java:900) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loop(Looper.java:219) at android.app.ActivityThread.main(ActivityThread.java:8668) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109) Caused by: android.os.NetworkOnMainThreadException at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1565) at java.net.Inet6AddressImpl.getHostByAddr(Inet6AddressImpl.java:162) at java.net.InetAddress$1.getHostByAddr(InetAddress.java:286) at java.net.InetAddress.getHostFromNameService(InetAddress.java:656) at java.net.InetAddress.getHostName(InetAddress.java:565) at com.yl.lib.privacy_proxy.PrivacyProxyCall$Proxy.getHostAddress(PrivacyProxyCall.kt:731) at io.agora.rtc.internal.CommonUtility.doGetNetworkInfo(CommonUtility.java:711) at io.agora.rtc.internal.CommonUtility.getNetworkInfo(CommonUtility.java:172) at io.agora.rtc.internal.CommonUtility.notifyNetworkChange(CommonUtility.java:251) at io.agora.rtc.internal.ConnectionChangeBroadcastReceiver.onReceive(ConnectionChangeBroadcastReceiver.java:22) at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1786) at android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run(Unknown Source:2)  at android.os.Handler.handleCallback(Handler.java:900)  at android.os.Handler.dispatchMessage(Handler.java:103)  at android.os.Looper.loop(Looper.java:219)  at android.app.ActivityThread.main(ActivityThread.java:8668)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109)  这是hook了哪个函数

allenymt commented 1 year ago

你这个报错是在主线程请求网络,跟这个hook应该没关系的,建议自查下

charmeleon2 commented 1 year ago

但是我在Hook之前是没有问题的,现在暂时把声网加到黑名单了

allenymt commented 1 year ago

是我这边的问题,等会发版本修复 ,很抱歉

allenymt commented 1 year ago

1.2.7 已修复