Liên hệ ngay

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

Chào các bạn có đam mê về PHP - HTML - JAVASCRIPT ...Tóm lại là CODE. Mình cũng là người có đâm mê về coder. Nhưng hầu như nhưng newbie mới vào hay những người chưa biết đều gặp trục trặc về vấn đề là đoạn code này có bị mã hóa không ? Tại sao nó lại nhì nhằng thế này ? Nhìn mãi mà không ra hàm hay đoạn html nào.

Hôm nay mình ngồi rảnh lên chia sẻ cho các bạn một vài trang Mã Hóa and Giải Mã một đoạn code bị mã hóa. Mình sẽ chia sẽ một số dạng cơ bản như: HEX, EVAL, BASE64, VAR.


CÁC DẠNG CODE VÀ CÁCH 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
Để 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.

Cre: Nguyễn Duy Blog.

Đức Vũ Designer, Developer

Muốn giỏi phải học, muốn học thì phải hỏi. Chính vì thế, hãy cùng tham gia thảo luận với nhau để tìm ra câu trả lời nếu có thắc mắc nhé! Xem thêm nhiều bài viết hay tại đây nhé.
Trong quá trình viết bài chúng tôi sẽ có nhiều thiếu sót mong các bạn đóng góp để chúng tôi rút kinh nghiệm hơn !
URL : Copy
| https://duchee-template.blogspot.com/2018/05/huong-dan-ma-hoa-va-giai-ma-javascript.html

Không có nhận xét nào