Hướng dẫn mã hóa và giải mã Online cơ bản

0
9

Bài viết này hướng dẫn cách Mã hóa và giải mã (dịch ngược) một số dạng mã hóa cơ bản như: HEX, EVAL, BASE64, VAR.

Cơ bản về mã hóa và giải mã
Cơ bản về mã hóa và giải mã

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)…)

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.
Chúc các bạn thành công!