frida hook 弹框(Dialog)绕过强制更新

当在分析app时有些app的版本不是最新版本,会提示强制更新app,我们可以通过手段来绕过强制更新

  1. 先断网进入app,再打开网络
  2. frida hook弹框

hook之前需要以下几步

  1. 启动frida
  2. 开启端口转发
  3. 获取需要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()
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容