• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
山城小跳
博客园    首页    新随笔    联系   管理    订阅  订阅

如何绕过App的强制更新

遇到强制更新的页面,可以选择两种方式:

- 先断网,进入系统,然后再打开网络

-一进入app,会检查版本更新,如果发现版本较老,会提示更新,一般这种功能写在第一个页面中,换到别的页面就不会再提示了

- 找到源码的位置,将强制更新的页面不要弹出(此时,后端API必须得是可用的状态)

1:获取进程名称

# 枚举手机上的所有进程 & 前台进程,找到 识货的包名
import frida

# 获取设备信息
rdev = frida.get_remote_device()

# 枚举所有的进程
processes = rdev.enumerate_processes()
for process in processes:
    print(process)

# 获取在前台运行的APP
front_app = rdev.get_frontmost_application()
print(front_app)
# Application(identifier="com.hupu.shihuo", name="识货", pid=28602, parameters={})

2.端口转发

import subprocess

subprocess.getoutput("adb forward tcp:27042 tcp:27042")
subprocess.getoutput("adb forward tcp:27043 tcp:27043")

3.hook脚本

import frida
import sys

rdev = frida.get_remote_device()
pid = rdev.spawn(["com.hupu.shihuo"])
session = rdev.attach(pid)
scr = """
Java.perform(function(){
    //包,类  com.azhon.appupdate.dialog.UpdateDialog
    var UpdateDialog = Java.use("com.azhon.appupdate.dialog.UpdateDialog")
   
    //hook替换
    UpdateDialog.show.implementation = function(){
    console.log("++++++++show来啦++++++++++++++");
    //this.show();
    } 
   
});       
"""
script = session.create_script(scr)


def on_message(message, data):
    print(message, data)


script.on("message", on_message)
script.load()
rdev.resume(pid)
sys.stdin.read()
posted @ 2023-08-15 09:58  字母一哥  阅读(5004)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3