登录链接:https://yunpan.360.cn/mindex/login

这是一个md5 加密算法,直接使用 md5加密即可实现

本文讲解的是如何抠出js,运行代码

第一部:抓包

如图

    

第二步:调试,打断点;

    

第三步:找到js,扣出来;

    

第四部:运行js文件;

  

附js源码:

var chrsz = 8;

function hex_md5(e) {
return binl2hex(core_md5(str2binl(e), e.length * chrsz))
}
function b64_md5(e) {
return binl2b64(core_md5(str2binl(e), e.length * chrsz))
}
function str_md5(e) {
return binl2str(core_md5(str2binl(e), e.length * chrsz))
}
function hex_hmac_md5(e, t) {
return binl2hex(core_hmac_md5(e, t))
}
function b64_hmac_md5(e, t) {
return binl2b64(core_hmac_md5(e, t))
}
function str_hmac_md5(e, t) {
return binl2str(core_hmac_md5(e, t))
}
function md5_vm_test() {
return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72"
}
function core_md5(e, t) {
e[t >> 5] |= 128 << t % 32,
e[(t + 64 >>> 9 << 4) + 14] = t;
var n = 1732584193
, r = -271733879
, i = -1732584194
, s = 271733878;
for (var o = 0; o < e.length; o += 16) {
var u = n
, a = r
, f = i
, l = s;
n = md5_ff(n, r, i, s, e[o + 0], 7, -680876936),
s = md5_ff(s, n, r, i, e[o + 1], 12, -389564586),
i = md5_ff(i, s, n, r, e[o + 2], 17, 606105819),
r = md5_ff(r, i, s, n, e[o + 3], 22, -1044525330),
n = md5_ff(n, r, i, s, e[o + 4], 7, -176418897),
s = md5_ff(s, n, r, i, e[o + 5], 12, 1200080426),
i = md5_ff(i, s, n, r, e[o + 6], 17, -1473231341),
r = md5_ff(r, i, s, n, e[o + 7], 22, -45705983),
n = md5_ff(n, r, i, s, e[o + 8], 7, 1770035416),
s = md5_ff(s, n, r, i, e[o + 9], 12, -1958414417),
i = md5_ff(i, s, n, r, e[o + 10], 17, -42063),
r = md5_ff(r, i, s, n, e[o + 11], 22, -1990404162),
n = md5_ff(n, r, i, s, e[o + 12], 7, 1804603682),
s = md5_ff(s, n, r, i, e[o + 13], 12, -40341101),
i = md5_ff(i, s, n, r, e[o + 14], 17, -1502002290),
r = md5_ff(r, i, s, n, e[o + 15], 22, 1236535329),
n = md5_gg(n, r, i, s, e[o + 1], 5, -165796510),
s = md5_gg(s, n, r, i, e[o + 6], 9, -1069501632),
i = md5_gg(i, s, n, r, e[o + 11], 14, 643717713),
r = md5_gg(r, i, s, n, e[o + 0], 20, -373897302),
n = md5_gg(n, r, i, s, e[o + 5], 5, -701558691),
s = md5_gg(s, n, r, i, e[o + 10], 9, 38016083),
i = md5_gg(i, s, n, r, e[o + 15], 14, -660478335),
r = md5_gg(r, i, s, n, e[o + 4], 20, -405537848),
n = md5_gg(n, r, i, s, e[o + 9], 5, 568446438),
s = md5_gg(s, n, r, i, e[o + 14], 9, -1019803690),
i = md5_gg(i, s, n, r, e[o + 3], 14, -187363961),
r = md5_gg(r, i, s, n, e[o + 8], 20, 1163531501),
n = md5_gg(n, r, i, s, e[o + 13], 5, -1444681467),
s = md5_gg(s, n, r, i, e[o + 2], 9, -51403784),
i = md5_gg(i, s, n, r, e[o + 7], 14, 1735328473),
r = md5_gg(r, i, s, n, e[o + 12], 20, -1926607734),
n = md5_hh(n, r, i, s, e[o + 5], 4, -378558),
s = md5_hh(s, n, r, i, e[o + 8], 11, -2022574463),
i = md5_hh(i, s, n, r, e[o + 11], 16, 1839030562),
r = md5_hh(r, i, s, n, e[o + 14], 23, -35309556),
n = md5_hh(n, r, i, s, e[o + 1], 4, -1530992060),
s = md5_hh(s, n, r, i, e[o + 4], 11, 1272893353),
i = md5_hh(i, s, n, r, e[o + 7], 16, -155497632),
r = md5_hh(r, i, s, n, e[o + 10], 23, -1094730640),
n = md5_hh(n, r, i, s, e[o + 13], 4, 681279174),
s = md5_hh(s, n, r, i, e[o + 0], 11, -358537222),
i = md5_hh(i, s, n, r, e[o + 3], 16, -722521979),
r = md5_hh(r, i, s, n, e[o + 6], 23, 76029189),
n = md5_hh(n, r, i, s, e[o + 9], 4, -640364487),
s = md5_hh(s, n, r, i, e[o + 12], 11, -421815835),
i = md5_hh(i, s, n, r, e[o + 15], 16, 530742520),
r = md5_hh(r, i, s, n, e[o + 2], 23, -995338651),
n = md5_ii(n, r, i, s, e[o + 0], 6, -198630844),
s = md5_ii(s, n, r, i, e[o + 7], 10, 1126891415),
i = md5_ii(i, s, n, r, e[o + 14], 15, -1416354905),
r = md5_ii(r, i, s, n, e[o + 5], 21, -57434055),
n = md5_ii(n, r, i, s, e[o + 12], 6, 1700485571),
s = md5_ii(s, n, r, i, e[o + 3], 10, -1894986606),
i = md5_ii(i, s, n, r, e[o + 10], 15, -1051523),
r = md5_ii(r, i, s, n, e[o + 1], 21, -2054922799),
n = md5_ii(n, r, i, s, e[o + 8], 6, 1873313359),
s = md5_ii(s, n, r, i, e[o + 15], 10, -30611744),
i = md5_ii(i, s, n, r, e[o + 6], 15, -1560198380),
r = md5_ii(r, i, s, n, e[o + 13], 21, 1309151649),
n = md5_ii(n, r, i, s, e[o + 4], 6, -145523070),
s = md5_ii(s, n, r, i, e[o + 11], 10, -1120210379),
i = md5_ii(i, s, n, r, e[o + 2], 15, 718787259),
r = md5_ii(r, i, s, n, e[o + 9], 21, -343485551),
n = safe_add(n, u),
r = safe_add(r, a),
i = safe_add(i, f),
s = safe_add(s, l)
}
return Array(n, r, i, s)
}
function md5_cmn(e, t, n, r, i, s) {
return safe_add(bit_rol(safe_add(safe_add(t, e), safe_add(r, s)), i), n)
}
function md5_ff(e, t, n, r, i, s, o) {
return md5_cmn(t & n | ~t & r, e, t, i, s, o)
}
function md5_gg(e, t, n, r, i, s, o) {
return md5_cmn(t & r | n & ~r, e, t, i, s, o)
}
function md5_hh(e, t, n, r, i, s, o) {
return md5_cmn(t ^ n ^ r, e, t, i, s, o)
}
function md5_ii(e, t, n, r, i, s, o) {
return md5_cmn(n ^ (t | ~r), e, t, i, s, o)
}
function core_hmac_md5(e, t) {
var n = str2binl(e);
n.length > 16 && (n = core_md5(n, e.length * chrsz));
var r = Array(16)
, i = Array(16);
for (var s = 0; s < 16; s++)
r[s] = n[s] ^ 909522486,
i[s] = n[s] ^ 1549556828;
var o = core_md5(r.concat(str2binl(t)), 512 + t.length * chrsz);
return core_md5(i.concat(o), 640)
}
function safe_add(e, t) {
var n = (e & 65535) + (t & 65535)
, r = (e >> 16) + (t >> 16) + (n >> 16);
return r << 16 | n & 65535
}
function bit_rol(e, t) {
return e << t | e >>> 32 - t
}
function str2binl(e) {
var t = Array(), n = (1 << chrsz) - 1;
for (var r = 0; r < e.length * chrsz; r += chrsz)
t[r >> 5] |= (e.charCodeAt(r / chrsz) & n) << r % 32;
return t
}
function binl2str(e) {
var t = ""
, n = (1 << chrsz) - 1;
for (var r = 0; r < e.length * 32; r += chrsz)
t += String.fromCharCode(e[r >> 5] >>> r % 32 & n);
return t
}
function binl2hex(e) {
var t = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"
, n = "";
for (var r = 0; r < e.length * 4; r++)
n += t.charAt(e[r >> 2] >> r % 4 * 8 + 4 & 15) + t.charAt(e[r >> 2] >> r % 4 * 8 & 15);
return n
}
function binl2b64(e) {
var t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
, n = "";
for (var r = 0; r < e.length * 4; r += 3) {
var i = (e[r >> 2] >> 8 * (r % 4) & 255) << 16 | (e[r + 1 >> 2] >> 8 * ((r + 1) % 4) & 255) << 8 | e[r + 2 >> 2] >> 8 * ((r + 2) % 4) & 255;
for (var s = 0; s < 4; s++)
r * 8 + s * 6 > e.length * 32 ? n += b64pad : n += t.charAt(i >> 6 * (3 - s) & 63)
}
return n
} function test(pwd){ return hex_md5(pwd)
} var pwd = '' test(pwd)

这是一个非常简单的js加密,适合入门学习教程

Python 爬虫js加密破解(四) 360云盘登录password加密的更多相关文章

  1. python爬虫---js加密和混淆,scrapy框架的使用.

    python爬虫---js加密和混淆,scrapy框架的使用. 一丶js加密和js混淆 js加密 ​ 对js源码进行加密,从而保护js代码不被黑客窃取.(一般加密和解密的方法都在前端) http:// ...

  2. [IT新应用]家用NAS,自建“360云盘”

    360云盘也快要离开了.同事中有人开始尝试使用群晖NAS.西数的NAS来自建云了. [功能对比] [选择参数] [口碑评价]

  3. 哭瞎!360云盘将关停,你的几十T照片和文件该怎么办

    IDO老徐刚得到了一个非常不开心的消息,360云盘将停止个人云盘服务...进行业务转型,在网盘存储.传播内容的合法性和安全性得到彻底解决之前不再考虑恢复,之后转型企业云服务. 而且之前共享的所有资料, ...

  4. 为什么要关闭360云盘:新来的美工嫌我们logo太丑,所以就决定关闭了。这个理由怎么样

    新来的美工嫌我们logo太丑,所以就决定关闭了.这个理由怎么样曾经拥有的不要忘记:不能得到的更要珍惜:属于自己的不要放弃:已经失去的留作回忆.我刚来~~~嘿嘿~~ 久经考验的,忠诚的国际宅男主义战士, ...

  5. 关于 iOS10 更新后 360 云盘 的上传按钮消失的解决方案

    最近出了iOS10,作为iOS开发者,果断更新. 但是更新完后,打开自己的360云盘,发现想向云盘上传东西,但是传不了,加号按钮不见了. 经过我的研究,原因是 下面的自定义tabbar放置加号按钮的方 ...

  6. PC 端 360 云盘初体验

    首先吐槽一下安装软件,文件名是 360wangpan,安装好后软件名称是"360云盘",好歹得统一下嘛,不然还以为下错了安装文件呢. 一般使用和其他网盘差不多,速度也还行,但还是没 ...

  7. 应用360云盘与SVN版本管理服务器搭建基于云端的版本控制软件

    步骤一:(安装软件) 1.TortoiseSVN 2.VisualSVN-Server-2.71 3.安装云盘客户端360wangpan_setup 步骤二:(VisualSVN Server设置) ...

  8. 《刺杀金正恩》1080p全高清无水印,附中文字幕 bt种子下载,附字母(百度网盘/360云盘)

    <刺杀金正恩>1080p全高清无水印,附中文字幕下载(百度网盘/360云盘) 种子和字幕下载地址: thunder://QUFlZDJrOi8vfGZpbGV8JUU5JTg3JTg3JU ...

  9. (原创)高仿360云盘android端的UI实现

    前些日子几大互联网巨头展开了一轮网盘空间大战.一下子从G级别提高到了T级别.以后谁的空间没有1T估计都不好意思开口了~~~ 试用了一下360云盘的客户端,比较小清新(不是给360打广告~~~).刚好U ...

随机推荐

  1. Linux磁盘空间不足

    Linux磁盘空间不足 描述:zabbix报警磁盘空间不足 1.登录服务器,查看磁盘空间 2.筛选空间占用的文件 层层筛选 3.将没用的文件删除 rm -f /opt/export/log/np_se ...

  2. 解决net core mvc 中文乱码问题

    在Startup 配置文件下的ConfigureServices方法中添加:    services.AddSingleton(HtmlEncoder.Create(UnicodeRanges.All ...

  3. 使用Docker Compose搭建Service Mesh

    使用Docker Compose搭建Service Mesh 本文将介绍如何使用Docker Compose搭建Istio.Istio号称支持多种平台(不仅仅Kubernetes).然而,官网上非基于 ...

  4. Three.js场景的基本组件

    1.场景Scene THREE.Scene被称为场景图,可以用来保存所有图形场景的必要信息.每个添加到Scene的对象,包括Scene自身都继承自名为THREE.Object3D对象.Scene不仅仅 ...

  5. Java基础教程(26)--反射

    一.类   对于每一种类型的对象,Java虚拟机都会实例化一个java.lang.Class类的不可变实例.该实例提供了获取对象的运行时属性的方法,包括它的成员和类型信息.Class类还提供了创建新实 ...

  6. day56——http协议、MVC和MTV框架模式、django下载安装、url路由分发

    day56 昨日复习 今日内容 HTTP协议 网页:https://www.cnblogs.com/clschao/articles/9230431.html 老师整理的重点 老师整理的重点 请求信息 ...

  7. Java线程本地存储ThreadLocal

    前言 ThreadLocal 是一种 无同步 的线程安全实现 体现了 Thread-Specific Storage 模式:即使只有一个入口,内部也会为每个线程分配特有的存储空间,线程间 没有共享资源 ...

  8. jupyter notebook在 mac 使用

    1. 查看当前 conda 所拥有的环境列表 conda env list 2. 选择要进入的环境 source activate your_env_name 3. 启动 jupyter jupyte ...

  9. Hibernate的关联映射--一对多、

    这是我 1 单向一对多: 实体类:(课程类)Grade与(学生类)Student的一对多关系 学生类: public class Student implements java.io.Serializ ...

  10. pyspark学习笔记

    记录一些pyspark常用的用法,用到的就会加进来 pyspark指定分区个数 通过spark指定最终存储文件的个数,以解决例如小文件的问题,比hive方便,直观 有两种方法,repartition, ...