第三方的读 nfc 卡 jar 包有个方法疯狂打印日志
private void setLog(String content) { Log.d("T2OReader", content); }
也没有给其他方法关闭日志
因为要开线程循环读卡,有没有读到数据他自己都打印日志,一开起来直接刷屏
有没有办法把他过滤或者蔽,debug 模式的时候直接 return 也行
1 jorneyr 2023-09-15 15:26:35 +08:00 ![]() Java Agent 修改执行逻辑。 |
![]() | 2 ShineyWang 2023-09-15 15:39:25 +08:00 java 我不怎么熟,之前弄 spring 的时候用了 GELF 搜集日志到 Seq 里面 https://docs.datalust.co/docs/using-gelf 然后在 seq 里面 filter 筛选的 |
![]() | 3 qwerthhusn 2023-09-15 15:39:26 +08:00 ![]() 非常简单,把那个类的源码拷贝出来,然后在代码目录里面创建这个类,把代码贴进去,然后就可以自由修改了。 当类加载器加载那个类的时候,肯定会读取你自己编译的这个类。 比如你这里可以直接把调用日志的那个类复制出来建一份,然后修改 setLog 方法不让其写日志。 也可以直接把 Log 类弄出来,修改 d 方法,直接把日志功能废掉 |
4 TArysiyehua 2023-09-15 15:45:39 +08:00 用 apt , 凡是执行到这个方法,就直接 return |
5 TArysiyehua 2023-09-15 15:45:54 +08:00 说错了,是 aop ,切片 |
![]() | 6 hidemyself 2023-09-15 15:49:20 +08:00 看下 LOG 怎么实现的,一般这种日志框架都可以配置的吧 |
![]() | 7 cconst 2023-09-15 15:58:56 +08:00 都有三方的 jar 包了,直接反编译把那行删了 :) |
8 vvtf 2023-09-15 16:13:16 +08:00 自己重写那个类, 然后编译好, 使用`jar -u`替换 ```bash jar -uvf xxx.jar com/xxx/aa/Log.class ``` |
9 Kenyore 2023-09-15 16:24:31 +08:00 楼上的是不是都不知道 logback 可以配置指定类的日志级别或者关闭日志 |
10 TArysiyehua 2023-09-15 16:29:19 +08:00 @Kenyore 你说的 logback 是个啥玩意?又不是每个 log 都用这个玩意实现的。。。 |
![]() | 11 lakehylia 2023-09-15 16:32:27 +08:00 解开 jar ,搜关键字,然后删掉打印日志那部分的代码,重新打包 jar |
12 HangoX 2023-09-15 16:38:54 +08:00 用 jdex ,打开 jar ,修改,然后导出 |
15 DefoliationM 2023-09-15 18:25:26 +08:00 via Android Java agent 给重写了 |
![]() | 16 Hyseen 2023-09-15 18:32:24 +08:00 用 agent 重写这个方法 |
17 maokabc 2023-09-16 01:57:03 +08:00 via Android .class 文件用 java asm 把方法清空,.dex 的话用 dexlib2 |
![]() | 18 SupperMary 2023-09-16 23:47:57 +08:00 adb shell 进去之后,setprop persist.log.tag.T2OReader F 试一下看有没有用 |
19 diy886 OP 用了#3 的方法可行,但是居然还有一个 UsbDeviceConnectionJNI 的日志也在输出 搜了一圈发现直接在 logcat 里选中文字后右键"Fold Lines Like this"就行了.. |
20 4kingRAS 2023-09-19 16:05:21 +08:00 logcat 屏蔽不就行了 |