Some Assembly Required 1
This commit is contained in:
44
some_assembly_required_1/G82XCw5CX3.js
Normal file
44
some_assembly_required_1/G82XCw5CX3.js
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
const _0x402c=['value','2wfTpTR','instantiate','275341bEPcme','innerHTML','1195047NznhZg','1qfevql','input','1699808QuoWhA','Correct!','check_flag','Incorrect!','./JIFxzHyW8W','23SMpAuA','802698XOMSrr','charCodeAt','474547vVoGDO','getElementById','instance','copy_char','43591XxcWUl','504454llVtzW','arrayBuffer','2NIQmVj','result'];
|
||||||
|
const _0x4e0e=function(_0x553839,_0x53c021){
|
||||||
|
_0x553839=_0x553839-0x1d6;
|
||||||
|
let _0x402c6f=_0x402c[_0x553839];
|
||||||
|
return _0x402c6f;
|
||||||
|
};
|
||||||
|
|
||||||
|
(function(_0x76dd13,_0x3dfcae){
|
||||||
|
const _0x371ac6=_0x4e0e;
|
||||||
|
while(!![]){
|
||||||
|
try{
|
||||||
|
const _0x478583=-parseInt(_0x371ac6(0x1eb))+parseInt(_0x371ac6(0x1ed))+-parseInt(_0x371ac6(0x1db))*-parseInt(_0x371ac6(0x1d9))+-parseInt(_0x371ac6(0x1e2))*-parseInt(_0x371ac6(0x1e3))+-parseInt(_0x371ac6(0x1de))*parseInt(_0x371ac6(0x1e0))+parseInt(_0x371ac6(0x1d8))*parseInt(_0x371ac6(0x1ea))+-parseInt(_0x371ac6(0x1e5));
|
||||||
|
if(_0x478583===_0x3dfcae)break;
|
||||||
|
else _0x76dd13['push'](_0x76dd13['shift']());
|
||||||
|
}
|
||||||
|
catch(_0x41d31a){
|
||||||
|
_0x76dd13['push'](_0x76dd13['shift']());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
(_0x402c,0x994c3)
|
||||||
|
);
|
||||||
|
|
||||||
|
let exports;
|
||||||
|
(async()=>{
|
||||||
|
const _0x48c3be=_0x4e0e;
|
||||||
|
let _0x5f0229=await fetch(_0x48c3be(0x1e9)),
|
||||||
|
_0x1d99e9=await WebAssembly[_0x48c3be(0x1df)](
|
||||||
|
await _0x5f0229[_0x48c3be(0x1da)]()
|
||||||
|
),
|
||||||
|
_0x1f8628=_0x1d99e9[_0x48c3be(0x1d6)];
|
||||||
|
exports=_0x1f8628['exports'];
|
||||||
|
})();
|
||||||
|
|
||||||
|
function onButtonPress(){
|
||||||
|
const _0xa80748=_0x4e0e;
|
||||||
|
let _0x3761f8=document['getElementById'](_0xa80748(0x1e4))[_0xa80748(0x1dd)];
|
||||||
|
for(let _0x16c626=0x0;_0x16c626<_0x3761f8['length'];_0x16c626++){
|
||||||
|
exports[_0xa80748(0x1d7)](_0x3761f8[_0xa80748(0x1ec)](_0x16c626),_0x16c626);
|
||||||
|
}
|
||||||
|
exports['copy_char'](0x0,_0x3761f8['length']),
|
||||||
|
exports[_0xa80748(0x1e7)]()==0x1?document[_0xa80748(0x1ee)](_0xa80748(0x1dc))[_0xa80748(0x1e1)]=_0xa80748(0x1e6):document[_0xa80748(0x1ee)](_0xa80748(0x1dc))[_0xa80748(0x1e1)]=_0xa80748(0x1e8);
|
||||||
|
}
|
||||||
|
|
||||||
261
some_assembly_required_1/G82XCw5CX3.wasm
Normal file
261
some_assembly_required_1/G82XCw5CX3.wasm
Normal file
@@ -0,0 +1,261 @@
|
|||||||
|
(module
|
||||||
|
(table $table0 1 1 funcref)
|
||||||
|
(memory $memory0 2)
|
||||||
|
(global $global0 (mut i32) (i32.const 66864))
|
||||||
|
(global $global1 i32 (i32.const 1072))
|
||||||
|
(global $global2 i32 (i32.const 1024))
|
||||||
|
(global $global3 i32 (i32.const 1328))
|
||||||
|
(global $global4 i32 (i32.const 1024))
|
||||||
|
(global $global5 i32 (i32.const 66864))
|
||||||
|
(global $global6 i32 (i32.const 0))
|
||||||
|
(global $global7 i32 (i32.const 1))
|
||||||
|
(export "memory" (memory $memory0))
|
||||||
|
(export "__wasm_call_ctors" (func $func0))
|
||||||
|
(export "strcmp" (func $func1))
|
||||||
|
(export "check_flag" (func $func2))
|
||||||
|
(export "input" (global $global1))
|
||||||
|
(export "copy_char" (func $func3))
|
||||||
|
(export "__dso_handle" (global $global2))
|
||||||
|
(export "__data_end" (global $global3))
|
||||||
|
(export "__global_base" (global $global4))
|
||||||
|
(export "__heap_base" (global $global5))
|
||||||
|
(export "__memory_base" (global $global6))
|
||||||
|
(export "__table_base" (global $global7))
|
||||||
|
(func $func0
|
||||||
|
)
|
||||||
|
(func $func1 (param $var0 i32) (param $var1 i32) (result i32)
|
||||||
|
(local $var2 i32) (local $var3 i32) (local $var4 i32) (local $var5 i32) (local $var6 i32) (local $var7 i32) (local $var8 i32) (local $var9 i32) (local $var10 i32) (local $var11 i32) (local $var12 i32) (local $var13 i32) (local $var14 i32) (local $var15 i32) (local $var16 i32) (local $var17 i32) (local $var18 i32) (local $var19 i32) (local $var20 i32) (local $var21 i32) (local $var22 i32) (local $var23 i32) (local $var24 i32) (local $var25 i32) (local $var26 i32) (local $var27 i32) (local $var28 i32) (local $var29 i32) (local $var30 i32) (local $var31 i32) (local $var32 i32) (local $var33 i32) (local $var34 i32) (local $var35 i32) (local $var36 i32) (local $var37 i32) (local $var38 i32) (local $var39 i32) (local $var40 i32) (local $var41 i32) (local $var42 i32) (local $var43 i32)
|
||||||
|
global.get $global0
|
||||||
|
local.set $var2
|
||||||
|
i32.const 32
|
||||||
|
local.set $var3
|
||||||
|
local.get $var2
|
||||||
|
local.get $var3
|
||||||
|
i32.sub
|
||||||
|
local.set $var4
|
||||||
|
local.get $var4
|
||||||
|
local.get $var0
|
||||||
|
i32.store offset=24
|
||||||
|
local.get $var4
|
||||||
|
local.get $var1
|
||||||
|
i32.store offset=20
|
||||||
|
local.get $var4
|
||||||
|
i32.load offset=24
|
||||||
|
local.set $var5
|
||||||
|
local.get $var4
|
||||||
|
local.get $var5
|
||||||
|
i32.store offset=16
|
||||||
|
local.get $var4
|
||||||
|
i32.load offset=20
|
||||||
|
local.set $var6
|
||||||
|
local.get $var4
|
||||||
|
local.get $var6
|
||||||
|
i32.store offset=12
|
||||||
|
block $label1
|
||||||
|
loop $label2
|
||||||
|
local.get $var4
|
||||||
|
i32.load offset=16
|
||||||
|
local.set $var7
|
||||||
|
i32.const 1
|
||||||
|
local.set $var8
|
||||||
|
local.get $var7
|
||||||
|
local.get $var8
|
||||||
|
i32.add
|
||||||
|
local.set $var9
|
||||||
|
local.get $var4
|
||||||
|
local.get $var9
|
||||||
|
i32.store offset=16
|
||||||
|
local.get $var7
|
||||||
|
i32.load8_u
|
||||||
|
local.set $var10
|
||||||
|
local.get $var4
|
||||||
|
local.get $var10
|
||||||
|
i32.store8 offset=11
|
||||||
|
local.get $var4
|
||||||
|
i32.load offset=12
|
||||||
|
local.set $var11
|
||||||
|
i32.const 1
|
||||||
|
local.set $var12
|
||||||
|
local.get $var11
|
||||||
|
local.get $var12
|
||||||
|
i32.add
|
||||||
|
local.set $var13
|
||||||
|
local.get $var4
|
||||||
|
local.get $var13
|
||||||
|
i32.store offset=12
|
||||||
|
local.get $var11
|
||||||
|
i32.load8_u
|
||||||
|
local.set $var14
|
||||||
|
local.get $var4
|
||||||
|
local.get $var14
|
||||||
|
i32.store8 offset=10
|
||||||
|
local.get $var4
|
||||||
|
i32.load8_u offset=11
|
||||||
|
local.set $var15
|
||||||
|
i32.const 255
|
||||||
|
local.set $var16
|
||||||
|
local.get $var15
|
||||||
|
local.get $var16
|
||||||
|
i32.and
|
||||||
|
local.set $var17
|
||||||
|
block $label0
|
||||||
|
local.get $var17
|
||||||
|
br_if $label0
|
||||||
|
local.get $var4
|
||||||
|
i32.load8_u offset=11
|
||||||
|
local.set $var18
|
||||||
|
i32.const 255
|
||||||
|
local.set $var19
|
||||||
|
local.get $var18
|
||||||
|
local.get $var19
|
||||||
|
i32.and
|
||||||
|
local.set $var20
|
||||||
|
local.get $var4
|
||||||
|
i32.load8_u offset=10
|
||||||
|
local.set $var21
|
||||||
|
i32.const 255
|
||||||
|
local.set $var22
|
||||||
|
local.get $var21
|
||||||
|
local.get $var22
|
||||||
|
i32.and
|
||||||
|
local.set $var23
|
||||||
|
local.get $var20
|
||||||
|
local.get $var23
|
||||||
|
i32.sub
|
||||||
|
local.set $var24
|
||||||
|
local.get $var4
|
||||||
|
local.get $var24
|
||||||
|
i32.store offset=28
|
||||||
|
br $label1
|
||||||
|
end $label0
|
||||||
|
local.get $var4
|
||||||
|
i32.load8_u offset=11
|
||||||
|
local.set $var25
|
||||||
|
i32.const 255
|
||||||
|
local.set $var26
|
||||||
|
local.get $var25
|
||||||
|
local.get $var26
|
||||||
|
i32.and
|
||||||
|
local.set $var27
|
||||||
|
local.get $var4
|
||||||
|
i32.load8_u offset=10
|
||||||
|
local.set $var28
|
||||||
|
i32.const 255
|
||||||
|
local.set $var29
|
||||||
|
local.get $var28
|
||||||
|
local.get $var29
|
||||||
|
i32.and
|
||||||
|
local.set $var30
|
||||||
|
local.get $var27
|
||||||
|
local.set $var31
|
||||||
|
local.get $var30
|
||||||
|
local.set $var32
|
||||||
|
local.get $var31
|
||||||
|
local.get $var32
|
||||||
|
i32.eq
|
||||||
|
local.set $var33
|
||||||
|
i32.const 1
|
||||||
|
local.set $var34
|
||||||
|
local.get $var33
|
||||||
|
local.get $var34
|
||||||
|
i32.and
|
||||||
|
local.set $var35
|
||||||
|
local.get $var35
|
||||||
|
br_if $label2
|
||||||
|
end $label2
|
||||||
|
local.get $var4
|
||||||
|
i32.load8_u offset=11
|
||||||
|
local.set $var36
|
||||||
|
i32.const 255
|
||||||
|
local.set $var37
|
||||||
|
local.get $var36
|
||||||
|
local.get $var37
|
||||||
|
i32.and
|
||||||
|
local.set $var38
|
||||||
|
local.get $var4
|
||||||
|
i32.load8_u offset=10
|
||||||
|
local.set $var39
|
||||||
|
i32.const 255
|
||||||
|
local.set $var40
|
||||||
|
local.get $var39
|
||||||
|
local.get $var40
|
||||||
|
i32.and
|
||||||
|
local.set $var41
|
||||||
|
local.get $var38
|
||||||
|
local.get $var41
|
||||||
|
i32.sub
|
||||||
|
local.set $var42
|
||||||
|
local.get $var4
|
||||||
|
local.get $var42
|
||||||
|
i32.store offset=28
|
||||||
|
end $label1
|
||||||
|
local.get $var4
|
||||||
|
i32.load offset=28
|
||||||
|
local.set $var43
|
||||||
|
local.get $var43
|
||||||
|
return
|
||||||
|
)
|
||||||
|
(func $func2 (result i32)
|
||||||
|
(local $var0 i32) (local $var1 i32) (local $var2 i32) (local $var3 i32) (local $var4 i32) (local $var5 i32) (local $var6 i32) (local $var7 i32) (local $var8 i32) (local $var9 i32) (local $var10 i32)
|
||||||
|
i32.const 0
|
||||||
|
local.set $var0
|
||||||
|
i32.const 1072
|
||||||
|
local.set $var1
|
||||||
|
i32.const 1024
|
||||||
|
local.set $var2
|
||||||
|
local.get $var2
|
||||||
|
local.get $var1
|
||||||
|
call $func1
|
||||||
|
local.set $var3
|
||||||
|
local.get $var3
|
||||||
|
local.set $var4
|
||||||
|
local.get $var0
|
||||||
|
local.set $var5
|
||||||
|
local.get $var4
|
||||||
|
local.get $var5
|
||||||
|
i32.ne
|
||||||
|
local.set $var6
|
||||||
|
i32.const -1
|
||||||
|
local.set $var7
|
||||||
|
local.get $var6
|
||||||
|
local.get $var7
|
||||||
|
i32.xor
|
||||||
|
local.set $var8
|
||||||
|
i32.const 1
|
||||||
|
local.set $var9
|
||||||
|
local.get $var8
|
||||||
|
local.get $var9
|
||||||
|
i32.and
|
||||||
|
local.set $var10
|
||||||
|
local.get $var10
|
||||||
|
return
|
||||||
|
)
|
||||||
|
(func $func3 (param $var0 i32) (param $var1 i32)
|
||||||
|
(local $var2 i32) (local $var3 i32) (local $var4 i32) (local $var5 i32) (local $var6 i32)
|
||||||
|
global.get $global0
|
||||||
|
local.set $var2
|
||||||
|
i32.const 16
|
||||||
|
local.set $var3
|
||||||
|
local.get $var2
|
||||||
|
local.get $var3
|
||||||
|
i32.sub
|
||||||
|
local.set $var4
|
||||||
|
local.get $var4
|
||||||
|
local.get $var0
|
||||||
|
i32.store offset=12
|
||||||
|
local.get $var4
|
||||||
|
local.get $var1
|
||||||
|
i32.store offset=8
|
||||||
|
local.get $var4
|
||||||
|
i32.load offset=12
|
||||||
|
local.set $var5
|
||||||
|
local.get $var4
|
||||||
|
i32.load offset=8
|
||||||
|
local.set $var6
|
||||||
|
local.get $var6
|
||||||
|
local.get $var5
|
||||||
|
i32.store8 offset=1072
|
||||||
|
return
|
||||||
|
)
|
||||||
|
(data (i32.const 1024) "picoCTF{d88090e679c48f3945fcaa6a7d6d70c5}\00\00")
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user