[原创]百度访问统计柱状图表再次解密(2)-eval破解

2013-03-21Javascript3282

[原创]百度访问统计柱状图表再次解密(2)

p w(E, D, A, C, B)

{

  5.R = 8.14(E);

  5.o = D;

  5.d = A;

  5.r = (8.e) ? C : (C - 2);

  5.q = 0;

  5.b = B + ((8.e) ? 0 : - 2);

  5.x = 5.d[0];

  5.O = 5.d[5.d.c - 1]

}

w.P.y = p(B)

{

  9 A = 15.16(((B - 5.x) * 5.b / (5.O - 5.x))) + ((8.e) ? 2 : 0);

  s(A > 5.b)

  {

     A = 5.b

  }

  17 A

};

w.P.18 = p()

{

  9 A = 8.i("k");

  A.a = "1a";

  A.6.z = 5.b + "7";

  5.R.j(A);

  9 K = 8.i("k");

  A.j(K);

  K.a = "1b";

  9 J = 0;

  Q(9 G = 0;

  G < 5.o.c;

  G += 2)

  {

     9 B = 5.y(5.o[G]);

     9 I = 5.o[G + 1];

     9 F = 8.i("k");

     A.j(F);

     F.a = "u";

     F.6.n = 5.r + "7";

     F.6.z = B + "7";

     F.6.m = 5.b - B - 1 + "7";

     F.6.g = (J - 1) + "7";

     F.h = "&v;";

     F.f = K;

     F.T = p()

     {

        5.a = "V";

        5.f.6.L = "";

        5.f.h = 5.t.l(3, 5.t.c);

        5.f.6.g = 5.6.g;

        5.f.6.m = S(5.6.m) - S(5.f.19) + "7"

     };

     F.W = p()

     {

        5.a = "u";

        5.f.6.L = "Z"

     };

     9 E = 8.i("k");

     A.j(E);

     E.6.n = 5.r + "7";

     E.6.m = (8.e) ? 5.b : 5.b + 3 + "7";

     9 C = I.10(".");

     F.t = "u" + I.l(0, C) + "\\11" + I.l(C + 1, I.c) + "\\12&v;&v;" + 5.o[G];

     s(G % 4 == 0)

     {

        s((I.l(C + 1, I.c) == "1" || I.l(C + 1, I.c) == "2"))

        {

           E.a = "13";

           E.6.g = (J - 4) + "7";

           E.h = I

        }

        N

        {

           E.a = "M";

           E.6.g = (J - 1) + "7";

           E.h = I.l(C + 1, I.c)

        }

     }

     N

     {

        E.a = "M";

        E.6.g = (J - 1) + "7";

        E.h = ""

     }

     J += 5.r + ((8.e) ? - 1 : 1)

  }

  5.q = J + ((8.e) ? 1 : - 1);

  A.6.n = 5.q + "7";

  Q(9 G = 0;

  G < 5.d.c;

  G ++ )

  {

     9 D = 5.y(5.d[G]);

     s(G != 0 && G != 5.d.c - 1)

     {

        9 H = 8.i("k");

        A.j(H);

        H.a = "X";

        H.6.n = (5.q - ((8.e) ? 1 : - 1)) + "7";

        H.6.m = (5.b - D - 1) + "7"

     }

     9 E = 8.i("k");

     A.j(E);

     E.a = "1c";

     E.6.n = "Y";

     E.6.m = (5.b - D - 2) + "7";

     E.6.g = - U + "7";

     E.h = 5.d[G]

  }

};

代码格式化之后发现代码怪怪的,其实它被重新编码了。

下面看解码。

回到原函数.

eval(function(p, a, c, k, e, d)

{

  e = function(c){return(c < a ? "" : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36))};

  if( ! ''.replace(/^/, String))

  {

     while(c -- ) {d[e(c)] = k[c] || e(c)}

     k = [function(e){return d[e]}];

     e = function(){return'\\w+'};

     c = 1

  };

  while(c -- )

  {

     if(k[c]){p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c])}

  }

  return p

}('p w(E,D,A,C,B){5.R=8.14(E);5.o=D;5.d=A;5.r=(8.e)?C:(C-2);5.q=0;5.b=B+((8.e)?0:-2);5.x=5.d[0];5.O=5.d[5.d.c-1]}w.P.y=p(B){9 A=15.16(((B-5.x)*5.b/(5.O-5.x)))+((8.e)?2:0);s(A>5.b){A=5.b}17 A};w.P.18=p(){9 A=8.i("k");A.a="1a";A.6.z=5.b+"7";5.R.j(A);9 K=8.i("k");A.j(K);K.a="1b";9 J=0;Q(9 G=0;G<5.o.c;G+=2){9 B=5.y(5.o[G]);9 I=5.o[G+1];9 F=8.i("k");A.j(F);F.a="u";F.6.n=5.r+"7";F.6.z=B+"7";F.6.m=5.b-B-1+"7";F.6.g=(J-1)+"7";F.h="&v;";F.f=K;F.T=p(){5.a="V";5.f.6.L="";5.f.h=5.t.l(3,5.t.c);5.f.6.g=5.6.g;5.f.6.m=S(5.6.m)-S(5.f.19)+"7"};F.W=p(){5.a="u";5.f.6.L="Z"};9 E=8.i("k");A.j(E);E.6.n=5.r+"7";E.6.m=(8.e)?5.b:5.b+3+"7";9 C=I.10(".");F.t="u"+I.l(0,C)+"\\11"+I.l(C+1,I.c)+"\\12&v;&v;"+5.o[G];s(G%4==0){s((I.l(C+1,I.c)=="1"||I.l(C+1,I.c)=="2")){E.a="13";E.6.g=(J-4)+"7";E.h=I}N{E.a="M";E.6.g=(J-1)+"7";E.h=I.l(C+1,I.c)}}N{E.a="M";E.6.g=(J-1)+"7";E.h=""}J+=5.r+((8.e)?-1:1)}5.q=J+((8.e)?1:-1);A.6.n=5.q+"7";Q(9 G=0;G<5.d.c;G++){9 D=5.y(5.d[G]);s(G!=0&&G!=5.d.c-1){9 H=8.i("k");A.j(H);H.a="X";H.6.n=(5.q-((8.e)?1:-1))+"7";H.6.m=(5.b-D-1)+"7"}9 E=8.i("k");A.j(E);E.a="1c";E.6.n="Y";E.6.m=(5.b-D-2)+"7";E.6.g=-U+"7";E.h=5.d[G]}};', 62, 75, '|||||this|style|px|document|var|className|charth|length|yl|all|ohit|left|innerHTML|createElement|appendChild|div|substring|top|width|xl|function|chartw|barw|if|id|bar|nbsp|Chart|minpv|GetPVHeight|height||||||||||||display|titx|else|maxpv|prototype|for|parent|parseInt|onmouseover|42|barhl|onmouseout|liney|35px|none|indexOf|u6708|u65e5|titxhl|getElementById|Math|round|return|Create|offsetHeight|chart|hit|tity'.split('|'), 0,{})

);

发现function(p, a, c, k, e, d){}()是匿名函数。什么是匿名函数,看我空间帖子。

它创建后执行了那一大片参数:

p:就是那一块怪怪的代码

a:62

c:75

e:0

d:{}d是一个对象,至于是什么对象我也不知道*_*

k:是一个数组,解析出来以后就是

0 ""

1 ""

2 ""

3 ""

4 ""

5 "this"

6 "style"

7 "px"

8 "document"

9 "var"

10 "className"

11 "charth"

12 "length"

13 "yl"

14 "all"

15 "ohit"

16 "left"

17 "innerHTML"

18 "createElement"

19 "appendChild"

20 "div"

21 "substring"

22 "top"

23 "width"

24 "xl"

25 "function"

26 "chartw"

27 "barw"

28 "if"

29 "id"

30 "bar"

31 "nbsp"

32 "Chart"

33 "minpv"

34 "GetPVHeight"

35 "height"

36 ""

37 ""

38 ""

39 ""

40 ""

41 ""

42 ""

43 ""

44 ""

45 ""

46 ""

47 "display"

48 "titx"

49 "else"

50 "maxpv"

51 "prototype"

52 "for"

53 "parent"

54 "parseInt"

55 "onmouseover"

56 "42"

57 "barhl"

58 "onmouseout"

59 "liney"

60 "35px"

61 "none"

62 "indexOf"

63 "u6708"

64 "u65e5"

65 "titxhl"

66 "getElementById"

67 "Math"

68 "round"

69 "return"

70 "Create"

71 "offsetHeight"

72 "chart"

73 "hit"

74 "tity"

关闭

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开微信扫一扫,即可进行扫码打赏哦

支付宝

微信