记一次chrome插件调试

简介: 记一次chrome插件调试

前言


因为谷歌翻译退出中国,导致翻译不太好用了,所以去谷歌商店找了个用着还不错的翻译插件,没想到发现其全文翻译的功能每天只能使用3次,不限使用需要开会员。之前还没做过插件调试,这次就简单试试水,最后成功达到了目的,遂记录下。

1cf5b859caef069a7509d0cb05802bfc_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg


调试过程


思路


因为这个插件每天只能全文翻译三次,当超过次数后会弹窗提示,导致功能不可用。猜测肯定是哪里做了一个计数,同时还有会员、功能翻译次数的判断,那么思路无非就是修改这个判断的结果,从而达到无限制使用的目的

前置知识

Chrome插件基本由mainfest.json, content-script, background.js, popup组成

  •  mainfest.json: 插件的配置文件
  • content-script: 用来向页面注入cssjs
  • background.js: 常驻于浏览器的一个脚本, 始终在运行
  •  popup: 即点击插件的logo以后弹出的窗口


debug


打开chrome,在源码栏选择content scripts栏,全局搜索提示非会员每天定位到判断函数,随便在上面下个断点

f79d816b9d583b82e03abb8fa43a2021_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

点击插件翻译按钮,简单跟了几步就发现一个关键判断,这里的参数值不用关心是如何生成的,只需要知道这里判断return的结果会对上面的判断产生影响

f78b934e23b550e6512a918931233ff0_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

其中一个判断值就是i这个对象

d8f110b2f3f89651129a7b0c0d1c550d_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

i这个对象里面有个字典,其中pageTranslateLimit这个值中的times很关键

只需要将它每次修改为0,那么上面的次数判断就能绕过,充不充会员也就没啥意义了


修改覆盖


chrome的地址栏输入chrome://version/, 可以看到你的chrome根目录

2a61f1f9452e4d301becdb3a4f3be29c_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

在该目录下的Extensions是插件目录,右键插件图标管理扩展程序就能看到插件的id

9dab803c384ad4f17c32d68d1cc3584d_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

将原目录的文件拷出来,然后修改99.js文件,在关键函数下重新赋值即可

d82ff3dae3a366d13732ce31280c3fd9_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

然后删除原版插件,打开开发者模式,加载修改后的文件

8532f84d2b24fe65f349ec0dcb6dd299_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

然后就能愉快的无限制使用翻译功能了

e2b35986fe91a49091b8a39baaa865c0_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg


相关文章
|
1月前
|
Web App开发 JSON JavaScript
vue学习:chrome 中 vuetools 开发插件 的下载、安装
这篇文章介绍了如何在Chrome浏览器中下载、安装并测试Vue.js开发插件——vue-devtools。
287 0
vue学习:chrome 中 vuetools 开发插件 的下载、安装
|
3月前
|
Web App开发 JSON 前端开发
30个Chrome 灵魂插件!
30个Chrome 灵魂插件!
|
3月前
|
Web App开发 前端开发 JavaScript
手摸手教你,从0到1开发一个Chrome浏览器插件
开发 Chrome 插件既有趣又具成就感。本教程将引导你从零开始,逐步创建一个简单的 Chrome 插件。首先了解 Chrome 插件是可增强浏览器功能的小程序。以一个基础示例开始,你将学习如何设置开发环境,包括安装 Chrome 和准备文本编辑器,并掌握 HTML、CSS 和 JavaScript 的基础知识。接着,我们将构建插件的基本结构,涉及 `manifest.json` 配置文件、`background.js` 后台脚本、`popup.html` 用户界面以及 `style.css` 样式表。
320 8
|
3月前
|
Web App开发
Chrome 护眼模式 - 黑暗模式 - 夜眼(Night Eye) 插件
Chrome 护眼模式 - 黑暗模式 - 夜眼(Night Eye) 插件
155 0
Chrome 护眼模式 - 黑暗模式 - 夜眼(Night Eye) 插件
|
4月前
|
Web App开发 JavaScript 前端开发
Chrome插件实现问题之最新的 Chrome 浏览器架构有什么新的改变吗
Chrome插件实现问题之最新的 Chrome 浏览器架构有什么新的改变吗
|
4月前
|
JavaScript 前端开发 Web App开发
Chrome插件实现问题之单进程浏览器的不稳定主要体现在什么地方
Chrome插件实现问题之单进程浏览器的不稳定主要体现在什么地方
|
4月前
|
Web App开发 数据可视化 前端开发
Chrome插件实现问题之content-scripts能访问哪些Chrome API
Chrome插件实现问题之content-scripts能访问哪些Chrome API
|
4月前
|
Web App开发 前端开发 JavaScript
Chrome插件实现问题之用户在浏览器中输入URL后,浏览器进程会进行什么操作
Chrome插件实现问题之用户在浏览器中输入URL后,浏览器进程会进行什么操作
|
4月前
|
Web App开发 JavaScript 前端开发
Chrome插件实现问题之在Manifest V2中,设置插件的图标要如何解决
Chrome插件实现问题之在Manifest V2中,设置插件的图标要如何解决
|
4月前
|
缓存 安全 Web App开发
Chrome插件实现问题之网络进程接收到URL请求后会如何解决
Chrome插件实现问题之网络进程接收到URL请求后会如何解决