当在分析app时有些app的版本不是最新版本,会提示强制更新app,我们可以通过手段来绕过强制更新
- 先断网进入app,再打开网络
- frida hook弹框
hook之前需要以下几步
- 启动frida
- 开启端口转发
- 获取需要hook包的包名
# 枚举手机上的所有进程 & 前台进程,找到需要hook的包名
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)
#####2 手机端启动frida,端口转发######
##### 3 写hook脚本#####
import frida
import sys
rdev = frida.get_remote_device()
pid = rdev.spawn(["com.xx.yy"]) # 需要hook的包名
session = rdev.attach(pid)
scr = """
Java.perform(function () {
// 这里对应的是Dialog的方法,根据实际情况进行修改
var UpdateDialog = Java.use('com.azhon.appupdate.dialog.UpdateDialog');
UpdateDialog.show.implementation = function(ctx){
console.log("执行了");
//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()