原始代码
.method public final c()V
.registers 4
const-string v0, "App"
.line 1
:try_start_2
# ===== VPN 检测 =====
invoke-static {p0}, Ldp;->terminateIfVpnDetected(Landroid/content/Context;)V
.line 2
# ===== 代理检测 =====
invoke-static {p0}, Ldp;->terminateIfProxyDetected(Landroid/content/Context;)V
.line 3
# ===== IP / 地址保护检测 =====
invoke-static {p0}, Lk;->checkAddressProtection(Landroid/content/Context;)V
... # 后面还有调试器检测,可一起屏蔽
-------------------------------------------------------------------------------------------
修改后代码
.method public final c()V
.registers 4
const-string v0, "App"
# 以下三行检测已全部屏蔽
# invoke-static {p0}, Ldp;->terminateIfVpnDetected(Landroid/content/Context;)V
# invoke-static {p0}, Ldp;->terminateIfProxyDetected(Landroid/content/Context;)V
# invoke-static {p0}, Lk;->checkAddressProtection(Landroid/content/Context;)V
.line 4
# 调试器检测(如也不想杀进程,可继续屏蔽)
:try_start_2
invoke-virtual {p0}, Lcom/lvdoui9/android/tv/App;->g()Z
move-result v1
if-nez v1, :cond_42 # g()=true 表示调试模式,这里保留仅打印日志
invoke-static {}, Landroid/os/Debug;->isDebuggerConnected()Z
move-result v1
if-eqz v1, :cond_42
# ===== 检测到调试器 =====
# 下面这段杀进程/弹 Toast 也直接注释即可
# const-string/jumbo v1, "检测到调试器连接,应用将退出"
# invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
# invoke-static {}, Landroid/os/Process;->myPid()I
# move-result v1
# invoke-static {v1}, Landroid/os/Process;->killProcess(I)V
:try_end_24
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_24} :catch_25
goto :goto_42
:catch_25
... # 异常处理可保留,仅打印日志
:cond_42
:goto_42
return-void
.end method