先看代码
1 < script type = "text/javascript" > _vcUGt = window; 2 fTU = function(fTU_) { 3 var _f = function(fTU_) { 4 'return fTU'; 5 return fTU_; 6 }; 7 return _f(fTU_); 8 }; 9 function ys(ys_) { 10 function g() { 11 return getName(); 12 }; 13 return g(); 14 return 'ys' 15 } 16 function n6() { 17 'return n6'; 18 return '3' 19 } 20 G808 = function() { 21 'return G808'; 22 return 'sig'; 23 }; 24 function L08() { 25 'L08'; 26 function _L() { 27 return '=p' 28 }; 29 return _L(); 30 } 31 function Pm(Pm_) { 32 function _P(Pm_) { 33 function m() { 34 return getName(); 35 } 36 function Pm_() {} 37 return m(); 38 return Pm_ 39 }; 40 return _P(Pm_); 41 } 42 _rjGIi = 'href'; 43 fT = function() { 44 'fT'; 45 var _f = function() { 46 return '1' 47 }; 48 return _f(); 49 }; 50 mg = '/'; 51 function RK88() { 52 'return RK88'; 53 return 'id=' 54 } 55 function GR(GR_) { 56 function _G(GR_) { 57 function a() { 58 return getName(); 59 } 60 function GR_() {} 61 return a(); 62 return GR_ 63 }; 64 return _G(GR_); 65 } 66 _azg9m = 'assign'; 67 FJ = function() { 68 'FJ'; 69 var _F = function() { 70 return '_' 71 }; 72 return _F(); 73 }; 74 Vf = function() { 75 'Vf'; 76 var _V = function() { 77 return '?' 78 }; 79 return _V(); 80 }; 81 _ypSYk = 'replace'; 82 nz = function() { 83 'nz'; 84 var _n = function() { 85 return 'f' 86 }; 87 return _n(); 88 }; 89 XD = function() { 90 'return XD'; 91 return 'e'; 92 }; 93 function VSK() { 94 'return VSK'; 95 return '18' 96 } 97 Mi = function() { 98 'Mi'; 99 var _M = function() { 100 return '&' 101 }; 102 return _M(); 103 }; 104 function jQ() { 105 'jQ'; 106 function _j() { 107 return '8' 108 }; 109 return _j(); 110 } 111 d8 = function() { 112 'd8'; 113 var _d = function() { 114 return 'a' 115 }; 116 return _d(); 117 }; 118 function bGpz() { 119 'return bGpz'; 120 return '7d' 121 } 122 function CJK() { 123 'CJK'; 124 function _C() { 125 return 'e%' 126 }; 127 return _C(); 128 } 129 function vTI(vTI_) { 130 function _v(vTI_) { 131 function ex() { 132 return getName(); 133 } 134 function vTI_() {} 135 return ex(); 136 return vTI_ 137 }; 138 return _v(vTI_); 139 } 140 hYs = function(hYs_) { 141 var _h = function(hYs_) { 142 'return hYs'; 143 return hYs_; 144 }; 145 return _h(hYs_); 146 }; 147 _S0uCi = location; 148 H0 = function() { 149 'return H0'; 150 return 'a'; 151 }; 152 dt = function() { 153 'return dt'; 154 return 'n'; 155 }; 156 function Fi(Fi_) { 157 function d() { 158 return getName(); 159 }; 160 return d(); 161 return 'Fi' 162 } 163 function pD68() { 164 'pD68'; 165 function _p() { 166 return '323' 167 }; 168 return _p(); 169 } 170 function z99W(z99W_) { 171 function _z(z99W_) { 172 function php() { 173 return getName(); 174 } 175 function z99W_() {} 176 return php(); 177 return z99W_ 178 }; 179 return _z(z99W_); 180 } 181 function getName() { 182 var caller = getName.caller; 183 if (caller.name) { 184 return caller.name 185 } 186 var str = caller.toString().replace(/[\s]*/g, ""); 187 var name = str.match(/^function([^\(]+?)\(/); 188 if (name && name[1]) { 189 return name[1]; 190 } else { 191 return ''; 192 } 193 } 194 az = function() { 195 'return az'; 196 return '5'; 197 }; 198 lg = function() { 199 'return lg'; 200 return 'r'; 201 }; 202 ocZD = function() { 203 'return ocZD'; 204 return 'oru'; 205 }; 206 function IyJ(IyJ_) { 207 function od() { 208 return getName(); 209 }; 210 return od(); 211 return 'IyJ' 212 } 213 _S0uCi[_rjGIi] = mg + nz() + ocZD() + hYs('m.') + z99W('sYgs') + Vf() + Pm('aX') + IyJ('kIT') + fTU('=v') + 'ie' + (function() { 214 'return Fs6c'; 215 return (function() { 216 return 'wth'; 217 })(); 218 })() + lg() + XD() + H0() + (function() { 219 'return Ds'; 220 return 'd' 221 })() + (function(WI0_) { 222 return (function(WI0_) { 223 return WI0_; 224 })(WI0_); 225 })('&t') + RK88() + fT() + VSK() + pD68() + Mi() + vTI('x8k') + (function() { 226 'return fY9p'; 227 return (function() { 228 return 'tra'; 229 })(); 230 })() + L08() + GR('yt') + ys('UP') + CJK() + (function() { 231 'return BcUg'; 232 return '3D2' 233 })() + (function() { 234 'return Vg'; 235 return '&' 236 })() + FJ() + Fi('mq') + G808() + dt() + (function() { 237 'return xQ'; 238 return '=' 239 })() + n6() + jQ() + az() + d8() + (function(t80_) { 240 return (function(t80_) { 241 return t80_; 242 })(t80_); 243 })('9a') + bGpz(); 244 _vcUGt[_rjGIi] = mg + nz() + ocZD() + hYs('m.') + z99W('sYgs') + Vf() + Pm('aX') + IyJ('kIT'); < /script>/
简单介绍下,这个是我请求一个网页,然后返回这个js,对url进行修改并重定向,他将字符串随机生成的方法来拼接的 ,每次返回的js都不一样,请问各位,这是用什么混淆方法得到的,要这么反混淆,或者我要这么拿到这个处理后的url
用phantomjs可以得到url
```var page = require('webpage').create();
page.onNavigationRequested = function(url, type, willNavigate, main) {
console.log(url, type, willNavigate, main)
}
page.open(url, function(status) {
phantom.exit();
});
```