遇到强制更新的页面,可以选择两种方式:
- 先断网,进入系统,然后再打开网络
-一进入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()
标签:script,App,rdev,tcp,import,绕过,强制,UpdateDialog,message
From: https://www.cnblogs.com/pdxt666/p/17630556.html