humanify icon indicating copy to clipboard operation
humanify copied to clipboard

The humanify of any file not working

Open nahidul292 opened this issue 5 months ago • 5 comments

[!NOTE] Processing file 1/1 C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:367 const error = new SyntaxError(); ^

SyntaxError: unknown: 'with' in strict mode. (5:4)

3 | }, SaEgNw7) { 4 | while (Mf8M0u + riQMkU + UcqOgo !== -31) {

5 | with (l06tYa.MC3rfnZ || l06tYa) switch (Mf8M0u + riQMkU + UcqOgo) { | ^ 6 | case l06tYa.iwnVDF.YS7M2nl + 134: 7 | AVRd8A([BpOfWz.qK79DR] = SaEgNw7, BpOfWz.Lva9T_S = function* Mf8M0u(riQMkU, UcqOgo, l06tYa, SaEgNw7 = { 8 | dd37r0: {} at constructor (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:367:19) at Parser.raise (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:6627:19) at Parser.parseWithStatement (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:13244:12) at Parser.parseStatementContent (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:12856:21) at Parser.parseStatementLike (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:12767:17) at Parser.parseStatementListItem (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:12747:17) at Parser.parseBlockOrModuleBlockBody (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:13316:61) at Parser.parseBlockBody (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:13309:10) at Parser.parseBlock (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:13297:10) at Parser.parseStatementContent (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:12858:21) at Parser.parseStatementLike (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:12767:17) at Parser.parseStatement (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:12760:17) at C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:13238:68 at Parser.withSmartMixTopicForbiddingContext (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:12404:14) at Parser.parseWhileStatement (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:13238:22) at Parser.parseStatementContent (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:12854:21) at Parser.parseStatementLike (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:12767:17) at Parser.parseStatementListItem (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:12747:17) at Parser.parseBlockOrModuleBlockBody (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:13316:61) at Parser.parseBlockBody (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:13309:10) at Parser.parseBlock (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:13297:10) at Parser.parseFunctionBody (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:12101:24) at Parser.parseFunctionBodyAndFinish (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:12087:10) at C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:13445:12 at Parser.withSmartMixTopicForbiddingContext (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:12404:14) at Parser.parseFunction (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:13444:10) at Parser.parseFunctionStatement (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:13125:17) at Parser.parseStatementContent (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:12791:21) at Parser.parseStatementLike (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:12767:17) at Parser.parseModuleItem (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:12744:17) at Parser.parseBlockOrModuleBlockBody (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:13316:36) at Parser.parseBlockBody (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:13309:10) at Parser.parseProgram (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:12625:10) at Parser.parseTopLevel (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:12615:25) at Parser.parse (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:14492:10) at parse (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\parser\lib\index.js:14526:38) at parser (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\core\lib\parser\index.js:41:34) at parser.next () at normalizeFile (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\core\lib\transformation\normalize-file.js:64:37) at normalizeFile.next () at run (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\core\lib\transformation\index.js:22:50) at run.next () at transform (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\core\lib\transform.js:22:33) at transform.next () at step (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules\gensync\index.js:261:32) at C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules\gensync\index.js:273:13 at async.call.result.err.err (C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules\gensync\index.js:223:11) at C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules\gensync\index.js:189:28 at C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules@babel\core\lib\gensync-utils\async.js:67:7 at C:\Users\nahid\AppData\Roaming\npm\node_modules\humanifyjs\node_modules\gensync\index.js:113:33 { code: 'BABEL_PARSE_ERROR', reasonCode: 'StrictWith', loc: Position { line: 5, column: 4, index: 128 }, pos: 128, syntaxPlugin: undefined }

nahidul292 avatar Jul 31 '25 19:07 nahidul292

Are you trying to process a file that uses the with keyword?

brianjenkins94 avatar Jul 31 '25 20:07 brianjenkins94

Are you trying to process a file that uses the with keyword?

Yes, I am Is there any workaround to deobfuscate such files? @brianjenkins94

nahidul292 avatar Jul 31 '25 20:07 nahidul292

You would need to add a non-strict sourceType here: https://github.com/jehna/humanify/blob/main/src/babel-utils.ts#L11

brianjenkins94 avatar Jul 31 '25 21:07 brianjenkins94

You would need to add a non-strict sourceType here: https://github.com/jehna/humanify/blob/main/src/babel-utils.ts#L11

I apologize would you mind to share a bit more details?

nahidul292 avatar Jul 31 '25 21:07 nahidul292

SyntaxError: unknown: 'with' in strict mode. (5:4)

  • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/with
    • Note: Use of the with statement is not recommended, as it may be the source of confusing bugs and compatibility issues, makes optimization impossible, and is forbidden in strict mode.

You would need to add a non-strict sourceType here: main/src/babel-utils.ts#L11

It's using Babel's transform:

  • https://babeljs.io/docs/babel-core#transform

Which takes these options:

  • https://babeljs.io/docs/options

The sourceType option in particular seems to mention strict mode, and defaults to module, which enforces strict mode; so maybe try the most appropriate of the others?:

  • https://babeljs.io/docs/options#sourcetype
    • sourceType

      Type: "script" | "module" | "commonjs" | "unambiguous"

      Default: "module"

      • "script" - Parse the file using the ECMAScript Script grammar. No import/export statements allowed, and files are not in strict mode.
      • "module" - Parse the file using the ECMAScript Module grammar. Files are automatically strict, and import/export statements are allowed.
      • "commonjs" - Parse the file as it will be run in a CommonJS environment. This option is recommended when transforming .cjs sources. See Parser docs for syntax differences between "script" and "commonjs".
      • "unambiguous" - Consider the file a "module" if import/export statements are present, or else consider it a "script".

0xdevalias avatar Aug 04 '25 03:08 0xdevalias