因为身边有人在使用DeepL,受到了5000字符限制的困扰,在B站上搜到有人说git上的一个项目可以用,就去看了下,发现这个有重大风险,并且这个东西一直有人在推,所以决定发个帖子来讲一下。
首先先讲下一般人最关心的部分,如何解除网页版5000字符限制。目前DeepL的网页版5000字符限制其实是依赖网页的cookie来实现的,所以最简单的解决方案有以下3种:
1. 右键页面空白部分,选择“检查”,也可以按快捷键F10
2. 打开后是控制台, 找到“应用程序-存储”,点击“清除网站数据”
3. 刷新页面,应该就可以了
浏览器进入私密模式的时候,不会记录cookie,这样DeepL也就没法知道是你用了5000字符,这样来绕过
如何进入私密模式请自行百度
2. 把DeepL的cookie加入“阻止”或者“退出时清除”,不确定阻止是否可用,存在可能性阻止后DeepL就直接不给用了
3. 添加“https://www.deepl.com”
好了,现在需要解决问题的人就可以走了,接下来是撕逼时间
-----------------------------------------------------------------------------------------------------------------------
DeepL-Crack这个项目来自git用户blueagler,以下为此项目的主界面
可以看到,这个项目里没有源代码,README的简介倒是做得像模像样的。
有人也提出是否能开源这个代码:
项目的所有者说,代码就在release里,因为是js,没有加密,所以直接可以看。于是我下载了这个文件进行检查。
整个文件的主文件叫deepl.js,打开后进行格式化后发现,这个文件是一个拥有20464行,充斥着大量不可读代码的文件,其中还包含了未能格式化的几个大长串,如下图:
并且整个代码是进行了混淆的,本质上不可读的
并且,在B站的推广视频里可以看到,这个插件安装上去后允许“On all Sites”启用的
另一个事实是,浏览器的这些插件,其实是可以非常容易的窃取你页面里输入的所有内容的。如果你允许未知来源的插件安装在浏览器上,并且允许它在所有的页面可以使用,那么这个插件是可以做到偷偷的截取你在别的网站输入的用户名密码,然后发送出去的。
总结:
因此,这个插件花了2W行不可读,无法进行代码审查的代码,实现了一个本质上最多手动点点几下的功能,并且默认允许这个插件在所有网站上运行,从个人经验来说,此插件存在极大的安全隐患。