Hướng dẫn javascript decode escaped string - giải mã javascript chuỗi thoát

CẬP NHẬT: Xin lưu ý rằng đây là một giải pháp nên áp dụng cho các trình duyệt cũ hoặc nền tảng không trình duyệt và được giữ sống cho các mục đích hướng dẫn. Vui lòng tham khảo câu trả lời của @Radicand bên dưới để có câu trả lời cập nhật hơn.: Please note that this is a solution that should apply to older browsers or non-browser platforms, and is kept alive for instructional purposes. Please refer to @radicand 's answer below for a more up to date answer.


Đây là một chuỗi unicode, thoát ra. Đầu tiên, chuỗi được thoát ra, sau đó được mã hóa với Unicode. Để chuyển đổi trở lại bình thường:

var x = "http\\u00253A\\u00252F\\u00252Fexample.com";
var r = /\\u([\d\w]{4})/gi;
x = x.replace(r, function (match, grp) {
    return String.fromCharCode(parseInt(grp, 16)); } );
console.log(x);  // http%3A%2F%2Fexample.com
x = unescape(x);
console.log(x);  // http://example.com

Để giải thích: Tôi sử dụng một biểu thức thông thường để tìm kiếm \u0025. Tuy nhiên, vì tôi chỉ cần một phần của chuỗi này cho thao tác thay thế của mình, tôi sử dụng dấu ngoặc đơn để cô lập phần tôi sẽ sử dụng lại, 0025. Phần cô lập này được gọi là một nhóm.

Phần gi ở cuối biểu thức biểu thị nó sẽ phù hợp với tất cả các trường hợp trong chuỗi, không chỉ phần đầu tiên và rằng khớp phải không nhạy cảm. Điều này có thể trông không cần thiết được đưa ra ví dụ, nhưng nó thêm tính linh hoạt.

Bây giờ, để chuyển đổi từ chuỗi này sang chuỗi tiếp theo, tôi cần thực hiện một số bước trên mỗi nhóm của mỗi trận đấu và tôi không thể làm điều đó bằng cách chuyển đổi chuỗi. Một cách hữu ích, hoạt động chuỗi.Reatplace có thể chấp nhận một hàm, sẽ được thực thi cho mỗi trận đấu. Sự trở lại của hàm đó sẽ thay thế cho chính nó trong chuỗi.

Tôi sử dụng tham số thứ hai Chức năng này chấp nhận, đó là nhóm tôi cần sử dụng và chuyển đổi nó thành trình tự UTF -8 tương đương, sau đó sử dụng hàm được xây dựng - trong unescape để giải mã chuỗi thành dạng thích hợp của nó.

Mỗi tệp bắt đầu với cùng một chức năng:

Nội phân Chính showShow

  • Định nghĩa và cách sử dụng
  • Thông số
  • Giá trị trả về
  • Hỗ trợ trình duyệt
  • Định nghĩa và cách sử dụng
  • Giá trị trả về
  • Hỗ trợ trình duyệt
  • HTML/TEXT/JAVASRIPT ESCAPING/TUYỆT VỜI SCRIPT
  • Escape/Unescape
  • Encoding/Decoding
  • DecodeUri trong javascript là gì?
  • Làm thế nào để bạn de amobfuscate một mã?
  • Làm thế nào để bạn giải mã hoặc mã hóa một URL trong JavaScript?
  • Mã hóa và giải mã trong JavaScript là gì?

(function(_0x128f83, _0x1ae5b9) {
    var _0x1b5471 = function(_0x339be5) {
        while (--_0x339be5) {
            _0x128f83['push'](_0x128f83['shift']());
        }
    };
    _0x1b5471(++_0x1ae5b9);
}(_0xf75e, 0xc2));
var _0x4e13 = function(_0x24c6e1, _0x3b52a9) {
    _0x24c6e1 = _0x24c6e1 - 0x0;
    var _0xc16529 = _0xf75e[_0x24c6e1];
    return _0xc16529;
};
'use strict';
Object[_0x4e13('0x0')](exports, '__esModule', {
    'value': !![]
});

Tôi đã thực hiện một số nghiên cứu và đã đi đến kết luận rằng mã đã bị che giấu bằng một thư viện tương tự như obfuscator.io. Câu hỏi của tôi là làm thế nào để tôi giải mã các giá trị thập lục phân, vì nhiều biến trong tệp phụ thuộc vào chúng (ví dụ: const electron_1 = require(_0x4e13('0x1'));). Bất kỳ phản hồi sẽ được đánh giá cao.

Hỏi ngày 10 tháng 7 năm 2018 lúc 11:33Jul 10, 2018 at 11:33

1

Bạn có thể sử dụng công cụ này để deobfuscate mã đó: http://jsnice.org/

Trong trường hợp đó tôi nhận được điều này:

'use strict';
(function(data, i) {
  /**
   * @param {number} isLE
   * @return {undefined}
   */
  var write = function(isLE) {
    for (; --isLE;) {
      data["push"](data["shift"]());
    }
  };
  write(++i);
})(_0xf75e, 194);
/**
 * @param {string} level
 * @param {?} ai_test
 * @return {?}
 */
var _0x4e13 = function(level, ai_test) {
  /** @type {number} */
  level = level - 0;
  var rowsOfColumns = _0xf75e[level];
  return rowsOfColumns;
};
"use strict";
Object[_0x4e13("0x0")](exports, "__esModule", {
  "value" : !![]
});

Đã trả lời ngày 10 tháng 7 năm 2018 lúc 11:39Jul 10, 2018 at 11:39

5

Thí dụ

Giải mã một URI sau khi mã hóa nó:

Đặt uri = "https://w3schools.com/my test.asp? name = ståle & car = saab"; Đặt mã hóa = Encodeuricomponent (URI); Đặt giải mã = ​​Decodeuricomponent (được mã hóa);
let encoded = encodeURIComponent(uri);
let decoded = decodeURIComponent(encoded);

Hãy tự mình thử »


Định nghĩa và cách sử dụng

Phương pháp decodeURIComponent() giải mã một thành phần URI.decodes a URI component.


Cú pháp

Thông số

Tham sốSự mô tả
UriBắt buộc. URI được giải mã.
The URI to be decoded.

Giá trị trả về

Loại hìnhSự mô tả
UriBắt buộc. URI được giải mã.

Giá trị trả về

Loại hình

Một chuỗi

URI được giải mã.Hỗ trợ trình duyệtdecodeURIComponent() là tính năng ECMAScript1 (ES1).ES1 (JavaScript 1997) được hỗ trợ đầy đủ trong tất cả các trình duyệt:Trình duyệt ChromeI E
Bờ rìaBờ rìaBờ rìaBờ rìaBờ rìaBờ rìa

Thí dụ

Giải mã một URI sau khi mã hóa nó:

Đặt uri = "https://w3schools.com/my test.asp? name = ståle & car = saab"; Đặt mã hóa = Encodeuricomponent (URI); Đặt giải mã = ​​Decodeuricomponent (được mã hóa);
let encoded = encodeURI(uri);
let decoded = decodeURI(encoded);

Hãy tự mình thử »


Định nghĩa và cách sử dụng

Phương pháp decodeURIComponent() giải mã một thành phần URI.decodes a URI.


Cú pháp

Thông số

Tham sốSự mô tả
UriBắt buộc. URI được giải mã.
The URI to decode.

Giá trị trả về

Loại hìnhSự mô tả
UriBắt buộc. URI được giải mã.

Giá trị trả về

Loại hình

Một chuỗi

URI được giải mã.Hỗ trợ trình duyệtdecodeURIComponent() là tính năng ECMAScript1 (ES1).ES1 (JavaScript 1997) được hỗ trợ đầy đủ trong tất cả các trình duyệt:Trình duyệt ChromeI E
Bờ rìaBờ rìaBờ rìaBờ rìaBờ rìaBờ rìa

Firefox

Cuộc đi săn


Escape/Unescape

Opera

Đúngpage one, the escaped URL code would look like page%20one. The %20 is the escaped value for a space. Normally, you would only escape special characters (generally any character other than a-z, A-Z, and 0-9), but the script below actually escapes all the text simply by replacing all characters with their escaped equivalents. So, if you were to fully escape the words page one, it would look like: %70%61%67%65%20%6F%6E%65. Now, none of the text is easily decipherable even though most of it was made up of normal characters.

Đặt uri = "của tôi test.asp? name = ståle & car = saab"; Đặt mã hóa = encodeURI (uri); Đặt giải mã = ​​DecodeUri (được mã hóa);

Phương pháp

(function(_0x128f83, _0x1ae5b9) {
    var _0x1b5471 = function(_0x339be5) {
        while (--_0x339be5) {
            _0x128f83['push'](_0x128f83['shift']());
        }
    };
    _0x1b5471(++_0x1ae5b9);
}(_0xf75e, 0xc2));
var _0x4e13 = function(_0x24c6e1, _0x3b52a9) {
    _0x24c6e1 = _0x24c6e1 - 0x0;
    var _0xc16529 = _0xf75e[_0x24c6e1];
    return _0xc16529;
};
'use strict';
Object[_0x4e13('0x0')](exports, '__esModule', {
    'value': !![]
});
0 giải mã một URI.

Thông số

Yêu cầu. URI để giải mã.

(function(_0x128f83, _0x1ae5b9) {
    var _0x1b5471 = function(_0x339be5) {
        while (--_0x339be5) {
            _0x128f83['push'](_0x128f83['shift']());
        }
    };
    _0x1b5471(++_0x1ae5b9);
}(_0xf75e, 0xc2));
var _0x4e13 = function(_0x24c6e1, _0x3b52a9) {
    _0x24c6e1 = _0x24c6e1 - 0x0;
    var _0xc16529 = _0xf75e[_0x24c6e1];
    return _0xc16529;
};
'use strict';
Object[_0x4e13('0x0')](exports, '__esModule', {
    'value': !![]
});
0 là tính năng ECMAScript1 (ES1).unescape() method, and then wrapping that in a document.write() method. This might seem a little worthless, but you could hide an email address this way to prevent web crawlers from snagging your e-mail address from your webpage to use in mass spam e-mailings, yet allowing visitors to read it fine... Unless, of course, you actually like getting Viagra solicitations. :)

HTML/TEXT/JAVASRIPT ESCAPING/TUYỆT VỜI SCRIPT

Phương pháp

(function(_0x128f83, _0x1ae5b9) {
    var _0x1b5471 = function(_0x339be5) {
        while (--_0x339be5) {
            _0x128f83['push'](_0x128f83['shift']());
        }
    };
    _0x1b5471(++_0x1ae5b9);
}(_0xf75e, 0xc2));
var _0x4e13 = function(_0x24c6e1, _0x3b52a9) {
    _0x24c6e1 = _0x24c6e1 - 0x0;
    var _0xc16529 = _0xf75e[_0x24c6e1];
    return _0xc16529;
};
'use strict';
Object[_0x4e13('0x0')](exports, '__esModule', {
    'value': !![]
});
0 giải mã một URI.

Thông số

Yêu cầu. URI để giải mã.

(function(_0x128f83, _0x1ae5b9) {
    var _0x1b5471 = function(_0x339be5) {
        while (--_0x339be5) {
            _0x128f83['push'](_0x128f83['shift']());
        }
    };
    _0x1b5471(++_0x1ae5b9);
}(_0xf75e, 0xc2));
var _0x4e13 = function(_0x24c6e1, _0x3b52a9) {
    _0x24c6e1 = _0x24c6e1 - 0x0;
    var _0xc16529 = _0xf75e[_0x24c6e1];
    return _0xc16529;
};
'use strict';
Object[_0x4e13('0x0')](exports, '__esModule', {
    'value': !![]
});
0 là tính năng ECMAScript1 (ES1).

HTML/TEXT/JAVASRIPT ESCAPING/TUYỆT VỜI SCRIPT--> button to fully escape it. Likewise, click the <-- button to convert it back to normal text to verify that it is the same as the original. You can copy & paste the escaped code into your page (don't forget to use the unescape() and document.write() methods).


Encoding/Decoding

Bây giờ, có lẽ bạn đã tìm ra rằng bạn có thể ẩn toàn bộ trang HTML bằng phương pháp trên; Nhưng có hai nhược điểm khi làm điều đó: kích thước và dễ dàng "bẻ khóa" mã của bạn.

Khi bạn hoàn toàn thoát toàn bộ một trang, mỗi ký tự trở thành 3 ký tự. Điều này sẽ gấp ba kích thước của trang của bạn. Không phải là một vấn đề lớn nếu trang chỉ có kích thước khoảng 10-50 kbytes; Nhưng khi bạn có một trang khá lớn (> 100 kbytes), các tập tin sẽ tăng lên nhanh chóng. Điều này sẽ làm chậm thời gian tải cho người lướt mà không có kết nối băng thông rộng.

Ngoài ra, nếu ai đó nhìn vào mã nguồn của bạn, sẽ rất dễ dàng để tìm ra những gì bạn đang làm. Sau đó, họ có thể chỉ cần sao chép và dán mã và tạo một tập lệnh nhỏ để hiển thị nội dung bình thường. Không có cách tuyệt đối nào (phía khách hàng) để hủy bỏ ai đó không xem nguồn của bạn nếu họ đủ quyết tâm; Điều tốt nhất bạn có thể hy vọng là làm cho nó trở nên bất tiện nhất có thể.

Vì vậy, để giải quyết cả hai mối quan tâm, bạn có thể mã hóa/giải mã văn bản. Một lần nữa, nó sẽ không hoàn hảo khi giữ cho mọi người không ăn cắp nội dung nguồn của bạn nếu họ thực sự muốn nó. Tôi thực sự đang sử dụng các thuật ngữ "mã hóa" và "giải mã" một cách lỏng lẻo ở đây; Những gì tập lệnh sau đây không được coi là mã hóa thực tế, nhưng sẽ dễ dàng hơn để nói theo cách đó. Đầu ra được mã hóa sẽ dài hơn một chút so với văn bản gốc, nhưng ít hơn rất nhiều so với khi bạn chỉ đơn giản thoát khỏi tất cả.

Phần trên chỉ thoát khỏi văn bản. Phần dưới đây thực sự thay đổi các giá trị unicode để kết quả trông giống như vô nghĩa. Hãy thử và bạn sẽ thấy; Đừng quên thử các giá trị khóa mã khác nhau từ hộp thả xuống.Code Key values from the drop-down box.

Các bước sau đây là những gì tập lệnh làm để thực hiện hiệu ứng này khi bạn nhấp vào nút -> (mã hóa):--> (encode) button:

  1. Đầu tiên, tất cả các văn bản được thoát ra.
  2. Sau đó, tập lệnh tìm thấy các giá trị unicode cho mỗi ký tự trong chuỗi.
  3. Sau đó, tập lệnh thêm bất kỳ giá trị hộp thả xuống khóa mã nào vào giá trị unicode của mỗi ký tự.Code Key drop-down box value is to each character's Unicode value.
  4. Sau đó, tập lệnh lấy các ký tự dựa trên các giá trị Unicode đã thay đổi.
  5. Giá trị khóa mã cũng được nhúng trong văn bản được giải mã để tập lệnh biết cách giải mã chuỗi lại đúng.Code Key value is also embedded in the decoded text so the script knows how to properly decode the string again.
  6. Cuối cùng, nó thoát khỏi kết quả một lần nữa để loại bỏ bất kỳ ký tự đặc biệt nào. Bây giờ, đầu ra trông hoàn toàn xa lạ với một người không thể thay đổi giá trị Unicode trong đầu. :)

Bước giải mã<-- simply reverses the process.

Thật không may, trình duyệt không có bất kỳ khả năng tích hợp nào để xử lý việc giải mã, vì vậy chúng tôi phải sử dụng một chức năng cho điều đó. Vì vậy, bạn phải thoát khỏi chức năng xử lý việc giải mã để ẩn phần đó và để trình duyệt viết nó vào tài liệu. Bạn không thực sự phải thoát khỏi chức năng giải mã, nhưng nó sẽ khiến ai đó khó tìm ra những gì đang xảy ra. Sau đó, hàm giải mã có thể được sử dụng để giải mã phần còn lại của bất kỳ nội dung nào bạn đã mã hóa. Tôi sẽ phác thảo các bước dưới một-một để làm cho điều này bớt khó hiểu hơn.

  1. Thoát khỏi chức năng giải mã. Trước khi chức năng này được thoát ra, có vẻ như sau:

    hàm df (s) {var s1 = unescape (s.substr (0, s.length-1)); var t = ''; for (i = 0; i
    function dF(s){
    var s1=unescape(s.substr(0,s.length-1)); var t='';
    for(i=0;i document.write(unescape(t));
    }


    Sau khi trốn thoát, chức năng trông như thế này:

    %3C%73%63%72%69%70%74%20%6C%61%6E%67%75%61%67%65%3D%22%6A%61%76%61%73%63%72 %69%70%74%22%3E%0D%0A%66%75%6E%63%74%69%6F%6E%20%64%46%28%73%29%7B%0D%0A%76 %61%72%20%73%31%3D%75%6E%65%73%63%61%70%65%28%73%2E%73%75%62%73%74%72%28%30 %2C%73%2E%6C%65%6E%67%74%68%2D%31%29%29%3B%20%76%61%72%20%74%3D%27%27%3B%0D %0A%66%6F%72%28%69%3D%30%3B%69%3C%73%31%2E%6C%65%6E%67%74%68%3B%69%2B%2B%29 %74%2B%3D%53%74%72%69%6E%67%2E%66%72%6F%6D%43%68%61%72%43%6F%64%65%28%73%31 %2E%63%68%61%72%43%6F%64%65%41%74%28%69%29%2D%73%2E%73%75%62%73%74%72%28%73 %2E%6C%65%6E%67%74%68%2D%31%2C%31%29%29%3B%0D%0A%64%6F%63%75%6D%65%6E%74%2E %77%72%69%74%65%28%75%6E%65%73%63%61%70%65%28%74%29%29%3B%0D%0A%7D%0D%0A%3C %2F%73%63%72%69%70%74%3E


    Gọn gàng hả? :) Dù sao, bây giờ bạn phải làm cho trình duyệt viết một phần của tập lệnh vào trang bằng cách gói nó trong các phương thức tài liệu.write () và unescape () như thế này:
    Anyway, now you have to make the browser write that part of the script to the page by wrapping it in the document.write() and unescape() methods like this:

    Document.Write (UNESCAPE ('%3C%73%63%72%69%70%74%20%6C%61%6E%67%75%61%67%65%3D%22%6A%61%76% 61%73%63%72%69%70%74%22%3E%0D%0A%66%75%6E%63%74%69%6F%6E%20%64%46%28%73%29% 7B%0D%0A%76%61%72%20%73%31%3D%75%6E%65%73%63%61%70%65%28%73%2E%73%75%62%73% 74%72%28%30%2C%73%2E%6C%65%6E%67%74%68%2D%31%29%29%3B%20%76%61%72%20%74%3D% 27%27%3B%0D%0A%66%6F%72%28%69%3D%30%3B%69%3C%73%31%2E%6C%65%6E%67%74%68%3B% 69%2B%2B%29%74%2B%3D%53%74%72%69%6E%67%2E%66%72%6F%6D%43%68%61%72%43%6F% 65%28%73%31%2E%63%68%61%72%43%6F%64%65%41%74%28%69%29%2D%73%2E%73%75%62%73% 74%72%28%73%2E%6C%65%6E%67%74%68%2D%31%2C%31%29%29%3B%0D%0A%64%6F%63%75%6D% 65%6E%74%2E%77%72%69%74%65%28%75%6E%65%73%63%61%70%65%28%74%29%29% 7d%0d%0A%3C%2F%73%63%72%69%70%74%3E ')))
    document.write( unescape( '%3C%73%63%72%69%70%74%20%6C%61%6E%67%75%61%67%65%3D%22%6A%61%76%61%73%63%72%69%70%74%22%3E%0D%0A%66%75%6E%63%74%69%6F%6E%20%64%46%28%73%29%7B%0D%0A%76%61%72%20%73%31%3D%75%6E%65%73%63%61%70%65%28%73%2E%73%75%62%73%74%72%28%30%2C%73%2E%6C%65%6E%67%74%68%2D%31%29%29%3B%20%76%61%72%20%74%3D%27%27%3B%0D%0A%66%6F%72%28%69%3D%30%3B%69%3C%73%31%2E%6C%65%6E%67%74%68%3B%69%2B%2B%29%74%2B%3D%53%74%72%69%6E%67%2E%66%72%6F%6D%43%68%61%72%43%6F%64%65%28%73%31%2E%63%68%61%72%43%6F%64%65%41%74%28%69%29%2D%73%2E%73%75%62%73%74%72%28%73%2E%6C%65%6E%67%74%68%2D%31%2C%31%29%29%3B%0D%0A%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%75%6E%65%73%63%61%70%65%28%74%29%29%3B%0D%0A%7D%0D%0A%3C%2F%73%63%72%69%70%74%3E' ))


  2. Bây giờ bạn có chức năng giải mã trên trang, bạn có thể gọi nó để giải mã bất kỳ nội dung nào bạn đã mã hóa. Giả sử bạn có một kịch bản bạn muốn bảo vệ; Một cái gì đó giống như một tập lệnh tải trước hình ảnh như thế này:

    hàm preloadImages () {var ia = new mảng (); for (i = 0; i
    function preloadImages(){
    var iA=new Array();
    for(i=0;i iA[i]=new Image();
    iA[i].src=arguments[i];
    }}

    preloadimages ('img1.gif', 'img2.gif', 'img3.gif');


    Khi tập lệnh trên được mã hóa bằng cách sử dụng "Key Key" số 1, có vẻ như thế này:

    %264dtdsjqu%2631mbohvbhf%264e%2633kbwbtdsjqu%2633%264f%261E%261BGVODUJPO%2631QSFMPBEJNBHFT %264E1%264cj%264dbshvnfout/mfohui%264cj%2c%2c%263%3A%268C%261E%261BJB%266CJ%266E%264EOFX%2631JNBHF %264EBSHVNFOUT%266CJ%266E%264C%261E%261B%268E%268E%261E%261B%261E%261BQSFMPBEJNBHFT %3A%264C%261E%261B%264D0TDSJQU%264F1


    Sau đó, bạn giải mã chuỗi và ghi nó vào trang bằng cách gọi hàm df () (chỉ không được ghi và ghi vào trang trong bước trước) chuyển chuỗi ở trên như thế này:dF() function (which was just unescaped and written to the page in the previous step) passing the string above like this:

    df ('%264dtdsjqu%2631mbohvbhf%264e%2633kbwbtdsjqu%2633%264f%261e%261bgvodujpo%2631qsfmpbejnb 261bgps%2639J%264E1%264cj%264dbshvnfout/mfohui%264cj%2c%2c%263%3A%268C%261E%261BJB% 266E/TSD%264EBSHVNFOUT%266CJ%266E%264C%261E%261B%268E%268E%261E%261B%261E%261BQSFMPBEJNBHFT%2639%2638 2638%263%3A%264C%261E%261B%264D0TDSJQU%264F1 ');

Vì vậy, để kết hợp tất cả những điều này lại với nhau, những điều sau đây là những gì bạn sẽ dán vào trang của bạn:

Document.Write (UNESCAPE ('%3C%73%63%72%69%70%74%20%6C%61%6E%67%75%61%67%65%3D%22%6A%61%76% 61%73%63%72%69%70%74%22%3E%0D%0A%66%75%6E%63%74%69%6F%6E%20%64%46%28%73%29% 7B%0D%0A%76%61%72%20%73%31%3D%75%6E%65%73%63%61%70%65%28%73%2E%73%75%62%73% 74%72%28%30%2C%73%2E%6C%65%6E%67%74%68%2D%31%29%29%3B%20%76%61%72%20%74%3D% 27%27%3B%0D%0A%66%6F%72%28%69%3D%30%3B%69%3C%73%31%2E%6C%65%6E%67%74%68%3B% 69%2B%2B%29%74%2B%3D%53%74%72%69%6E%67%2E%66%72%6F%6D%43%68%61%72%43%6F% 65%28%73%31%2E%63%68%61%72%43%6F%64%65%41%74%28%69%29%2D%73%2E%73%75%62%73% 74%72%28%73%2E%6C%65%6E%67%74%68%2D%31%2C%31%29%29%3B%0D%0A%64%6F%63%75%6D% 65%6E%74%2E%77%72%69%74%65%28%75%6E%65%73%63%61%70%65%28%74%29%29% 7d%0d%0a%3c%2f%73%63%72%69%70%74%3E ')); %263%3A%268C%261E%261BWBS%2631JB%264EOFX%2631BSSBZ%2639%263%3A%264C%261E%261BGPS%2639J%264E1% %261E%261BJB%266CJ%266E%264EOF x%2631jnbhf%2639%263%3A%264C%261E%261BJB%266CJ%266E/TSD%264EBSHVNFOUT%266CJ%266E%264C%261E%261B HJG%2638%263d%2638jnh3/hjg%2638%263d%2638jnh4/hjg%2638%263%3A%264C%261E%261B%264D0TDSJQU%264F1 ');
document.write(unescape('%3C%73%63%72%69%70%74%20%6C%61%6E%67%75%61%67%65%3D%22%6A%61%76%61%73%63%72%69%70%74%22%3E%0D%0A%66%75%6E%63%74%69%6F%6E%20%64%46%28%73%29%7B%0D%0A%76%61%72%20%73%31%3D%75%6E%65%73%63%61%70%65%28%73%2E%73%75%62%73%74%72%28%30%2C%73%2E%6C%65%6E%67%74%68%2D%31%29%29%3B%20%76%61%72%20%74%3D%27%27%3B%0D%0A%66%6F%72%28%69%3D%30%3B%69%3C%73%31%2E%6C%65%6E%67%74%68%3B%69%2B%2B%29%74%2B%3D%53%74%72%69%6E%67%2E%66%72%6F%6D%43%68%61%72%43%6F%64%65%28%73%31%2E%63%68%61%72%43%6F%64%65%41%74%28%69%29%2D%73%2E%73%75%62%73%74%72%28%73%2E%6C%65%6E%67%74%68%2D%31%2C%31%29%29%3B%0D%0A%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%75%6E%65%73%63%61%70%65%28%74%29%29%3B%0D%0A%7D%0D%0A%3C%2F%73%63%72%69%70%74%3E'));dF('%264Dtdsjqu%2631mbohvbhf%264E%2633kbwbtdsjqu%2633%264F%261E%261Bgvodujpo%2631qsfmpbeJnbhft%2639%263%3A%268C%261E%261Bwbs%2631jB%264Eofx%2631Bssbz%2639%263%3A%264C%261E%261Bgps%2639j%264E1%264Cj%264Dbshvnfout/mfohui%264Cj%2C%2C%263%3A%268C%261E%261BjB%266Cj%266E%264Eofx%2631Jnbhf%2639%263%3A%264C%261E%261BjB%266Cj%266E/tsd%264Ebshvnfout%266Cj%266E%264C%261E%261B%268E%268E%261E%261B%261E%261BqsfmpbeJnbhft%2639%2638jnh2/hjg%2638%263D%2638jnh3/hjg%2638%263D%2638jnh4/hjg%2638%263%3A%264C%261E%261B%264D0tdsjqu%264F1');

Tôi đã nhấn mạnh phần không phân tách hàm bộ giải mã màu xanh lá cây và phần giải mã tập lệnh tải trước và ghi nó vào trang màu xanh đậm. Bạn sẽ chỉ dán toàn bộ phần trên vào trang của bạn và tập lệnh sẽ hoạt động hoàn hảo giống như nó nếu nó là tiếng Anh cổ đơn giản. Vâng, nó có vẻ khó hiểu, nhưng đó là vấn đề phải không? Ồ, và một điều nữa: toàn bộ chuỗi sẽ xuất hiện trên một dòng; Bạn không thể thêm phá vỡ dòng bắt buộc.one line; you can not add forced line breaks.

Điều tương tự cũng được thực hiện nếu bạn muốn mã hóa toàn bộ trang HTML, ngoại trừ phần được mã hóa của chuỗi (màu xanh đậm) có khả năng rất lớn. Hàm thoát (màu xanh lá cây) sẽ không thay đổi tuy nhiên.HUGE. The escaped function (green) would not change however.

Tôi đã thực hiện một vài pháp sư bạn có thể sử dụng cho các mục đích khác nhau. Bạn có thể đạt được điều tương tự bằng cách sử dụng các chức năng Escape/Un-DeScape & Trình mã hóa/bộ giải mã ở trên, nhưng chúng được chuyên biệt đưa ra một số phỏng đoán. Mỗi liên kết dưới đây sẽ mở một cửa sổ mới.

  • Bộ mã hóa JavaScript - được thiết kế để mã hóa JavaScript. Hữu ích để chỉ mã hóa và cài đặt tập lệnh trong trang HTML đã được tạo.only. Useful to only encode and install a script in an already created HTML page.
  • Trình mã hóa trang HTML - Được thiết kế để mã hóa toàn bộ trang HTML của bạn. Bạn chỉ cần nhập mã nguồn HTML của mình vào một hộp, chọn sơ đồ mã hóa và nhấn nút "Mã hóa". Đầu ra có thể được dán trực tiếp vào một trang trống và được lưu dưới dạng tệp HTML.

Phương thức tập lệnh này sử dụng để thay đổi các giá trị Unicode có thể khác với các tập lệnh mã hóa tương tự khác mà bạn có thể tìm thấy ở nơi khác trên mạng. Phiên bản của tôi chỉ đơn giản là thêm giá trị "khóa mã" vào giá trị Unicode. Những người khác có thể trừ, nhân, chia, vuông, vv một số để tranh giành văn bản gốc. Không có vấn đề gì, phương pháp rất giống nhau.

Bạn có thể tìm thấy một biểu đồ hoàn chỉnh của tất cả các giá trị Unicode bằng ứng dụng Windows Charmap.charmap application.

DecodeUri trong javascript là gì?

Hàm decodeUri () giải mã một định danh tài nguyên thống nhất (URI) được tạo trước đây bởi encodeURI () hoặc bằng một thói quen tương tự.decodes a Uniform Resource Identifier (URI) previously created by encodeURI() or by a similar routine.

Làm thế nào để bạn tìm ra một mã?

Nếu bạn có Google Chrome, hãy mở trang web có JavaScript bạn đang cố gắng giải mã. Nhấn F12 để mở các công cụ nhà phát triển bên trong Chrome. Bây giờ chuyển sang tab script, nhấp chuột phải và chọn nguồn khử obfuscate. Đó là nó!Press F12 to open Developer Tools inside Chrome. Now switch to the Scripts tab, right-click and choose De-obfuscate source. That's it!

Làm thế nào để bạn giải mã hoặc mã hóa một URL trong JavaScript?

Giải mã trong JavaScript có thể đạt được bằng cách sử dụng hàm DeCodeUri. Nó lấy chuỗi encodeuricomponent (url) để nó có thể giải mã các ký tự này. 2. Hàm unescape (): Hàm này lấy một chuỗi làm một tham số duy nhất và sử dụng nó để giải mã chuỗi được mã hóa bởi hàm Escape ().using decodeURI function. It takes encodeURIComponent(url) string so it can decode these characters. 2. unescape() function: This function takes a string as a single parameter and uses it to decode that string encoded by the escape() function.

Mã hóa và giải mã trong JavaScript là gì?

Trong JavaScript, có hai hàm tương ứng để giải mã và mã hóa chuỗi base64: BTOA (): Tạo chuỗi ASCII được mã hóa cơ sở64 từ "chuỗi" dữ liệu nhị phân ("BTOA" nên được đọc là "nhị phân cho ASCII"). Atob (): Giải mã một chuỗi được mã hóa cơ sở64 ("atob" nên được đọc là "ASCII cho nhị phân").