Giải mã Obfuscator javascript

Nó thực sự đơn giản, JavaScript là ngôn ngữ được trình duyệt giải thích, vì vậy nó cần phải là giao diện người dùng và hiển thị cho các trình duyệt. Thật không may, điều này có nghĩa là nó cũng hiển thị với mọi tom, dick và harry, những người muốn xem mã của bạn và có khả năng đánh cắp nó. Một trong những cách để bảo vệ mã của bạn là làm xáo trộn mã bằng cách sử dụng thuật toán cơ sở 32 hoặc 64 để mã hóa mã và làm cho mã không thể đọc được

  1. Làm xáo trộn js trực tuyến để bảo vệ mã của bạn để mã không thể đọc được
  2. Trình mã hóa jQuery trực tuyến dưới dạng thuật toán cũng hoạt động với jQuery
  3. Làm xáo trộn jQuery trực tuyến để chuyển đổi thành dấu trang để thực thi tập lệnh dễ dàng
  4. Trình mã hóa js trực tuyến để chuyển đổi các ngôn ngữ khác như Mootools, DOJO, YUI, v.v.
  5. js compact obfuscator trực tuyến cũng để làm cho kích thước tệp của bạn nhỏ hơn và tăng tốc độ trang

Công cụ Obfuscator hoạt động như thế nào?

  • thay thế tên biểu tượng bằng tên không có ý nghĩa [ví dụ: hello moto sẽ được chuyển đổi thành 1cd5dg4g1gf]
  • thay thế các hằng số bằng các biểu thức [ví dụ: 232 sẽ được chuyển đổi thành 0x29b9+2011-0x2d25]
  • thay thế ký tự trong chuỗi bằng ký tự thoát hex của chúng [ví dụ: chuỗi "noob" sẽ được chuyển đổi thành "`vcD"
  • xóa hoàn toàn nhận xét [nếu được chọn, nếu không sẽ làm xáo trộn nhận xét]
  • xóa khoảng trắng và tab và dòng trống trong mã
  • nối tất cả các dòng mã lại với nhau
  • mã hóa các giai đoạn trước bằng thuật toán tiên tiến

Nếu bạn quan tâm đến việc học một số jQuery thì hãy xem một số Plugin jQuery miễn phí để bắt đầu. Chúng được liệt kê thành các danh mục để bạn có thể tìm thấy plugin mà bạn đang tìm kiếm trong vài giây

Tôi ghét phải mang cái này đến đây, trong khi học cách xáo trộn mã JS, tôi đã mã hóa mã của mình và sau đó viết lại mã gốc mà không có bất kỳ bản sao lưu nào. ] Sau đây là mã bị xáo trộn của tôi

var _0xf17f=["\x28","\x29","\x64\x69\x76","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x69\x64","\x53\x74\x75\x64\x65\x6E\x74\x5F\x6E\x61\x6D\x65","\x73\x74\x75\x64\x65\x6E\x74\x5F\x64\x6F\x62","\x3C\x62\x3E\x49\x44\x3A\x3C\x2F\x62\x3E","\x3C\x61\x20\x68\x72\x65\x66\x3D\x22\x2F\x6C\x65\x61\x72\x6E\x69\x6E\x67\x79\x69\x69\x2F\x69\x6E\x64\x65\x78\x2E\x70\x68\x70\x3F\x72\x3D\x73\x74\x75\x64\x65\x6E\x74\x2F\x76\x69\x65\x77\x26\x61\x6D\x70\x3B\x20\x69\x64\x3D","\x22\x3E","\x3C\x2F\x61\x3E","\x3C\x62\x72\x2F\x3E","\x3C\x62\x3E\x53\x74\x75\x64\x65\x6E\x74\x20\x4E\x61\x6D\x65\x3A\x3C\x2F\x62\x3E","\x3C\x62\x3E\x53\x74\x75\x64\x65\x6E\x74\x20\x44\x4F\x42\x3A\x3C\x2F\x62\x3E","\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C","\x63\x6C\x61\x73\x73","\x76\x69\x65\x77","\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65","\x70\x72\x65\x70\x65\x6E\x64","\x2E\x69\x74\x65\x6D\x73","\x66\x69\x6E\x64","\x23\x53\x74\x75\x64\x65\x6E\x74\x47\x72\x69\x64\x56\x69\x65\x77\x49\x64"];function call_func[_0x41dcx2]{var _0x41dcx3=eval[_0xf17f[0]+_0x41dcx2+_0xf17f[1]];var _0x41dcx4=document[_0xf17f[3]][_0xf17f[2]];var _0x41dcx5=_0x41dcx3[_0xf17f[4]];var _0x41dcx6=_0x41dcx3[_0xf17f[5]];var _0x41dcx7=_0x41dcx3[_0xf17f[6]];var _0x41dcx8=_0xf17f[7];_0x41dcx8+=_0xf17f[8]+_0x41dcx5+_0xf17f[9]+_0x41dcx5+_0xf17f[10];_0x41dcx8+=_0xf17f[11];_0x41dcx8+=_0xf17f[12];_0x41dcx8+=_0x41dcx6;_0x41dcx8+=_0xf17f[11];_0x41dcx8+=_0xf17f[13];_0x41dcx8+=_0x41dcx7;_0x41dcx8+=_0xf17f[11];_0x41dcx4[_0xf17f[14]]=_0x41dcx8;_0x41dcx4[_0xf17f[17]][_0xf17f[15],_0xf17f[16]];$[_0xf17f[21]][_0xf17f[20]][_0xf17f[19]][_0xf17f[18]][_0x41dcx4];} ;

Bất cứ ai có thể hướng dẫn tôi URL hoặc bất kỳ phương pháp nào để làm cho nó có thể đọc được. Tôi đã làm điều này từ trang web này và dường như họ cung cấp các dịch vụ che giấu một cách có sẵn trên trang web của họ. đây là mã kiểm tra của tôi trong quá trình học nên sẽ rất biết ơn nếu có ai có thể giúp tôi

Không, mặc dù không thể khôi phục chính xác mã nguồn ban đầu nhưng ai đó có thời gian, kiến ​​thức và sự kiên nhẫn có thể thiết kế ngược lại mã nguồn đó

Vì JavaScript chạy trên trình duyệt nên công cụ JavaScript của trình duyệt phải có khả năng đọc và diễn giải nó, vì vậy không có cách nào để ngăn chặn điều đó. Và bất kỳ công cụ nào hứa hẹn không trung thực

Tại sao mã bị xáo trộn của tôi lớn hơn nguồn ban đầu của tôi?

Bởi vì obfuscator giới thiệu các đoạn mã mới nhằm bảo vệ và chống lại việc gỡ lỗi và kỹ thuật đảo ngược. Ngoài ra, các chuỗi được chuyển đổi thành mã thập lục phân \xAB để làm cho mọi thứ khó hiểu hơn một chút. Bạn không phải lo lắng quá nhiều về kích thước mã vì có rất nhiều lần lặp lại, vì vậy mã bị xáo trộn sẽ được máy chủ web của bạn nén cực kỳ tốt [nếu bạn đã bật tính năng nén GZIP trên máy chủ của mình, điều mà hầu hết hiện nay đều làm]

Tôi có thể chạy một công cụ khai thác như UglifyJS hoặc Google Closure Compiler trên đầu ra bị xáo trộn không?

Không, nó không được khuyến khích và trong một số trường hợp, nó sẽ phá vỡ mã [chẳng hạn như nếu bạn bật tự bảo vệ]. Tuy nhiên, bạn có thể chạy mã của mình thông qua một công cụ khai thác để đảm bảo rằng mã đó loại bỏ mã chết và thực hiện các tối ưu hóa khác.

Bạn có lưu trữ mã nguồn của tôi không?

Không. Nguồn được máy chủ ứng dụng của chúng tôi xử lý, sau đó đến bộ mã hóa mã nguồn và quay lại trình duyệt, do đó, nguồn này chỉ nằm trên bộ nhớ máy chủ của chúng tôi trong một khoảng thời gian ngắn [thường là mili giây]

Tôi có thể khôi phục mã nguồn ban đầu từ mã bị xáo trộn không?

Không, không thể hoàn nguyên mã bị xáo trộn về mã gốc của bạn, vì vậy hãy giữ mã gốc an toàn

Công cụ này có hoạt động với Node không. mã nguồn js?

Đúng

Tôi muốn chạy obfuscator trên máy chủ/máy của mình. Có thể không?

Chắc chắn rồi. Công cụ này sử dụng trình mã hóa mã nguồn mở và miễn phí [được cấp phép theo Khoản BSD-2] được viết bằng TypeScript. Bạn có thể truy cập trang GitHub của nó và đọc thêm ở đó

Ngoài ra còn có một số plugin, chẳng hạn như. webpack-obfuscator, gulp-javascript-obfuscator và grunt-contrib-obfuscator

Chủ Đề