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); // //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ã đó: //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 = "//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 = "//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

Chủ đề