马某一到组里,所有在电脑前的人便都看着马某笑,有的叫道,“马某,你脸上又添上新伤疤了!”马某不回答,打开电脑,“打开QQ,登录钉钉微信。”便使劲敲击键盘。他们又故意的高声嚷道,“你一定又去摸鱼了!马某便睁大眼睛说,“你怎么这样凭空污人清白……”“什么清白?我前天亲眼见你在上班时间摸鱼被抓,吊着打。”马某便涨红了脸,额上的青筋条条绽出,争辩道,“涨姿势不能算摸鱼鱼……长见识!……学习的事,能算摸鱼么?”接连便是难懂的话,什么“注释写的太清楚了”,什么“代码被看得内裤都不剩了”之类,引得众人都哄笑起来:组内外充满了快活的空气。
罗学长闲下来的时候,给我推荐了一个网站,叫“程序员大礼包”,里面很多常用的工具,打开网站,映入眼帘的就是:
“精心为程序员精选了68款常用软件,覆盖整个生产周期,帮你节约寻找软件的时间,让你有更多的时间陪伴家人,朋友”
只要19.9,整个网站资源打包带走!
这个感觉,emmm。。先往下看看有什么东西,一些免费的正版软件,可以直接点击跳转。需要收费的正版软件,有破解版的,但是点击却弹出花钱买VIP的弹窗,PDF和视频也全都要VIP。
往下看看,还有Chrome插件,一些计算机类的PDF,还有超多的课程,看到这些课程的名字,我就有种不太对劲的感觉,不会直接给传送到Bilibili吧,要真是这样,那可太离谱了。
临时起意,学长突然跟我说,咱俩破解一下试试?上次跟着吾爱大佬破解一个HTML格式的PDF,我觉得自己行了,说干就干!
(当时的步骤已经忘了,以下为自己操作的步骤)
第一步
第一步当然是打开开发者工具了!不出所料,F12 又被禁用了,行呗,直接ctrl+shift+i
打开
断点调试
点击那些收费的资源,会弹出一个让购买VIP的弹窗,好嘞,就决定是你了,审查元素找到这个弹窗,发现内联样式有个display:none
,然后给弹窗标签加上属性修改的断点。再让他弹一次!,好的,成功跳转到指定的代码,接下来就轮到看代码的步骤,,,,卧槽,等下,这文件名不对劲啊.........jquery.js
直接看代码!
看看我发现了什么!只有一个JS文件,还是中文注释!这还等什么,直接拷贝下来到VSCode里慢慢看!
这命名规范,简直是吾辈楷模,建议大家都好好学学人家的命名,先去看看有中文的地方。
视频获取
这不看不知道一看吓一跳,看看我发现了什么,还真是B站的视频,如果我没记错的话,后面跟的应该是BV号,resourceId
的值我看下啊,嘶.....id属性啊,我去看一眼元素
啊, 啊这, emmm,怎么说呢,瞎猫碰到死耗子?以后要好好学习,不要也整成这样,知识就是力量,知识就是财富,(已经花钱的老板糊涂啊)
软件获取
继续往下看代码,这个大大的alert("获取资源失败")立马吸引到了我的眼球,往上一看,哟,这命名,真别致,获取到resourceResolute
后,将data传到dec中得到resourceJson
,这就去httpGetResource()
看看资源怎么获取到的
function httpGetResource() {
let result;
$.ajax({
type: "GET",
async: false,
url: apiHost + "/resource",
dataType: 'json',
success: function (data) {
result = data
}
});
return result;
}
直接发Get请求获取的啊,url是上面的apiPost/resource,也不那么麻烦去发请求了,直接在该网页的控制台调用一下这个方法
把data内容复制一下,这明显是加密过的内容,上面的
JSON.prase(dec())
还有个dec(),应该就是解密了,去瞅一眼恩,注释写的也很清楚,内容虽然我看不懂,但是你注释告诉我这是干什么的了,我也不看了,直接还是在控制台运行
JSON.prase(dec( ))
吧,刚才复制的data作为参数OK,东西拿到了,小三角一点开,软件链接都在,有Github,华为云,蓝奏网盘,以及免费软件的官网。
找了一圈没找到PDF在哪里获取,我还以为是我看错了呢
翻了翻代码,发现这个就更离谱了
这个网站是挺不错,但是你不直接给PDF就有点过分了啊
总结
这个网站是纯JQuery实现的,命名很规范,注释虽然几乎没有,但是重要的地方都写的很清楚,泪目,能见到这样的代码太感动了,上次那个破解那个,连代码都是加密的,十分不人性化