首页 > 其他分享 >Chrome修改Js以及保存资源

Chrome修改Js以及保存资源

时间:2024-02-14 16:34:05浏览次数:26  
标签:NotifyFinished Chrome SharedBuffer Js 修改 NotifyDataReceived

Chrome 有pdb下载, 但是需要梯子, 没法下载只能分析dll
程序有源码可以辅助 github 可以下载, 速度慢可以从镜像下载 521github.com
Js的修改

  1. 尝试在 ScriptCompiler::Compile 修改,
  2. ClassicScript_RunScriptAndReturnValue, 这些都有缺陷: 修改的js 在源码中看不到
  3. ScriptResource_SourceText, 修改后的资源不好释放
  4. TextResource_DecodedText
    最终在这4修改, 修改方法
  5. Hook 该函数
  6. ScriptResource 获取 KUR, SharedBuffer
  7. 修改 SharedBuffer 的数据,调用原函数
  8. SharedBuffer 数据改回去

保存资源, 尝试方法

  1. ResourceFetcher_HandleLoaderFinish
  2. Resource_NotifyDataReceived
  3. Resource函数Release, NotifyFinished, NotifyDataReceived
    最终用3; 方法1,2的问题: 部分资源没有数据, 因为数据在 NotifyDataReceived 时, 直接用回调函数发出去, 没有保存在对象, 所以只能在这3个函数处理:Release, NotifyFinished, NotifyDataReceived
    NotifyDataReceived 时保存数据
    NotifyFinished时 数据完成
    Release 释放数据

标签:NotifyFinished,Chrome,SharedBuffer,Js,修改,NotifyDataReceived
From: https://www.cnblogs.com/zzz3265/p/18015279

相关文章

  • Debug: tf-distribute-strategy-worker: json.decoder.JSONDecodeError: Expecting pr
    [ERROR:json.decoder.JSONDecodeError:Expectingpropertynameenclosedindoublequotes:line1column182]#infilepipeline.yaml-name:TF_CONFIGvalue:"{\"cluster\":{\"worker\":[\"dist-s......
  • Jsoup的快速使用--简单实用
    Jsoup的使用通常分为四步:1.导入jar包2.加载XML文档进内存,获取DOM树对象Document2.1获取类加载器ClassLoaderclassLoader=Demo1.class.getClassLoader();2.2使用类加载器找到XML文档的路径Stringpath=classLoader.getResourc......
  • 树状数组区间修改区间查询
    树状数组区间修改区间查询问题——两种操作给定\(l,r,x\),将\([l,r]\)这个区间内的所有值都加上\(x\)给定\(l,r\)求出\([l,r]\)的区间和这道题肯定要用前缀和和差分,那么大体框架可以出来了//操作一:update(l,x),update(r+1,-x);//操作二query(r)-query(l......
  • SharePoint Online 使用pnp.js获取超过5000条项目的列表数据
    前言我们在使用SharePointOnlineFramework解决方案的时候,经常会碰到获取列表数据,然后数据总量超过5000的情况。这种情况,我们就需要用分页的方式多次获取数据了,我们今天简单介绍下。正文1.废话少说,直接上代码(老版本的pnpjs可能没有这个方法,如果没有的话......
  • p5js: JavaScript 创意绘画
    p5js是一个免费开源的Javascript创意绘画工具,通过p5js可以实现代码绘画01鼠标变色鼠标触发绘画区域,即马上变色,松开恢复functionsetup(){createCanvas(400,400);//设置画布大小}functiondraw(){if(mouseIsPressed)//被鼠标触发{background(255,51,......
  • P4559 [JSOI2018] 列队 题解
    题目链接:列队半年前mark的题,结果现在一下子就会做了。顺便写写我的手玩过程和复杂度说明。考虑比较特殊的情况:比较特殊的,发现从黑色到红色区间我们无论咋选择,由于\(\left|a_{right}-a_{left}\right|\),这玩意如果\(right\)表示红色的一边,那么这个绝对值可以直接拆掉,那么......
  • nodejs如何更新(4种方法)
    node.js是一个开放源代码的跨平台javascript运行环境,它在不同的平台上都得到了广泛使用和支持。强大的生态系统、持续的更新和不断改进的性能使得node.js非常受欢迎。然而,更新node.js仍然是一个必要的过程,因为它可以保证应用程序的安全性和稳定性,同时也可以让你获得新的功能和性能......
  • 三十一、JS第三方插件
    kindediter#textarea,用于富文本输入<textareaid="editor_id"name="content"style="width:700px;height:300px;"></textarea>{%csrf_token%}#加入csrf_token,提交时,手动拿到token去提交<buttononclick="submit();">回复<......
  • 二十一、JS笔记
    JSONimportjson#对象转字符串str=json.dumps(dict,ensure_ascii=False)#ensure_ascii=True或不设置str=json.dumps(dict)#这时前端拿到的是未解码的数据:{"key1":"\u7528\u6237\u8f93...",...}obj=json.loads(str)#字符串转对象jsJSON.parse(str)#字符......
  • [RxJS] firstValueFrom/lastValueFrom (convert observable to promise)
    Convertsanobservabletoapromisebysubscribingtotheobservable,andreturningapromisethatwillresolveassoonasthefirstvaluearrivesfromtheobservable.Thesubscriptionwillthenbeclosed.WARNING:Onlyusethiswithobservablesyou know ......