首页 > 其他分享 >【Frida】调试js代码

【Frida】调试js代码

时间:2023-02-01 17:44:30浏览次数:41  
标签:script demo app js device Frida message 调试

方法一attach启动

js代码动态注入app,app需要保持运行状态

# coding: utf-8
import sys
import frida

app_name = "猿人学APP" # app的名字
js_file_path = "./demo.js" # js代码的文件位置


def on_message(message, data):
    if message['type'] == 'send':
        print("[*] {0}".format(message['payload']))
    else:
        print(message)
with open(js_file_path,mode="r",encoding="utf8") as f:
    js_demo = f.read()
process = frida.get_usb_device(-1).attach(app_name)
script = process.create_script(js_demo)
script.on('message', on_message)
script.load()
sys.stdin.read()

方法二spawn 启动

重启app,app时就注入hook代码

# coding: utf-8
import sys
import frida

app_packagename = "com.yuanrenxue.challenge" # app的包名
js_file_path = "./demo.js" # js代码的文件位置


def on_message(message, data):
    if message['type'] == 'send':
        print("[*] {0}".format(message['payload']))
    else:
        print(message)
with open(js_file_path,mode="r",encoding="utf8") as f:
    js_demo = f.read()


device = frida.get_usb_device(-1)
pid = device.spawn([app_packagename])
process = device.attach(pid)

script = process.create_script(js_demo)
script.on('message', on_message)
print('[*] Running')
script.load()

device.resume(pid)

sys.stdin.read()

标签:script,demo,app,js,device,Frida,message,调试
From: https://www.cnblogs.com/xsir161/p/17083662.html

相关文章

  • json .net 反序列化
    引用链接https://www.cnblogs.com/nice0e3/p/15294585.html#%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E6%94%BB%E5%87%BBhttps://www.anquanke.com/post/id/172920#h3-3j......
  • 书城9 - 前后端 json 数据的交互
    解析请求中的json数据,返回json数据1.加入Gson.jar包2.通过输入流读取数据,使用Gson对象解析字符串protectedvoidrequestBodyJSON(HttpServletRequestrequ......
  • 2023年JS学习记录
    2023/1/30星期一https://blog.csdn.net/Augenstern_QXL/article/details/119249534短路运算(逻辑中断)短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时......
  • 数据交换格式JSON和xml
    数据交换格式,就是服务器端与客户端之间进行数据传输与交换的格式前端领域,经常提及的两种数据交换格式分别是XML和JSON。其中XML用的非常少,所以,我们重点要学习的数据......
  • JSTL常用标签choose和foreach常用标签
    JSTL的常用标签choosechoose相当于java代码中的switch语句完成数字编号对应星期几案例1、域中存储数字2、使用choose标签取出数字 相当于switch声明......
  • nodejs 版本管理器 nvm
    安装过程C:\Users\GSGK\AppData\Roaming\nvm下载地址:https://github.com/coreybutler/nvm-windows/releasesnvm-setup.zip解压后,双击exe进行安装nvm-setup.exe验证......
  • Go入门到入土(一):开发环境安装与调试
    Go入门到入土(一):开发环境安装与调试1.安装Go按照以下步骤安装Go:在Web浏览器中,转到“go.dev/doc/install”。下载操作系统的版本。下载后,运行安装程序。打开命......
  • JSTL概述和JSTL常用标签if
    JSTL概述1.概念:JavaServlet Pages Tag Library(JSP标准标签库)是由Apache组织提供的开源的免费的jsp标签<标签>2.作用:用于简化和替换jsp页面......
  • 云小课|手把手教您在PyCharm中连接云端资源进行代码调试
    摘要:让我们看看如何在PyCharm中连接云端资源进行代码调试吧!本文分享自华为云社区《【云小课】EI第54课手把手教您在PyCharm中连接云端资源进行代码调试》,作者:HelloEI。......
  • 使用dayjs制作倒计时工具
    引入脚本<scriptsrc="https://cdn.bootcdn.net/ajax/libs/dayjs/1.11.7/dayjs.min.js"></script><scriptsrc="https://cdn.bootcdn.net/ajax/libs/dayjs/1.11.7/plug......