开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 8259|回复: 7
收起左侧

[技术专题] 聚享游js解密

[复制链接]
发表于 2020-4-25 02:09:30 | 显示全部楼层 |阅读模式   江苏省镇江市
本帖最后由 s6oo6x 于 2020-4-25 02:12 编辑

经常伸手,这次力所能及
聚享游的登录解密。
key和hash是每次由get方式获取getkey
加入js解密运算。
提供的代码是js解密部分。
  
navigator = {};
window = this;
!
function (t, e) {
"function" == typeof define && define.amd ? define (["exports"], e) : e ("object" == typeof exports && "string" != typeof exports.nodeName ? module.exports: t)
} (this,
function (t) {
function e (t, e, i) {
null != t && ("number" == typeof t ? this.fromNumber (t, e, i) : null == e && "string" != typeof t ? this.fromString (t, 256) : this.fromString (t, e))
}
function i () {
return new e (null)
}
function r (t, e, i, r, s, n) {
for (; --n >= 0;) {
var o = e * this[t++] + i[r] + s;
s = Math.floor (o / 67108864),
i[r++] = 67108863 & o
}
return s
}
function s (t, e, i, r, s, n) {
for (var o = 32767 & e,
h = e >> 15; --n >= 0;) {
var a = 32767 & this[t],
u = this[t++] >> 15,
c = h * a + u * o;
a = o * a + ( (32767 & c) << 15) + i[r] + (1073741823 & s),
s = (a >>> 30) + (c >>> 15) + h * u + (s >>> 30),
i[r++] = 1073741823 & a
}
return s
}
function n (t, e, i, r, s, n) {
for (var o = 16383 & e,
h = e >> 14; --n >= 0;) {
var a = 16383 & this[t],
u = this[t++] >> 14,
c = h * a + u * o;
a = o * a + ( (16383 & c) << 14) + i[r] + s,
s = (a >> 28) + (c >> 14) + h * u,
i[r++] = 268435455 & a
}
return s
}
function o (t) {
return Be.charAt (t)
}
function h (t, e) {
var i = Ke[t.charCodeAt (e)];
return null == i ? -1 : i
}
function a (t) {
for (var e = this.t - 1; e >= 0; --e) t[e] = this[e];
t.t = this.t,
t.s = this.s
}
function u (t) {
this.t = 1,
this.s = 0 > t ? -1 : 0,
t > 0 ? this[0] = t: -1 > t ? this[0] = t + this.DV: this.t = 0
}
function c (t) {
var e = i ();
return e.fromInt (t),
e
}
function f (t, i) {
var r;
if (16 == i) r = 4;
else if (8 == i) r = 3;
else if (256 == i) r = 8;
else if (2 == i) r = 1;
else if (32 == i) r = 5;
else {
if (4 != i) return void this.fromRadix (t, i);
r = 2
}
this.t = 0,
this.s = 0;
for (var s = t.length,
n = !1,
o = 0; --s >= 0;) {
var a = 8 == r ? 255 & t[s] : h (t, s);
0 > a ? "-" == t.charAt (s) && (n = !0) : (n = !1, 0 == o ? this[this.t++] = a: o + r > this.DB ? (this[this.t - 1] |= (a & (1 << this.DB - o) - 1) << o, this[this.t++] = a >> this.DB - o) : this[this.t - 1] |= a << o, o += r, o >= this.DB && (o -= this.DB))
}
8 == r && 0 != (128 & t[0]) && (this.s = -1, o > 0 && (this[this.t - 1] |= (1 << this.DB - o) - 1 << o)),
this.clamp (),
n && e.ZERO.subTo (this, this)
}
function p () {
for (var t = this.s & this.DM; this.t > 0 && this[this.t - 1] == t;)--this.t
}
function l (t) {
if (this.s < 0) return "-" + this.negate ().toString (t);
var e;
if (16 == t) e = 4;
else if (8 == t) e = 3;
else if (2 == t) e = 1;
else if (32 == t) e = 5;
else {
if (4 != t) return this.toRadix (t);
e = 2
}
var i, r = (1 << e) - 1,
s = !1,
n = "",
h = this.t,
a = this.DB - h * this.DB % e;
if (h-->0) for (a < this.DB && (i = this[h] >> a) > 0 && (s = !0, n = o (i)); h >= 0;) e > a ? (i = (this[h] & (1 << a) - 1) << e - a, i |= this[--h] >> (a += this.DB - e)) : (i = this[h] >> (a -= e) & r, 0 >= a && (a += this.DB, --h)),
i > 0 && (s = !0),
s && (n += o (i));
return s ? n: "0"
}
function d () {
var t = i ();
return e.ZERO.subTo (this, t),
t
}
function g () {
return this.s < 0 ? this.negate () : this
}
function m (t) {
var e = this.s - t.s;
if (0 != e) return e;
var i = this.t;
if (e = i - t.t, 0 != e) return this.s < 0 ? -e: e;
for (; --i >= 0;) if (0 != (e = this[i] - t[i])) return e;
return 0
}
function y (t) {
var e, i = 1;
return 0 != (e = t >>> 16) && (t = e, i += 16),
0 != (e = t >> 8) && (t = e, i += 8),
0 != (e = t >> 4) && (t = e, i += 4),
0 != (e = t >> 2) && (t = e, i += 2),
0 != (e = t >> 1) && (t = e, i += 1),
i
}
function b () {
return this.t <= 0 ? 0 : this.DB * (this.t - 1) + y (this[this.t - 1] ^ this.s & this.DM)
}
function T (t, e) {
var i;
for (i = this.t - 1; i >= 0; --i) e[i + t] = this[i];
for (i = t - 1; i >= 0; --i) e[i] = 0;
e.t = this.t + t,
e.s = this.s
}
function S (t, e) {
for (var i = t; i < this.t; ++i) e[i - t] = this[i];
e.t = Math.max (this.t - t, 0),
e.s = this.s
}
function R (t, e) {
var i, r = t % this.DB,
s = this.DB - r,
n = (1 << s) - 1,
o = Math.floor (t / this.DB),
h = this.s << r & this.DM;
for (i = this.t - 1; i >= 0; --i) e[i + o + 1] = this[i] >> s | h,
h = (this[i] & n) << r;
for (i = o - 1; i >= 0; --i) e[i] = 0;
e[o] = h,
e.t = this.t + o + 1,
e.s = this.s,
e.clamp ()
}
function E (t, e) {
e.s = this.s;
var i = Math.floor (t / this.DB);
if (i >= this.t) return void (e.t = 0);
var r = t % this.DB,
s = this.DB - r,
n = (1 << r) - 1;
e[0] = this[i] >> r;
for (var o = i + 1; o < this.t; ++o) e[o - i - 1] |= (this[o] & n) << s,
e[o - i] = this[o] >> r;
r > 0 && (e[this.t - i - 1] |= (this.s & n) << s),
e.t = this.t - i,
e.clamp ()
}
function D (t, e) {
for (var i = 0,
r = 0,
s = Math.min (t.t, this.t); s > i;) r += this[i] - t[i],
e[i++] = r & this.DM,
r >>= this.DB;
if (t.t < this.t) {
for (r -= t.s; i < this.t;) r += this[i],
e[i++] = r & this.DM,
r >>= this.DB;
r += this.s
} else {
for (r += this.s; i < t.t;) r -= t[i],
e[i++] = r & this.DM,
r >>= this.DB;
r -= t.s
}
e.s = 0 > r ? -1 : 0,
-1 > r ? e[i++] = this.DV + r: r > 0 && (e[i++] = r),
e.t = i,
e.clamp ()
}
function w (t, i) {
var r = this.abs (),
s = t.abs (),
n = r.t;
for (i.t = n + s.t; --n >= 0;) i[n] = 0;
for (n = 0; n < s.t; ++n) i[n + r.t] = r.am (0, s[n], i, n, 0, r.t);
i.s = 0,
i.clamp (),
this.s != t.s && e.ZERO.subTo (i, i)
}
function x (t) {
for (var e = this.abs (), i = t.t = 2 * e.t; --i >= 0;) t[i] = 0;
for (i = 0; i < e.t - 1; ++i) {
var r = e.am (i, e[i], t, 2 * i, 0, 1); (t[i + e.t] += e.am (i + 1, 2 * e[i], t, 2 * i + 1, r, e.t - i - 1)) >= e.DV && (t[i + e.t] -= e.DV, t[i + e.t + 1] = 1)
}
t.t > 0 && (t[t.t - 1] += e.am (i, e[i], t, 2 * i, 0, 1)),
t.s = 0,
t.clamp ()
}
function B (t, r, s) {
var n = t.abs ();
if (! (n.t <= 0)) {
var o = this.abs ();
if (o.t < n.t) return null != r && r.fromInt (0),
void (null != s && this.copyTo (s));
null == s && (s = i ());
var h = i (),
a = this.s,
u = t.s,
c = this.DB - y (n[n.t - 1]);
c > 0 ? (n.lShiftTo (c, h), o.lShiftTo (c, s)) : (n.copyTo (h), o.copyTo (s));
var f = h.t,
p = h[f - 1];
if (0 != p) {
var l = p * (1 << this.F1) + (f > 1 ? h[f - 2] >> this.F2: 0),
d = this.FV / l,
g = (1 << this.F1) / l,
m = 1 << this.F2,
v = s.t,
b = v - f,
T = null == r ? i () : r;
for (h.dlShiftTo (b, T), s.compareTo (T) >= 0 && (s[s.t++] = 1, s.subTo (T, s)), e.ONE.dlShiftTo (f, T), T.subTo (h, h); h.t < f;) h[h.t++] = 0;
for (; --b >= 0;) {
var S = s[--v] == p ? this.DM: Math.floor (s[v] * d + (s[v - 1] + m) * g);
if ( (s[v] += h.am (0, S, s, b, 0, f)) < S) for (h.dlShiftTo (b, T), s.subTo (T, s); s[v] < --S;) s.subTo (T, s)
}
null != r && (s.drShiftTo (f, r), a != u && e.ZERO.subTo (r, r)),
s.t = f,
s.clamp (),
c > 0 && s.rShiftTo (c, s),
0 > a && e.ZERO.subTo (s, s)
}
}
}
function K (t) {
var r = i ();
return this.abs ().divRemTo (t, null, r),
this.s < 0 && r.compareTo (e.ZERO) > 0 && t.subTo (r, r),
r
}
function A (t) {
this.m = t
}
function U (t) {
return t.s < 0 || t.compareTo (this.m) >= 0 ? t.mod (this.m) : t
}
function O (t) {
return t
}
function V (t) {
t.divRemTo (this.m, null, t)
}
function N (t, e, i) {
t.multiplyTo (e, i),
this.reduce (i)
}
function J (t, e) {
t.squareTo (e),
this.reduce (e)
}
function I () {
if (this.t < 1) return 0;
var t = this[0];
if (0 == (1 & t)) return 0;
var e = 3 & t;
return e = e * (2 - (15 & t) * e) & 15,
e = e * (2 - (255 & t) * e) & 255,
e = e * (2 - ( (65535 & t) * e & 65535)) & 65535,
e = e * (2 - t * e % this.DV) % this.DV,
e > 0 ? this.DV - e: -e
}
function P (t) {
this.m = t,
this.mp = t.invDigit (),
this.mpl = 32767 & this.mp,
this.mph = this.mp >> 15,
this.um = (1 << t.DB - 15) - 1,
this.mt2 = 2 * t.t
}
function M (t) {
var r = i ();
return t.abs ().dlShiftTo (this.m.t, r),
r.divRemTo (this.m, null, r),
t.s < 0 && r.compareTo (e.ZERO) > 0 && this.m.subTo (r, r),
r
}
function L (t) {
var e = i ();
return t.copyTo (e),
this.reduce (e),
e
}
function q (t) {
for (; t.t <= this.mt2;) t[t.t++] = 0;
for (var e = 0; e < this.m.t; ++e) {
var i = 32767 & t[e],
r = i * this.mpl + ( (i * this.mph + (t[e] >> 15) * this.mpl & this.um) << 15) & t.DM;
for (i = e + this.m.t, t[i] += this.m.am (0, r, t, e, 0, this.m.t); t[i] >= t.DV;) t[i] -= t.DV,
t[++i]++
}
t.clamp (),
t.drShiftTo (this.m.t, t),
t.compareTo (this.m) >= 0 && t.subTo (this.m, t)
}
function C (t, e) {
t.squareTo (e),
this.reduce (e)
}
function H (t, e, i) {
t.multiplyTo (e, i),
this.reduce (i)
}
function j () {
return 0 == (this.t > 0 ? 1 & this[0] : this.s)
}
function k (t, r) {
if (t > 4294967295 || 1 > t) return e.ONE;
var s = i (),
n = i (),
o = r.convert (this),
h = y (t) - 1;
for (o.copyTo (s); --h >= 0;) if (r.sqrTo (s, n), (t & 1 << h) > 0) r.mulTo (n, o, s);
else {
var a = s;
s = n,
n = a
}
return r.revert (s)
}
function F (t, e) {
var i;
return i = 256 > t || e.isEven () ? new A (e) : new P (e),
this.exp (t, i)
}
// Copyright (c) 2005-2009  Tom Wu
// All Rights Reserved.
// See "LICENSE" for details.
function _ () {
var t = i ();
return this.copyTo (t),
t
}
function z () {
if (this.s < 0) {
if (1 == this.t) return this[0] - this.DV;
if (0 == this.t) return - 1
} else {
if (1 == this.t) return this[0];
if (0 == this.t) return 0
}
return (this[1] & (1 << 32 - this.DB) - 1) << this.DB | this[0]
}
function Z () {
return 0 == this.t ? this.s: this[0] << 24 >> 24
}
function G () {
return 0 == this.t ? this.s: this[0] << 16 >> 16
}
function $ (t) {
return Math.floor (Math.LN2 * this.DB / Math.log (t))
}
function Y () {
return this.s < 0 ? -1 : this.t <= 0 || 1 == this.t && this[0] <= 0 ? 0 : 1
}
function W (t) {
if (null == t && (t = 10), 0 == this.signum () || 2 > t || t > 36) return "0";
var e = this.chunkSize (t),
r = Math.pow (t, e),
s = c (r),
n = i (),
o = i (),
h = "";
for (this.divRemTo (s, n, o); n.signum () > 0;) h = (r + o.intValue ()).toString (t).substr (1) + h,
n.divRemTo (s, n, o);
return o.intValue ().toString (t) + h
}
function Q (t, i) {
this.fromInt (0),
null == i && (i = 10);
for (var r = this.chunkSize (i), s = Math.pow (i, r), n = !1, o = 0, a = 0, u = 0; u < t.length; ++u) {
var c = h (t, u);
0 > c ? "-" == t.charAt (u) && 0 == this.signum () && (n = !0) : (a = i * a + c, ++o >= r && (this.dMultiply (s), this.dAddOffset (a, 0), o = 0, a = 0))
}
o > 0 && (this.dMultiply (Math.pow (i, o)), this.dAddOffset (a, 0)),
n && e.ZERO.subTo (this, this)
}
function X (t, i, r) {
if ("number" == typeof i) if (2 > t) this.fromInt (1);
else for (this.fromNumber (t, r), this.testBit (t - 1) || this.bitwiseTo (e.ONE.shiftLeft (t - 1), ht, this), this.isEven () && this.dAddOffset (1, 0); ! this.isProbablePrime (i);) this.dAddOffset (2, 0),
this.bitLength () > t && this.subTo (e.ONE.shiftLeft (t - 1), this);
else {


360截图20200425020658051.jpg

结帖率:35% (7/20)

签到天数: 1 天

发表于 2022-6-2 09:19:48 | 显示全部楼层   贵州省黔东南苗族侗族自治州
奥利给奥利给!!
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2020-11-20 11:58:17 | 显示全部楼层   江苏省南京市
能做个视频 教程吗?以前的的聚享游,登录post的密码部分是明文的,现在好像是加密的,具体怎么定位 到加密函数的能出个视频 教程吗,还有签到怎么做,能做个视频 教程分享一下吗
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2020-11-6 09:39:21 | 显示全部楼层   天津市天津市
这个牛逼  能分享下发条js调试工具么?多谢
回复 支持 反对

使用道具 举报

结帖率:100% (5/5)
发表于 2020-11-6 09:31:09 | 显示全部楼层   广东省佛山市
错误代码:  1002
错误说明:  Microsoft JScript 编译错误 【语法错误】
错误语句:          var a = 8 == r ? 255 & t < strike > :h(t, s);
错误所在行:  85
错误所在行的位置:  44

这怎么解决
回复 支持 反对

使用道具 举报

发表于 2020-6-30 06:10:40 | 显示全部楼层   河南省平顶山市
解密什么的,有点看不懂,要是有图就好了
回复 支持 反对

使用道具 举报

结帖率:14% (1/7)
发表于 2020-5-22 13:42:44 | 显示全部楼层   广西壮族自治区南宁市
感谢楼主分享
回复 支持 反对

使用道具 举报

结帖率:94% (47/50)
发表于 2020-4-25 10:30:22 高大上手机用户 | 显示全部楼层   河南省濮阳市
小白学习学习
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表