relative / synchrony

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

TypeError: UnaryExpression argument is not Literal #19

Closed djayemuted closed 2 years ago

djayemuted commented 2 years ago

I'm having an issue while trying to deobfuscate the code that's contained in this site: https://agma.io/js/ag194.js?v=190 I'm using the latest version.

Output Code: Running Simplify transformer Running MemberExpressionCleaner transformer Running LiteralMap transformer Running DeadCode transformer Running Demangle transformer Running StringDecoder transformer Found string array at _0x3859 # 1608 Found decoder function _0x1533 offset = -216 type = 0 Caught an error while attempting to run AST visitor! node = Node { type: 'FunctionDeclaration', start: 425379, end: 425401, range: [ 425379, 425401 ], id: Node { type: 'Identifier', start: 425388, end: 425397, range: [ 425388, 425397 ], name: '_0x151a5d' }, expression: false, generator: false, async: false, params: [], body: Node { type: 'BlockStatement', start: 425399, end: 425401, range: [ 425399, 425401 ], body: [] } } err = TypeError: Cannot read properties of undefined (reading 'type') at G (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:918) at FunctionDeclaration (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:16297) at s (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:25:147) at Object.skipThrough (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\node_modules\acorn-walk\dist\walk.js:186:39) at s (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:25:133) at Object.base.Program.base.BlockStatement.base.StaticBlock (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\node_modules\acorn-walk\dist\walk.js:198:7) at s (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:25:133) at Object.skipThrough (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\node_modules\acorn-walk\dist\walk.js:186:39) at s (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:25:133) at Object.base.Function (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\node_modules\acorn-walk\dist\walk.js:296:5) Found variable reference _0x29bb90 _0x1533 Found variable reference _0x3d46d4 _0x1533 Found variable reference _0x42cfe9 _0x1533 Found variable reference _0x518e86 _0x1533 Found variable reference _0x16b3e1 _0x29bb90 Found variable reference _0x428c2d _0x1533 Found variable reference _0x237bd1 _0x1533 Found variable reference _0x3530f5 _0x1533 Found variable reference _0x36980e _0x1533 Found variable reference _0x5acf04 _0x16b3e1 Found variable reference _0x596568 _0x16b3e1 Found variable reference _0x54db96 _0x16b3e1 Found variable reference _0x48b751 _0x16b3e1 Found variable reference _0x2ddb63 _0x16b3e1 Found variable reference _0x134431 _0x16b3e1 Found variable reference _0x2b6b01 _0x16b3e1 Found variable reference _0x4b6b97 _0x16b3e1 Found variable reference _0x2ea36a _0x16b3e1 Found variable reference _0x29e52c _0x1533 Searching for more variable references Found push/shift IIFE breakCond = 319267 Caught an error while attempting to run AST visitor! node = Node { type: 'CallExpression', start: 154791, end: 154819, range: [ 154791, 154819 ], callee: Node { type: 'Identifier', start: 154791, end: 154800, range: [ 154791, 154800 ], name: '_0x4b93e6' }, arguments: [ Node { type: 'UnaryExpression', start: 154801, end: 154818, range: [Array], operator: '!', prefix: true, argument: [Node] } ], optional: false } err = TypeError: UnaryExpression argument is not Literal at J (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:9515) at X (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:9862) at C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:13772 at Array.map () at literals_to_arg_array (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:13760) at CallExpression (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:22961) at s (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:25:147) at Object.skipThrough (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\node_modules\acorn-walk\dist\walk.js:186:39) at s (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:25:133) at Object.base.BinaryExpression.base.LogicalExpression (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\node_modules\acorn-walk\dist\walk.js:377:5) Caught an error while attempting to run AST visitor! node = Node { type: 'CallExpression', start: 238698, end: 238990, range: [ 238698, 238990 ], callee: Node { type: 'Identifier', start: 238698, end: 238707, range: [ 238698, 238707 ], name: '_0x234f8d' }, arguments: [ Node { type: 'UnaryExpression', start: 238708, end: 238801, range: [Array], operator: '~', prefix: true, argument: [Node] }, Node { type: 'UnaryExpression', start: 238802, end: 238895, range: [Array], operator: '~', prefix: true, argument: [Node] }, Node { type: 'UnaryExpression', start: 238896, end: 238989, range: [Array], operator: '~', prefix: true, argument: [Node] } ], optional: false } err = TypeError: UnaryExpression argument is not Literal at J (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:9515) at X (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:9862) at C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:13772 at Array.map () at literals_to_arg_array (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:13760) at CallExpression (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:22961) at s (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:25:147) at Object.skipThrough (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\node_modules\acorn-walk\dist\walk.js:186:39) at s (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:25:133) at Object.base.AssignmentExpression.base.AssignmentPattern (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\node_modules\acorn-walk\dist\walk.js:381:5) Caught an error while attempting to run AST visitor! node = Node { type: 'CallExpression', start: 241094, end: 241323, range: [ 241094, 241323 ], callee: Node { type: 'Identifier', start: 241094, end: 241103, range: [ 241094, 241103 ], name: '_0x234f8d' }, arguments: [ Node { type: 'UnaryExpression', start: 241104, end: 241176, range: [Array], operator: '~', prefix: true, argument: [Node] }, Node { type: 'UnaryExpression', start: 241177, end: 241249, range: [Array], operator: '~', prefix: true, argument: [Node] }, Node { type: 'UnaryExpression', start: 241250, end: 241322, range: [Array], operator: '~', prefix: true, argument: [Node] } ], optional: false } err = TypeError: UnaryExpression argument is not Literal at J (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:9515) at X (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:9862) at C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:13772 at Array.map () at literals_to_arg_array (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:13760) at CallExpression (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:22961) at s (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:25:147) at Object.skipThrough (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\node_modules\acorn-walk\dist\walk.js:186:39) at s (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:25:133) at Object.base.AssignmentExpression.base.AssignmentPattern (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\node_modules\acorn-walk\dist\walk.js:381:5) Caught an error while attempting to run AST visitor! node = Node { type: 'CallExpression', start: 318108, end: 318168, range: [ 318108, 318168 ], callee: Node { type: 'Identifier', start: 318108, end: 318116, range: [ 318108, 318116 ], name: 'setVideo' }, arguments: [ Node { type: 'UnaryExpression', start: 318117, end: 318167, range: [Array], operator: '~', prefix: true, argument: [Node] } ], optional: false } err = TypeError: UnaryExpression argument is not Literal at J (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:9515) at X (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:9862) at C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:13772 at Array.map () at literals_to_arg_array (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:13760) at CallExpression (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:22961) at s (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:25:147) at Object.skipThrough (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\node_modules\acorn-walk\dist\walk.js:186:39) at s (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:25:133) at Object.base.ConditionalExpression (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\node_modules\acorn-walk\dist\walk.js:385:5) Caught an error while attempting to run AST visitor! node = Node { type: 'CallExpression', start: 411591, end: 411624, range: [ 411591, 411624 ], callee: Node { type: 'Identifier', start: 411591, end: 411600, range: [ 411591, 411600 ], name: '_0x10d8ad' }, arguments: [ Node { type: 'UnaryExpression', start: 411601, end: 411618, range: [Array], operator: '!', prefix: true, argument: [Node] }, Node { type: 'Literal', start: 411619, end: 411623, range: [Array], operator: '!', prefix: true, argument: [Node], value: true } ], optional: false } err = TypeError: UnaryExpression argument is not Literal at J (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:9515) at X (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:9862) at C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:13772 at Array.map () at literals_to_arg_array (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:13760) at CallExpression (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:22961) at s (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:25:147) at Object.skipThrough (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\node_modules\acorn-walk\dist\walk.js:186:39) at s (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:25:133) at Object.base.SequenceExpression (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\node_modules\acorn-walk\dist\walk.js:353:7) Caught an error while attempting to run AST visitor! node = Node { type: 'CallExpression', start: 449580, end: 449610, range: [ 449580, 449610 ], callee: Node { type: 'Identifier', start: 449580, end: 449599, range: [ 449580, 449599 ], name: 'setFriendlistOnline' }, arguments: [ Node { type: 'UnaryExpression', start: 449600, end: 449609, range: [Array], operator: '!', prefix: true, argument: [Node] } ], optional: false } err = TypeError: UnaryExpression argument is not Literal at J (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:9515) at X (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:9862) at C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:13772 at Array.map () at literals_to_arg_array (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:13760) at CallExpression (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:28:22961) at s (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:25:147) at Object.skipThrough (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\node_modules\acorn-walk\dist\walk.js:186:39) at s (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\dist\index.js:25:133) at Object.base.ExpressionStatement.base.ParenthesizedExpression.base.ChainExpression (C:\Users\realk\AppData\Roaming\npm\node_modules\deobfuscator\node_modules\acorn-walk\dist\walk.js:204:37) Running Simplify transformer Running MemberExpressionCleaner transformer Running Desequence transformer Running ControlFlow transformer _0x45bc60._0x29a5d1 = Identifier _0x45bc60._0x3f1fa4 = Identifier _0x22bb47._0x5e79a9 = Identifier _0x22bb47._0x5e79a9 = CallExpression Running Desequence transformer Running MemberExpressionCleaner transformer Running Simplify transformer Running DeadCode transformer Running Simplify transformer Running DeadCode transformer

Help would be appreciated!

relative commented 2 years ago

script is obfuscated multiple times over with javascript-obfuscator i may support this in next release