美文网首页后浪 · 正青春
记一次跟随跟随吾爱大佬帖子破解有限制的网页pdf

记一次跟随跟随吾爱大佬帖子破解有限制的网页pdf

作者: 日之朝矣 | 来源:发表于2021-09-08 23:01 被阅读0次

起因:


R语言老师发了一个压缩包,压缩包内有两个HTML格式的文件,解压出来打开HTML文件,却发现内容是以PDF形式展示的,而且在右上角还有着授权码,剩余阅读次数,看着这些玩意儿,我陷入了沉思,原来PDF也能加密了吗?!


自己尝试搞:


既然是老师发的东西,肯定是好多人都一起用的,这限制了阅读次数,那还让不让人看了,我这边看十次,别人不都看不了了,不行,得想办法整一下。

第一次

第一个想到的方法是直接HTML转PDF,用各种转换器如:福昕高级PDF编辑器,PDFCandy,网页在线转换。

  • 福昕高级PDF编辑器:error
  • PDFCandy:转换出来的PDF只有1KB,打开无内容
  • 在线HTML转PDF:超过文件大小限制

结果:全灭

第二次

第二个想到的方法是PDF去密码工具,然后反应过来,我这现在还是HTML格式,没法用。

第三次

第三个方法:网络搜索! 抱着试一试的心态先去 吾爱破解论坛 搜了一下,好家伙,还真有,可怜巴巴的两个搜索结果正好有一个符合我的需求,这里链接奉上:

记一次有限制的网页pdf破解- 吾爱破解

跟随大佬帖子进行操作


帖子里只是记录了大佬的破解过程,看了下大概,我觉得我也可以重现!

初步分析

首先是打开控制台,F12没用,ctrl+shift+i或者直接从浏览器选项的更多工具里都能打开,估计是js里把F12禁用了吧,用VSCode打开这个网页文件,前面代码还真是这样


直接用浏览器打开这玩意儿,显示的是这样(自己作死想试试剩余阅读次数为0次时会发生什么,然后就把阅读次数消耗完)

一个html却有40多M,数据肯定都在本地,这点大佬的帖子里指出来了,而且直接猜测是base64。
直接往后看,看到了三个eval(),这个玩意儿当时在学js的时候看到过,但没看懂到底该咋用

接受一个参数,如果eval()被调用时,会将参数解释为实际的ECMAScript语句,然后插入当前位置,通过eval()执行的语句属于调用位置的上下文

算了还是跟着大佬继续往下看,在弹窗出现时断点,然后点确定,断到后,格式化下代码,发现了一些东西


往下翻一下,同样找到了这玩意儿,果然,,我这份PDF和大佬那份是同一个类型的限制,虽然大佬在文章里吐槽过一次这个判断,我也想再吐槽一次,这特么,直接摆明了呗。


之后两种方式来去除限制
先把msg == 'true'时,里面的代码复制一下

第一种

在打开文件后,网页弹窗 “您阅读时间已经到期…………” 时,点一次确定,然后刷新,这次弹窗后先别点确定,ctrl+shift+i打开开发人员工具,找到控制台,把复制到的东西直接粘贴到输入栏,点回车,然后会发现没反应,控制台的东西压根就没发出去,就像自己没点到回车一样,这都是正常的,再点一下弹窗的确定,会发现已经能正常阅读了,控制台的代码也发出去成功运行了。这也是帖子中大佬的操作,个人感觉每次打开都要搞一遍挺烦的,直接看第二种方法吧。

这里大佬进行了一步代码解密,无奈我实在太菜,重现不了大佬这一步,但是对之后的操作没有影响

第二种

到这里后,用vscode打开这个HTML,找到这个地方,if里面的东西剪切出来,然后把判断给删掉保存,就完事了,虽然不是PDF格式,但没了阅读限制,正常使用是没问题了,也能发给别人用了。

提取密码,保存为PDF

在通过上一步第一种方法时,能看到一瞬间的密码输入框,翻了翻帖子发现,之后PDF提取出来后,PDF是含有密码的。
大佬列出了两种方法,无奈看不懂JS解密法,还是滚回去看劫持事件法吧。

劫持事件法

在开发者工具里的Element中,找到那一瞬间的密码输入框在html中的位置,给确定按钮加一个断点


然后刷新页面,点击弹窗里的确定,这时候开发者工具会自动跳出来

格式化代码

点击3的位置,定位到修改代码的地方,给这里加上断点this.input.value指的应该就是输入框里的密码了

之后的操作震惊到我了,原来还可以这样!
加上断点后刷新页面


恢复执行,然后格式化代码,鼠标放在this.input.value上,密码便出现了,就是%qwerASDF.+,这个密码就是PDF文档的密码

下载PDF

把下面代码复制到控制台,执行,便能得到PDF文件,PDF的密码就是上一步的密码

var bstr = atob(PDFData)//atob()方法将base64数据解码
var leng = bstr.length//获取文件长度
var u8arr = new Uint8Array(leng)//新建Uint8数组存放字节
while(leng--){
    u8arr[leng] =  bstr.charCodeAt(leng)//转Unicode编码
}
const blob = new Blob([u8arr], {type:'application/pdf'});//新建blob协议
const fileName = `jiemipdf.pdf`;//文件名
const link = document.createElement('a');//新建a链接标签
link.href = window.URL.createObjectURL(blob);//添加下载地址
link.download = fileName;//文件名
link.click();//模拟点击事件
window.URL.revokeObjectURL(link.href);//执行下载操作

总结

虽然我几乎是跟着大佬完全来了一遍,但成功将PDF整出来的成就感还是满满的,吾爱论坛注册三年了,第一次成功跟着大佬完成了破解,泪目,老白嫖怪了。

相关文章

  • 记一次跟随跟随吾爱大佬帖子破解有限制的网页pdf

    起因: R语言老师发了一个压缩包,压缩包内有两个HTML格式的文件,解压出来打开HTML文件,却发现内容是以PDF...

  • [Css]小成果(层叠跟随导航栏),顺便来看看手绘

    做一个网页跟随导航栏 1.跟随栏无论随着网页的拖动,始终固定在一个相对位置。 2.跟随栏有4个选择,每个选择有3个...

  • 【悦读分享】8.6班 张泰一如 李宁舟 陈鑫隆(一)

    《昆虫记》读书心得 读法布尔的《昆虫记》就是在跟随着作者破解谜题。在这里,你可以进入小动物们...

  • 获取 google api tkk值以及 tk 值计算——纯Py

    1. 获取 tkk 值 吾爱破解上有朋友对https://translate.google.cn/网页进行分析来获...

  • 产品经理如何构建优质人脉圈

    去年前同事A跟随某技术大佬一起跳到某门户站做产品负责人,最近又跟随这位技术大佬创业去做区块链项目。两年前这位前同事...

  • 跟随毕竟是跟随

    前段时间看到一则商业评论,讲的是短视频领域的厮杀,这也让我不禁想起那个不温不火的视频号。 这是一个微信里的短视频,...

  • 跟随

    从市场走出来,洛林紧了紧身上的大衣,尽管新年早已过去,冬天却似乎还不曾离开。他拎着刚买好的菜准备回孤儿院,出...

  • 跟随

    有许多人因为看见他在病人身上所行的神迹,就跟随他。 (约翰福音 6:2 和合本) 跟随这个词,在新约里有25次跟,...

  • 跟随

    人的行为很容易受他人的影响,一个人影响另一个人,一群人影响另一群人,导致某一股影响的力量会像滚雪球一样越来越大。跟...

  • 跟随

    默默地在你身旁跟随, 看你的婀娜背影, 听你的纯美声音, 紧紧的跟随你的步伐, 穿越拥挤的人潮, 慢慢地跟随, 是...

网友评论

    本文标题:记一次跟随跟随吾爱大佬帖子破解有限制的网页pdf

    本文链接:https://www.haomeiwen.com/subject/cvmpwltx.html