Skip to content

Commit 4985fac

Browse files
committed
visitor/delete-illegal-return: change to an independent visitor and apply to plugin sojsonv7
Signed-off-by: echo094 <20028238+echo094@users.noreply.github.com>
1 parent d2a4586 commit 4985fac

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

src/plugin/obfuscator.js

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1160,14 +1160,6 @@ function purifyCode(ast) {
11601160

11611161
// 拆分语句
11621162
traverse(ast, { SequenceExpression: splitSequence })
1163-
// IllegalReturn
1164-
traverse(ast, {
1165-
ReturnStatement(path) {
1166-
if (!path.getFunctionParent()) {
1167-
path.remove()
1168-
}
1169-
},
1170-
})
11711163
return ast
11721164
}
11731165

@@ -1363,6 +1355,9 @@ module.exports = function (jscode) {
13631355
console.error(`Cannot parse code: ${e.reasonCode}`)
13641356
return null
13651357
}
1358+
// IllegalReturn
1359+
const deleteIllegalReturn = require('../visitor/delete-illegal-return')
1360+
traverse(ast, deleteIllegalReturn)
13661361
// 清理二进制显示内容
13671362
traverse(ast, {
13681363
StringLiteral: ({ node }) => {

src/plugin/sojsonv7.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -927,6 +927,9 @@ module.exports = function (code) {
927927
console.error(`Cannot parse code: ${e.reasonCode}`)
928928
return null
929929
}
930+
// IllegalReturn
931+
const deleteIllegalReturn = require('../visitor/delete-illegal-return')
932+
traverse(ast, deleteIllegalReturn)
930933
// 清理二进制显示内容
931934
traverse(ast, {
932935
StringLiteral: ({ node }) => {

src/visitor/delete-illegal-return.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/**
2+
* delete ReturnStatement in Program scope
3+
*/
4+
module.exports = {
5+
ReturnStatement(path) {
6+
if (!path.getFunctionParent()) {
7+
path.remove()
8+
}
9+
},
10+
}

0 commit comments

Comments
 (0)