大家好,欢迎来到IT知识分享网。
网址:拍拍贷
登陆页面,找登陆包,密码和用户名都进行了加密。
直接参数搜索 ,一眼下面的第二条,直接点击进入
加密位置打上断点分析,一个加密嵌套另一个加密。
中间的e.md5好像是md5加密,打印一下看看
现在都记住了,这就是小写的md5加密。好了,解决了一个,进入encrypt函数。发现是一个原型链函数,打上断点分析。
发现里面还嵌套一个函数this.getKey().encrypt(t),经过这个函数后,再经过u函数就得到了加密结果。
进入this.getKey().encrypt(t)这个函数,打上断点,发现返回所需要的值。
再进入u函数,打上断点:
r就是返回的结果。
综合来说,就是先对密码进行md5加密,在进行 this.getKey().encrypt(t)加密,最后再经过u函数加密。但是不能直接扣函数,这些函数里面调用了其他的模块,整个部分都在一个自执行函数内部,有谁能教教我怎么扣代码吗?
在 JavaScript 中,原型(prototype)是一个对象,用于在所有实例对象之间共享属性和方法。每个 JavaScript 对象(除了一些特殊对象)都有一个原型对象,通过该原型对象,其他对象可以继承属性和方法。
1. 原型链
JavaScript 中的原型链是一种继承机制,通过它可以在对象之间共享属性和方法。当访问对象的属性或方法时,如果该对象上没有找到,会沿着原型链向上查找,直到找到该属性或方法或者到达原型链的顶端(即 null
)。
2. 使用原型的好处
- 共享方法:使用原型可以让所有实例对象共享方法,从而节省内存。例如,所有
Person
实例对象可以共享sayHello
方法,而不是每个实例都创建自己的sayHello
方法。 - 动态添加属性和方法:可以在运行时动态地向构造函数的原型添加新的属性和方法。
3. 例子
下面是一个简单的例子,演示了如何使用原型来共享方法:
// 定义一个构造函数 function Person(name, age) { this.name = name; this.age = age; } // 使用原型添加方法 Person.prototype.sayHello = function() { console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`); }; // 创建实例 const alice = new Person('Alice', 30); const bob = new Person('Bob', 25); // 调用共享的方法 alice.sayHello(); // 输出:Hello, my name is Alice and I am 30 years old. bob.sayHello(); // 输出:Hello, my name is Bob and I am 25 years old.
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/157372.html