Refactoring. Use callExpr and indexExpr

pull/74/head
Pagran 5 years ago
parent 1fc5847178
commit 098e3dc9fd

@ -95,31 +95,17 @@ func (x swap) obfuscate(data []byte) *ast.BlockStmt {
Rhs: []ast.Expr{
&ast.BinaryExpr{
X: &ast.BinaryExpr{
X: &ast.CallExpr{
Fun: ident("byte"),
Args: []ast.Expr{ident("i")},
},
X: callExpr(ident("byte"), ident("i")),
Op: token.ADD,
Y: &ast.CallExpr{
Fun: ident("byte"),
Args: []ast.Expr{
&ast.BinaryExpr{
X: &ast.IndexExpr{
X: ident("positions"),
Index: ident("i"),
},
Op: token.XOR,
Y: &ast.IndexExpr{
X: ident("positions"),
Index: &ast.BinaryExpr{
X: ident("i"),
Op: token.ADD,
Y: intLiteral("1"),
},
},
},
},
},
Y: callExpr(ident("byte"), &ast.BinaryExpr{
X: indexExpr("positions", ident("i")),
Op: token.XOR,
Y: indexExpr("positions", &ast.BinaryExpr{
X: ident("i"),
Op: token.ADD,
Y: intLiteral("1"),
}),
}),
},
Op: token.ADD,
Y: intLiteral(strconv.Itoa(int(shiftKey))),

Loading…
Cancel
Save