接着上篇继续分析阿卡迈,本次分析sensor_data第一串
先看看浏览器的输出结果
简单看过,包含了useragent、battery、screen的信息,其他的未知,接着跟进去分析。
将相关代码解一下混淆
var xTT = r7(); //时间戳
var ATT = (TT.zV(H0, Sv(Sv(Pg)), Sv(Sv(MZ)), fX))['concat'](Xz(xTT));
var HTT = XP(IT['window'].bmak[TT.hA(G0, I8, C8, bX)], sY[fX]);
var qTT = ng(sY[WX]);
var lTT = ng(MZ);
var GTT = ng(MZ);
var dTT = ng(MZ);
var NTT = ng(MZ);
var ETT = ng(MZ);
var JTT = ng(sY[WX]);
try {
var QTT = mZ.slice();
qTT = IT['window']['screen'] ? IT['window']['screen'][TT.Vd(d0, D8)] : ng(sY[WX]);
//window.screen.availWidth
} catch (FTT) {
mZ = QTT.slice();
qTT = ng(MZ);
}
try {
var UTT = mZ.slice();
lTT = IT['window']['screen'] ? IT['window']['screen'][TT.Ld.call(null, N0, BY)] : ng(MZ);
// window.screen.availHeight
} catch (OTT) {
mZ = UTT.slice();
lTT = ng(sY[WX]);
}
try {
var pTT = mZ.slice();
GTT = IT['window'][TT.qC.apply(null, [sX, ZS])] ? IT['window']['screen'][TT.OC(mX, WX, Wb)] : ng(MZ);
// window.screen.width
} catch (hTT) {
mZ = pTT.slice();
GTT = ng(MZ);
}
try {
var STT = mZ.slice();
dTT = IT['window']['screen'] ? IT['window']['screen'][TT.hC.apply(null, [F8, RTT])] : ng(MZ);
//window.screen.height
} catch (bTT) {
mZ = STT.slice();
dTT = ng(MZ);
}
try {
var BTT = mZ.slice();
NTT = IT['window']['innerHeight'] || (IT['document']['body'] && EW('clientHeight', IT['document']['body']) ? IT['document']['body']['clientHeight'] : IT['document']['documentElement'] && EW('clientHeight', IT['document']['documentElement']) ? IT['document']['documentElement']['clientHeight'] : ng(MZ));
} catch (nTT) {
mZ = BTT.slice();
NTT = ng(MZ);
}
try {
var gTT = mZ.slice();
ETT = IT['window']['innerWidth'] || (IT['document']['body'] && EW('clientWidth', IT['document']['body']) ? IT['document']['body']['clientWidth'] : IT['document']['documentElement'] && EW('clientWidth', IT['document']['documentElement']) ? IT['document']['documentElement']['clientWidth'] : ng(MZ));
} catch (XTT) {
mZ = gTT.slice();
ETT = ng(MZ);
}
try {
var WTT = mZ.slice();
JTT = EW('outerWidth', IT['window']) && lf(nc(Pg), IT['window']['outerWidth']) ? IT['window']['outerWidth'] : ng(MZ);
} catch (vTT) {
mZ = WTT.slice();
JTT = ng(MZ);
}
YTT = IT['parseInt'](XP(IT['window'].bmak['startTs'], sY[J8]), gX),
WP = IT[TT.mD.call(null, w8, F0)](XP(YTT, B8), gX);
var mTT = IT['Math']['random']();
var MTT = IT['parseInt'](XP(tTT(PTT, mTT), df), gX);
var zTT = ('')['concat'](mTT);
zTT = BZ(zTT['slice'](Pg, rX), MTT),
hIT();
var cTT = mM(kTT(), sY[q8]);
var rTT = cTT[Pg];
var I9T = cTT[MZ];
var T9T = cTT[TT[TT.WA(g8, r2)]()];
var j9T = cTT[SZ];
var V9T = IT['window']['_phantom'] ? MZ : Pg;
var D9T = IT['window']['webdriver'] ? TT[TT.BT.call(null, PX, SZ, O8, gc, E5, Im)]() : Pg;
var C9T = IT['window']['domAutomation'] ? MZ : Pg;
var x9T;
return x9T = (((((((((((((((((((((((TT.zV(H0, gP, pf, fX))['concat'](xTT, ',uaend,'))['concat'](function A9T() {
mZ.push(Rv);
var H9T;
var q9T;
var l9T = IT['window']['addEventListener'] ? sY[WX] : Pg;
var d9T = IT['window']['XMLHttpRequest'] ? MZ : Pg;
var E9T = IT['window']['XDomainRequest'] ? MZ : sY[MX];
var J9T = IT['window']['emit'] ? MZ : sY[MX];
var Q9T = IT['window']['DeviceOrientationEvent'] ? MZ : Pg;
var U9T = IT['window']['DeviceMotionEvent'] ? MZ : Pg;
var O9T = IT['window']['TouchEvent'] ? MZ : TT[TT.HD(nX, Bk)]();
var h9T = IT['window']['spawn'] ? sY[WX] : Pg;
var R9T = IT['window']['chrome'] ? MZ : Pg;
var b9T = IT['Function']['prototype'].bind ? MZ : Pg;
var B9T = IT['window']['Buffer'] ? MZ : Pg;
var n9T = IT['window']['PointerEvent'] ? MZ : Pg;
try {
var Z9T = mZ.slice();
H9T = IT['window']['innerWidth'] ? MZ : TT[TT.HD(nX, Bk)]();
} catch (X9T) {
mZ = Z9T.slice();
H9T = Pg;
}
try {
var W9T = mZ.slice();
q9T = IT['window']['outerWidth'] ? MZ : Pg;
} catch (K9T) {
mZ = W9T.slice();
q9T = sY[MX];
}
var v9T;
return v9T = BZ(BZ(BZ(BZ(BZ(BZ(BZ(BZ(BZ(BZ(BZ(BZ(BZ(l9T, UW(d9T, MZ)), UW(E9T, sY[fX])), UW(J9T, SZ)), UW(Q9T, MX)), UW(U9T, WX)), UW(O9T, ZX)), UW(h9T, sY[O8])), UW(H9T, sY[w8])), UW(q9T, BX)), UW(R9T, gX)), UW(b9T, sY[B8])), UW(B9T, KX)), UW(n9T, sY[Uf])),
mZ.pop(),
v9T;
}(), TT.ST(E8, MZ, Ff, SM, x8, fY)))['concat'](rTT, ','))['concat'](I9T, ','))[TT.YD.call(null, kX, q0)](T9T, ','))['concat'](j9T,','))['concat'](V9T, ','))[TT.YD.call(null, kX, q0)](D9T, ','))['concat'](C9T, ','))['concat'](YTT, ','))['concat'](Y9T, ','))['concat'](qTT, ','))['concat'](lTT, ','))['concat'](GTT, ','))['concat'](dTT, ','))['concat'](ETT, ','))['concat'](NTT, ','))['concat'](JTT, ','))['concat'](function m9T() {
mZ.push(M9T);
var t9T = [];
t9T['push']((TT.dd.call(null, FK, z9T))['concat'](IT['window']['callPhantom'] ? MZ : Pg));
t9T['push']((TT.Ed.apply(null, [G7, Sv({}), k9T]))['concat'](IT['window']['ActiveXObject'] && EW('ActiveXObject', IT['window']) ? MZ : Pg));
t9T['push']((TT.Jd(h0, J8))['concat'](Zg('nunber', typeof IT['document']['documentMode']) ? MZ : sY[MX]));
t9T['push']((TT.Ud(Ss, b0))['concat'](IT['window']['chrome'] && IT['window']['chrome']['webstore'] ? MZ : Pg));
t9T['push']((TT.pd(TjT, Uf, zs, KZ))['concat'](IT['navigator']['online'] ? sY[WX] : Pg));
t9T['push']((TT.hd(B0, zX))['concat'](IT['window']['opera'] ? MZ : TT[TT.HD.apply(null, [nX, VjT])]()));
t9T['push']((TT.Sd(z2, MZ))['concat'](tc(TT.YV.call(null, w0, zs), typeof IT['InstallTrigger']) ? MZ : Pg));
t9T['push']((TT.bd(l8, xK))['concat'](IT['window'][TT.Bd(zX, DjT)] && Hf((IT['Object']['prototype']['toString'].call(IT['window']['HTMLElement']))['indexOf']('Constructor'), Pg);
t9T['push']((TT.nd(AjT, S8, BY, YX))['concat'](Zg('function', typeof IT['window']['RTCPeerConnection']) || Zg('function', typeof IT['window']['mozRTCPeerConnection']) || Zg('function', typeof IT['window']['webkitRTCPeerConnection']) ? MZ : Pg));
t9T['push']((TT.gd(bm, n8, E5))['concat'](EW(TT.Zd.apply(null, [BX, nm]), IT['window']) ? IT['window']['mozInnerScreenY'] : Pg));
t9T['push']((TT.fd.apply(null, [h8, g0]))['concat'](Zg('function', typeof IT['navigator']['vibrate']) ? MZ : Pg));
t9T['push']((TT.Wd(pb, Sv(Sv({})), d8, Z8))['concat'](Zg('function', typeof IT['navigator']['getBattery']) ? MZ : Pg));
t9T['push']((TT.sd.apply(null, [q8, UX, EjT]))['concat'](IT['Array']['prototype']['forEach'] ? Pg : MZ));
t9T['push']((TT.Kd.apply(null, [FjT, Of, O8]))['concat'](EW('FileReader', window) ? MZ : Pg));
var OjT;
return OjT = t9T['join'](','),
mZ.pop(),
OjT;
}(), ','))['concat'](ATT, ','))['concat'](zTT, ','))['concat'](HTT, ','))['concat'](nIT, ',loc:'),
mZ.pop(),
x9T;
后面的就简单了,对着补环境就行了,没什么难度
40位数组大体一致,第一串结束