Skip to content

shiftmeplease/hcaptcha

Repository files navigation

Test Task for Javascript Reverse Engineer at ZennoLab

Abandoned

Attempt to reverse engineer a wasm+js code of Hcaptcha's HSW.js Hcaptcha uses rust->wasm

Workflow in order>>

Steps[1,2,3] are attempts to static analysis. 1: Manual rename of all calls to Decode String and replacing values with regexp 2: Replacing of MemberExpressions and some other things, idk 3: Manual investigating Abandoned

ChromeDevtoolsProtocol>>

Entry point is index.mjs with npm modules: "chrome-launcher", "chrome-remote-interface" Starts browser, navigates to target website. Removes all integrity checks, decoding 'HSW.js' strings on the fly and some other deobfuscation techniques from ben-sb/obfuscator-io-deobfuscator Abandoned because main problem isn't JavaScript

Local Dynamic Analysis.

Final hsw.js located here.

Start a server: live-server --no-browser --port=8081 local/.

/index_wasm.html is raw wasm, maybe one of optimsed versions /index_wasm2js.html is javascipt version of wasm

Attempts to make 'wasm' code more readable with binaryaen/wasm-opt(also wabt) and iterative manner

Nothing but suffer, abandoned

Hints:

file.b.* is beautified

Useful tools & links

Javascript Deobfuscation:

CDP:

WASM:

Hcaptcha related:

Tags: wasm, Wasm2js, Webassembly, Hcaptcha, JavaScript, Deobfuscation, Reverse engineering

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published