返回列表 发新帖

[求助问答] 算法助手hook配置

[复制链接]

13

主题

290

回帖

1352

积分

高中生

Rank: 4

金币
708
好评
0
信誉
100
发表在  2026-4-30 09:56:09 来自手机  | 显示全部楼层 | 阅读模式  来自 安徽
本帖最后由 qi13200 于 2026-4-30 10:02 编辑

下面这个是检测超速反编译出来的代码,想用算法助手hook不让他检测 不知道对不对帮忙看看
- 类名: e01.g 

- 方法名: c 

- 参数类型: Lme/ele/hb/trafficsafety/model/PointModel; 

- 返回值: void 

- 执行动作:拦截执行

下面是反编译的代码
  1. //
  2. // Decompiled by Jadx - 509ms
  3. //
  4. package e01;

  5. import android.text.TextUtils;
  6. import com.alibaba.surgeon.bridge.ISurgeon;
  7. import com.alibaba.surgeon.instrument.InstrumentAPI;
  8. import com.taobao.tao.log.TLog;
  9. import g01.a;
  10. import g01.e;
  11. import j01.b;
  12. import j01.f;
  13. import java.util.ArrayList;
  14. import java.util.HashMap;
  15. import java.util.Iterator;
  16. import java.util.List;
  17. import me.ele.foundation.Application;
  18. import me.ele.hb.trafficsafety.model.PointModel;
  19. import me.ele.hb.trafficsafety.model.SceneConfig4MNN;

  20. public class g {
  21.     private static transient ISurgeon $surgeonFlag;
  22.     private final List<e> a;
  23.     private final a<PointModel> b = new a<>(13);
  24.     private List<SceneConfig4MNN> c;

  25.     public g(List<e> list) {
  26.         this.a = list;
  27.         this.c = g(list);
  28.     }

  29.     private double d(List<PointModel> list) {
  30.         ISurgeon iSurgeon = $surgeonFlag;
  31.         if (InstrumentAPI.support(iSurgeon, "4")) {
  32.             return ((Double) iSurgeon.surgeon$dispatch("4", new Object[]{this, list})).doubleValue();
  33.         }
  34.         double d = 0.0d;
  35.         if (list.isEmpty()) {
  36.             return 0.0d;
  37.         }
  38.         Iterator<PointModel> it = list.iterator();
  39.         while (it.hasNext()) {
  40.             d += it.next().getSpeed();
  41.         }
  42.         return d / list.size();
  43.     }

  44.     public void f() {
  45.         ISurgeon iSurgeon = $surgeonFlag;
  46.         if (InstrumentAPI.support(iSurgeon, "3")) {
  47.             iSurgeon.surgeon$dispatch("3", new Object[]{this});
  48.             return;
  49.         }
  50.         for (e eVar : this.a) {
  51.             List c = eVar.c();
  52.             if (c != null && c.size() >= eVar.a()) {
  53.                 ArrayList arrayList = new ArrayList(c);
  54.                 double d = d(arrayList);
  55.                 eVar.c().clear();
  56.                 h01.a.a().e(eVar.d(), eVar.b(), eVar.a(), d, arrayList, f.a(this.b.c())).v0(new b(this));
  57.             }
  58.         }
  59.     }

  60.     private List<SceneConfig4MNN> g(List<e> list) {
  61.         ISurgeon iSurgeon = $surgeonFlag;
  62.         if (InstrumentAPI.support(iSurgeon, "1")) {
  63.             return (List) iSurgeon.surgeon$dispatch("1", new Object[]{this, list});
  64.         }
  65.         this.c = new ArrayList();
  66.         for (e eVar : list) {
  67.             this.c.add(new SceneConfig4MNN(eVar.d(), eVar.b()));
  68.         }
  69.         return this.c;
  70.     }

  71.     public void c(PointModel pointModel) {
  72.         String str;
  73.         ISurgeon iSurgeon = $surgeonFlag;
  74.         if (InstrumentAPI.support(iSurgeon, "2")) {
  75.             iSurgeon.surgeon$dispatch("2", new Object[]{this, pointModel});
  76.             return;
  77.         }
  78.         try {
  79.             this.b.a(pointModel);
  80.             HashMap hashMap = new HashMap();
  81.             hashMap.put("config", b.a(this.c));
  82.             hashMap.put("pointModel", b.b(pointModel));
  83.             TLog.logd("TS_HBTrafficSafety", "超速检测 prams config:" + b.a(this.c) + ",pointModel:" + b.b(pointModel));
  84.             if (TextUtils.equals(Application.getApplicationContext().getPackageName(), "me.ele.crowdsource")) {
  85.                 str = "hbcrowd_traffic_safety_over_speed_detect";
  86.             } else {
  87.                 str = "traffic_safety_over_speed_detect";
  88.             }
  89.             d.b().a(str, hashMap, new a(this, pointModel));
  90.         } catch (Throwable th) {
  91.             TLog.logd("TS_THROWABLE", "addPointModel throwable:" + th);
  92.         }
  93.     }

  94.     public void e() {
  95.         ISurgeon iSurgeon = $surgeonFlag;
  96.         if (InstrumentAPI.support(iSurgeon, "5")) {
  97.             iSurgeon.surgeon$dispatch("5", new Object[]{this});
  98.             return;
  99.         }
  100.         Iterator<e> it = this.a.iterator();
  101.         while (it.hasNext()) {
  102.             it.next().c().clear();
  103.         }
  104.     }
  105. }
复制代码
回复

使用道具 举报

12

主题

3594

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
3635
好评
3
信誉
102

MT论坛新人MT论坛帅哥MT论坛最佳新人考神

发表于 2026-4-30 15:52:19 来自手机  | 显示全部楼层  来自 湖北
狗团的超速检测?我改天试试getspeed这个方法名行不行,现在原地hook值有0,有3.6,到时候跑起来改低点看情况
回复

使用道具 举报

13

主题

290

回帖

1352

积分

高中生

Rank: 4

金币
708
好评
0
信誉
100
发表于 2026-4-30 16:48:20 来自手机  | 显示全部楼层  来自 陕西
cmyy0622 发表于 2026-4-30 15:52
狗团的超速检测?我改天试试getspeed这个方法名行不行,现在原地hook值有0,有3.6,到时候跑起来改低点看情 ...

淘*的 天天扣服务分,都不够了
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表