Skip to content

Commit 8119bb6

Browse files
authored
Merge pull request #70 from levno-710/develop
2 parents 384493d + 67ef404 commit 8119bb6

File tree

6 files changed

+6
-16
lines changed

6 files changed

+6
-16
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,5 @@ build
1313

1414
# Ignore Local Test Files
1515
test.lua
16-
test.obfuscated.lua
16+
test.obfuscated.lua
17+
config.lua

src/config.lua

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
-- config.lua
44
--
55
-- In this Script, some Global config Variables are defined
6-
-- These may be changed
76

8-
-- You are not allowed to change the following Variables
97
local NAME = "Prometheus";
108
local REVISION = "Alpha";
119
local VERSION = "v0.2";
@@ -29,7 +27,6 @@ return {
2927
NameAndVersion = string.format("%s %s", NAME, VERSION),
3028
Version = VERSION;
3129
Revision = REVISION;
32-
Watermark = string.format("Obfuscated using %s %s %s by %s", NAME, REVISION, VERSION, BY); -- You are not allowed to edit the watermark
3330
-- Config Starts Here
3431
IdentPrefix = "__prometheus_"; -- The Prefix used for Identifiers generated by PROMETHEUS. NOTE: There should be no identifiers in the script to be obfuscated starting with that prefix, because that can lead to weird bugs
3532

src/prometheus/ast.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -627,7 +627,7 @@ function Ast.MulExpression(lhs, rhs, simplify)
627627
end
628628

629629
function Ast.DivExpression(lhs, rhs, simplify)
630-
if(simplify and rhs.isConstant and lhs.isConstant) then
630+
if(simplify and rhs.isConstant and lhs.isConstant and rhs.value ~= 0) then
631631
local success, val = pcall(function() return lhs.value / rhs.value end);
632632
if success then
633633
return Ast.ConstantNode(val);

src/prometheus/compiler/compiler.lua

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1277,7 +1277,7 @@ function Compiler:compileStatement(statement, funcDepth)
12771277
self:addStatement(self:setRegister(scope, tmpReg, Ast.IndexExpression(self:register(scope, baseReg), self:register(scope, tmpReg))), {tmpReg}, {tmpReg, baseReg}, false);
12781278

12791279
self:addStatement(self:setRegister(scope, tmpReg, Ast.FunctionCallExpression(self:register(scope, tmpReg), args)), {tmpReg}, {tmpReg, unpack(regs)}, true);
1280-
self:freeRegister(baseReg, false);
1280+
12811281
self:freeRegister(tmpReg, false);
12821282
for i, reg in ipairs(regs) do
12831283
self:freeRegister(reg, false);
@@ -2004,9 +2004,6 @@ function Compiler:compileExpression(expression, funcDepth, numReturns)
20042004
end
20052005
end
20062006

2007-
2008-
2009-
20102007
self:freeRegister(baseReg, false);
20112008
for i, reg in ipairs(regs) do
20122009
self:freeRegister(reg, false);
@@ -2052,9 +2049,9 @@ function Compiler:compileExpression(expression, funcDepth, numReturns)
20522049
self:addStatement(self:setRegister(scope, tmpReg, Ast.IndexExpression(self:register(scope, baseReg), self:register(scope, tmpReg))), {tmpReg}, {baseReg, tmpReg}, false);
20532050

20542051
if returnAll then
2055-
self:addStatement(self:setRegister(scope, retRegs[1], Ast.TableConstructorExpression{Ast.TableEntry(Ast.FunctionCallExpression(self:register(scope, tmpReg), args))}), {retRegs[1]}, {baseReg, unpack(regs)}, true);
2052+
self:addStatement(self:setRegister(scope, retRegs[1], Ast.TableConstructorExpression{Ast.TableEntry(Ast.FunctionCallExpression(self:register(scope, tmpReg), args))}), {retRegs[1]}, {tmpReg, unpack(regs)}, true);
20562053
else
2057-
self:addStatement(self:setRegister(scope, tmpReg, Ast.TableConstructorExpression{Ast.TableEntry(Ast.FunctionCallExpression(self:register(scope, tmpReg), args))}), {tmpReg}, {baseReg, unpack(regs)}, true);
2054+
self:addStatement(self:setRegister(scope, tmpReg, Ast.TableConstructorExpression{Ast.TableEntry(Ast.FunctionCallExpression(self:register(scope, tmpReg), args))}), {tmpReg}, {tmpReg, unpack(regs)}, true);
20582055

20592056
for i, reg in ipairs(retRegs) do
20602057
self:addStatement(self:setRegister(scope, reg, Ast.IndexExpression(self:register(scope, tmpReg), Ast.NumberExpression(i))), {reg}, {tmpReg}, false);
@@ -2071,7 +2068,6 @@ function Compiler:compileExpression(expression, funcDepth, numReturns)
20712068
self:addStatement(self:setRegister(scope, retRegs[1], Ast.FunctionCallExpression(self:register(scope, tmpReg), args)), {retRegs[1]}, {baseReg, unpack(regs)}, true);
20722069
end
20732070

2074-
self:freeRegister(baseReg, false);
20752071
for i, reg in ipairs(regs) do
20762072
self:freeRegister(reg, false);
20772073
end

src/prometheus/pipeline.lua

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,8 +201,6 @@ function Pipeline:apply(code, filename)
201201

202202
logger:info(string.format("Generated Code size is %.2f%% of the Source Code size", (string.len(code) / sourceLen)*100))
203203

204-
code = "--[[\n " .. config.Watermark .. "\n]]\n" .. code;
205-
206204
return code;
207205
end
208206

src/prometheus/steps/AntiTamper.lua

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,6 @@ end
165165
repeat until valid;
166166
]]
167167

168-
print(code);
169-
170168
local parsed = Parser:new({LuaVersion = Enums.LuaVersion.Lua51}):parse(code);
171169
local doStat = parsed.body.statements[1];
172170
doStat.body.scope:setParent(ast.body.scope);

0 commit comments

Comments
 (0)