relative / synchrony

javascript-obfuscator cleaner & deobfuscator
https://deobfuscate.relative.im/
GNU General Public License v3.0
849 stars 109 forks source link

Example file on README won't properly decode after #280b69c #23

Open hazarkarabay opened 2 years ago

hazarkarabay commented 2 years ago

I found this while trying to use the latest version from git (npm install --global relative/synchrony#master)

The demo file shown on the README will not properly decode with the commit 280b69c. (last working commit is 126aa53)

The NPM and 2.3.0 release are also fine, since they based on an earlier commit.

git checkout master
npm remove --global deobfuscator
npm i && npm run build && npm link
synchrony deobfuscate obfuscated.js
Output ``` let num = 0 function main() { const _0x135624 = { DiBMh: _0x489a5c(292, 'kE3k', 310, '0x121', 301) + _0x489a5c(312, 'MrBu', '0x139', 315, 311), ySWWD: function (_0x48f368, _0x58b295) { return _0x48f368 < _0x58b295 }, bSqkZ: function (_0x33bc27, _0x5dc9b7) { return _0x33bc27 * _0x5dc9b7 }, NSbGK: _0x22ead8(284, 307, 288, '0x138', '0x12b') + _0x2c8924('oh8q', '0x442', '0x44a', 1092, 1086), CIMSL: _0x489a5c(341, 'lO^@', '0x157', '0x14d', 328) + _0x30be1c(-284, -277, -285, -287, -295), mprfv: function (_0x5077b4, _0x14ee58) { return _0x5077b4(_0x14ee58) }, } console[_0x22ead8('0x12f', 309, '0x12b', '0x12a', '0x125')]( _0x135624[_0x2c8924('x^KH', '0x44b', '0x438', '0x447', '0x43c')], num ) for ( let _0x17ac87 = 0; _0x135624[_0x4612d9('0x38f', 897, 910, 898, '%AsJ')](_0x17ac87, 50); ++_0x17ac87 ) { num = _0x135624[_0x489a5c('0x150', 'Cni8', 337, '0x143', 321)](_0x17ac87, 2) console[_0x350749('0x4bf', 1217, '0x4c9', '0x4bc', 1200)]( _0x135624[_0x350749('0x4be', '0x4b8', 1198, '0x4c5', 1227)], num ) } console[_0x22ead8('0x115', '0x132', '0x115', '0x132', 293)]( _0x135624[_0x30be1c(-285, -269, -291, -301, -281)], num ) _0x135624[_0x2aab16(-563, -546, -536, 'RPZP', -552)](test, num) } const test = (_0x50bdc8) => { const _0x64929a = { Jeuem: function (_0x5acdac, _0x2bf437) { return _0x5acdac + _0x2bf437 }, gRfRc: function (_0x195871, _0x1161a5) { return _0x195871 * _0x1161a5 }, PhiUP: _0x51df8f(367, '0x169', 356, '0x165', '0x15a') + 'ge', } console[_0x119e76(898, 898, 910, 'yfQ9', '0x380')]( _0x64929a[_0x93f775(-754, -746, -746, -738, -740)]( _0x50bdc8, _0x64929a[_0x119e76('0x377', 898, '0x385', '4Q[v', '0x382')](32, 10) ) ) console[_0x51df8f('0x173', 390, 376, 390, '0x17f')](_0x64929a.PhiUP) } main() ```
git checkout 126aa53
npm remove --global deobfuscator
npm i && npm run build && npm link
synchrony deobfuscate obfuscated.js
Output ``` let num = 0 function main() { console.log('main executed, num =', num) for (let _0x17ac87 = 0; _0x17ac87 < 50; ++_0x17ac87) { num = _0x17ac87 * 2 console.log('in loop, num =', num) } console.log('out of loop, num =', num) test(num) } const test = (_0x50bdc8) => { console.log(_0x50bdc8 + 320) console.log('test message') } main() ```