A dynamic deobfuscator for cloudflare's antibot javascript challenge
- Unconceals String Conceals
c('0x19e')
// output
"length"
- Unflattens Control Flow Flattening Protection
_[_[1]] = _[1]
for (; _[0];) switch (_[_[1]]) {
case _[2]:
console.log("2")
return
case _[1]:
console.log("1")
_[_[1]] = _[2]
break
}
// output
console.log("1")
console.log("2")
- Simplifies Proxy Binary Functions
WEGiQ = function (I, J) {
return I + J;
}
WEGiQ(d._cf_chl_opt.cRay, "_")
// Simplifies to
d._cf_chl_opt.cRay + "_"
Paste the challenge script into input/main_challenge.js
Run
npm install
npm start