Chào các bạn độc giả ! Hôm nay vào group xem tin tức vô tình vào blog Nguyễn Duy thấy bài này hay quá nên leech về cho ai chưa biết nhằm mục đích giải mã những đoạn javascript. Một số dạng cơ bản như: HEX, EVAL, BASE64, VAR.
CÁC BƯỚC THỰC HIỆN
1. Mã hóa dạng HEX
Mã hóa loại này sẽ có dạng như sau:
var _0x8662=["\x53\x61\x79\x48\x65\x6C\x6C\x6F","\x47\x65\x74\x43\x6F\x75\x6E\x74","\x4D\x65\x73\x73\x61\x67\x65\x20\x3A\x20"
Để mã hóa dạng này các bạn truy cập và mã hóa tại trang web dưới đây: https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
Để giải mã các đoạn mã loại này bạn có thể sử dụng trang web sau: http://jsbeautifier.org
2. Mã hóa dạng EVAL (FUNCTION(P,A,C,K,E,R)
Để mã hóa dạng này các bạn truy cập vào website sau: http://dean.edwards.name/packer/
Sau khi mã hóa đoạn code sẽ có dạng như sau:
eval(function(d,e,a,c,b,f){b=function(a){return…
Để giải mã dạng này các bạn có thể truy cập giải mã tại đây: http://dean.edwards.name/unpacker/
3. Mã hóa dạng BASE64
Mã hóa này sẽ có dạng như sau:
PCFET0NUWVBFIGh0bWw+PEhUTUw+PGhlYWQ+PG1ldGEgY2hhcnNldD0idXRmLTgiPjx0aXRsZT5DU1MzIEJ1dHRvbiBHZW5lcmF0b3IgfCBCZXN0IEJlYXV0aWZ1bCBDU1
Để có được mã hóa dạng này các bạn truy cập và mã hóa tại trang web sau: https://www.base64encode.org/
Để giải mã các đoạn mã loại này bạn có thể sử dụng trang web sau: https://www.base64decode.org/
4. Mã hóa dạng VAR _{STRING};VAR _{STRING}
Mã hóa này cực kỳ phức tạp, ví dụ như sau:
var _6340;var _9546=’144D126A205E1697E1571A1673D1181C1571C1613C1619A1613A1619F1181F1355D1181D1223C2621E48335E1181B1649A1607C1691E1223E1343F’;var _4174=/[\x41\x42\x43\x44\x45\x46]/;var _8299=2;var _2685=_9546.charAt(_9546.length-1);var _8877;var _5445=_9546.split(_4174);var _7530=[String.fromCharCode,isNaN,parseInt,String];_5445[1]=_7530[_8299+1](_7530[_8299](_5445[1])/21);var _6937=(_8299==8)?String:eval;_8877=”;_11=_7530[_8299](_5445[0])/_7530[_8299](_5445[1]);for(_6340=3;_6340<_11;_6340++)_8877+=(_7530[_8299-2]((_7530[_8299](_5445[_6340])+_7530[_8299](_5445[2])+_7530[_8299](_5445[1]))/_7530[_8299](_5445[1])-_7530[_8299](_5445[2])+_7530[_8299](_5445[1])-1));var _1040=’_6496′;var _5869=’_1040=_8877′;function _6874(_4650){_6937(_6251);_6874(_7995);_7995(_5869);_6874(_1040);}var _6251=’_6874=_6937′;var _7995=’_7995=_6874′;_6874(_2685);
Để giải mã được mã hóa dạng này, bạn cần thực hiện các bước như sau:
Bước 1: Ấn F12 và chuyển qua tab Console và dán đoạn code trên vào (Đừng ấn Enter nhé).
Bước 2: Lấy dãy số trong ngoặc gần cái var_ thứ 2 từ dưới lên và cho vào console.log(string); => console.log(_1040); với đoạn code ví dụ trên.
Đến đây, bạn ấn Enter là sẽ hiện đoạn code được mã hóa.
5. Một số trang giải mã Online khác có thể tham khảo
http://ddecode.com/hexdecoder/ (Giải mã các loại mã hóa HTML/Oct/Hex )
https://www.strictly-software.com/unpack-javascript (Giải mã các loại mã hóa dạng eval(function(p,a,c,k,e,r)…)
http://matthewfl.com/unPacker.html (Giải mã các loại mã hóa dạng eval(function(p,a,c,k,e,r)…)
LỜI KẾT
Trên đây là một số loại mã hóa và cách dịch ngược một số dạng mã hóa đơn giản. Trên thực tế, có rất nhiều các dạng mã hóa rất phức tạp khó giải mã, đa số các dạng như vậy đều yêu cầu chúng ta cần phải kết hợp nhiều công cụ hỗ trợ giải mã với nhau.
Nguồn : www.nguyenduyblog.com
Post a Comment
Post a Comment