Chào các bạn hôm nay mình sẽ giới thiệu đến các bạn những cách mã hóa javascript cũng như những dạng mã hóa phổ biến và cách giải mã chúng.
Cách mã hóa javascript phổ biến và cách giải mã |
1. MÃ HÓA DẠNG HEX
Mã hóa này sẽ có dạng như sau:
var _0xb89f=["\x53\x61\x79\x48\x65\x6C\x6C\x6F","\x47\x65\x74\x43\x6F\x75\x6E\x74];function may(){var _0xedb9x2=_0x6360[0]}
- Để 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://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)
Để có được mã hóa dạng này các bạn truy cập vào website sau để mã hóa: 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 các bạn làm như sau:
- Ấn F12 và chuyển qua tab Console và dán đoạn code trên vào (Khoan ấn enter nhé).
- 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.
- Sau đó bạn ấn enter là sẽ hiện đoạn code được mã hóa.
5. MỘT SỐ TRANG GIẢI MÃ KHÁC
http://ddecode.com/hexdecoder/ (Chuyên giải mã các loại mã hóa HTML/Oct/Hex )
https://www.strictly-software.com/unpack-javascript ( Chuyên 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 ( Chuyên giải mã các loại mã hóa dạng eval(function(p,a,c,k,e,r)...)
6. TRANG WEB GIẢI MÃ JAVASCRIPT TỔNG HỢP
Đây là trang web có thể giải hầu hết các loại mã hóa Javascript được viết bởi https://baivong.github.io/
Và dưới đây là link trang web giải mã này: https://baivong.github.io/de4js/
LỜI KẾT
Trên đây là một số loại mã hóa và cách giải một số dạng mã hóa đơn giả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ã, yêu cầu chúng ta cần phải kết hợp các công cụ hỗ trợ giải mã với nhau cũng như kết hợp với các công cụ khác.
Chúc các bạn thành công!