Skip to content

Commit a2bb42c

Browse files
committed
Closes #2; Fix TextEncoder error
1 parent 0f39c67 commit a2bb42c

File tree

1 file changed

+76
-1
lines changed

1 file changed

+76
-1
lines changed

Helpers/script.js

Lines changed: 76 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,80 @@
11
const KNOWN_DYNAMIC_FUNC = ['ulns', 'cwkfcplc', 'dnvffnze', 'kgaitijd', 'polorucp'];
22

3+
function TextEncoder() {
4+
}
5+
6+
TextEncoder.prototype.encode = function (string) {
7+
var octets = [];
8+
var length = string.length;
9+
var i = 0;
10+
while (i < length) {
11+
var codePoint = string.codePointAt(i);
12+
var c = 0;
13+
var bits = 0;
14+
if (codePoint <= 0x0000007F) {
15+
c = 0;
16+
bits = 0x00;
17+
} else if (codePoint <= 0x000007FF) {
18+
c = 6;
19+
bits = 0xC0;
20+
} else if (codePoint <= 0x0000FFFF) {
21+
c = 12;
22+
bits = 0xE0;
23+
} else if (codePoint <= 0x001FFFFF) {
24+
c = 18;
25+
bits = 0xF0;
26+
}
27+
octets.push(bits | (codePoint >> c));
28+
c -= 6;
29+
while (c >= 0) {
30+
octets.push(0x80 | ((codePoint >> c) & 0x3F));
31+
c -= 6;
32+
}
33+
i += codePoint >= 0x10000 ? 2 : 1;
34+
}
35+
return octets;
36+
}
37+
38+
function TextDecoder() {
39+
}
40+
41+
TextDecoder.prototype.decode = function (octets) {
42+
var string = "";
43+
var i = 0;
44+
while (i < octets.length) {
45+
var octet = octets[i];
46+
var bytesNeeded = 0;
47+
var codePoint = 0;
48+
if (octet <= 0x7F) {
49+
bytesNeeded = 0;
50+
codePoint = octet & 0xFF;
51+
} else if (octet <= 0xDF) {
52+
bytesNeeded = 1;
53+
codePoint = octet & 0x1F;
54+
} else if (octet <= 0xEF) {
55+
bytesNeeded = 2;
56+
codePoint = octet & 0x0F;
57+
} else if (octet <= 0xF4) {
58+
bytesNeeded = 3;
59+
codePoint = octet & 0x07;
60+
}
61+
if (octets.length - i - bytesNeeded > 0) {
62+
var k = 0;
63+
while (k < bytesNeeded) {
64+
octet = octets[i + k + 1];
65+
codePoint = (codePoint << 6) | (octet & 0x3F);
66+
k += 1;
67+
}
68+
} else {
69+
codePoint = 0xFFFD;
70+
bytesNeeded = octets.length - i;
71+
}
72+
string += String.fromCodePoint(codePoint);
73+
i += bytesNeeded + 1;
74+
}
75+
return string
76+
}
77+
378
function containsLib(library){
479
return Process.getModuleByName(library);
580
}
@@ -862,4 +937,4 @@ const OEMCrypto_LicenseType = {
862937

863938
rpc.exports.inject = inject;
864939

865-
rpc.exports.widevinelibrary = containsLib;
940+
rpc.exports.widevinelibrary = containsLib;

0 commit comments

Comments
 (0)