今天上某个编程题网站做题,但是网站禁止粘贴代码。然而网站提供的编辑器也太难用了吧……
但是,在自己的编辑器里写好了,怎么粘贴进去呢?作为吾爱破解论坛的人,当然要:破!解!
0. 开始之前
在开始破解之前,我们先要解决掉可能影响破解的因素。比如,在这个网站中,不管你在哪一个页面上,浏览器的地址栏总是显示着主页的网址。一旦刷新页面,页面又会退回主页。打开DevTools,页面中有这样一行代码:[HTML] 纯文本查看 复制代码 <iframe src="https://www.i******n.com/app/******" style="height: 100%; width: 100%;"/> 原来这整个页面就是一个iframe!
所以在破解前,我们要直接访问上面的网址,方便接下来的破解。
1. 查找JS
来到了网站真正的主页,我们打开DevTools,切换到网络(Network)选项卡,在筛选器中选择“JS”。接下来,我们一路点到作业提交页面,会发现网站加载了很多JS。哪个才是我们要找的呢?我们只要刷新页面,显示的就只是当前网页加载的JS了。但是,列表中仍然显示着6个JS。事实上,一个网站中通常会有一些每一个页面都需要的JS。因此,我们退回上一个页面,刷新,再进入作业提交页,发现只新增了一个JS。而这正好就是控制作业提交的JS,也就是我们需要破解的JS。
2. 开始破解
找到了要破解的JS(就把它称为关键JS吧),把它右击另存为下来,打开一看,怎么只有一行?!对于大多数对网站了解的人来说,应该都知道这是压缩过了(对于不知道的坛友解释一下:因为JavaScript对于代码中的空格、缩进、换行基本没有要求,因此这些东西对于电脑来说不重要,可以全部删除来节省空间。不要认为它们微不足道,删掉它们哪怕只省掉了1MB,那也是好的),但是压缩过的代码人是看不懂的,因此我们要用格式化工具格式化一下。格式化完,我们就可以开始搜文本了。搜什么呢?凭经验,我们要搜“copy”(复制)和“paste”(粘贴)。搜索“copy”时,我们没有得到有用的信息。但是在搜索“paste”时,我们发现了一句重要的代码:[JavaScript] 纯文本查看 复制代码 o = t.task.allowPaste 很明显,这句代码把是否允许粘贴赋值给了“o”,要允许粘贴,只要给“o”赋值“true”就可以了!因此,我们可以把代码改为:[JavaScript] 纯文本查看 复制代码 o = true 这样我们的破解就成功了……
吗?
3. 拦截替换
虽然我们成功改掉了关键代码,但是我们的JS仍然在本地,我们只有让浏览器在加载JS时加载我们本地的JS而不是服务器上的,我们才能真正地破解成功。为此,我们要安装一款Chrome插件:ReRes。这款插件可以把资源请求拦截下来并重定向。在重定向规则中,我们只要让它把原站中的[Plain Text] 纯文本查看 复制代码 https://www.i*****n.com/assets/*****/16-5*********************b.js 替换为本地的[Plain Text] 纯文本查看 复制代码 file:///C:/Users/EXAMPLE/Desktop/16-5********************b.js 就可以了。
4. 一些后话
最后,经过测试,我们的破解确实成功了!很多时候,我们学破解,并不是为了显示自己很厉害,而是能在遇到实际问题时解决问题。以自己的技术,解决自己的问题,这就是破解给人的快乐所在。
小声说一句:这是我第一次写这么长的文章,如果有问题请各位指出,版主大大们如果发现问题麻烦删一下贴。 |