String 如何对Lua脚本进行除臭?
脚本变成字节码,你知道如何反转吗?你不能将字节码反转为Lua源代码,但你可以用String 如何对Lua脚本进行除臭?,string,lua,byte,obfuscation,deobfuscation,String,Lua,Byte,Obfuscation,Deobfuscation,脚本变成字节码,你知道如何反转吗?你不能将字节码反转为Lua源代码,但你可以用luac-l列出VM指令,找出VM字节码和Lua字节码之间的区别,在VM字节码中,前面总是有一个\24 在本例中,这是VM(虚拟机)字节码。这个混淆功能还使用了string.dump函数,可以很容易地反转 以下是经过修改的反编译器版本: local script= string.dump( function() print('Hi') end ) buff="" for v=1,st
luac-l
列出VM指令,找出VM字节码和Lua字节码之间的区别,在VM字节码中,前面总是有一个\24
在本例中,这是VM(虚拟机)
字节码。这个混淆功能还使用了string.dump
函数,可以很容易地反转
以下是经过修改的反编译器版本:
local script= string.dump(
function()
print('Hi')
end
)
buff=""
for v=1,string.len(script) do
buff=buff..'\\'..string.byte(script,v)
end
print(buff)
这个版本只是简单地使用
print
函数来打印脚本中创建的字符串.dump
。源代码清晰可见,我很确定这适用于所有不安全的VM混淆器。LuaDec每次都会关闭反编译器,我对VM指令一无所知
local script= string.dump(
function()
print('Hi')
end
)
buff=""
for v=1,string.len(script) do
buff=buff..'\\'..string.byte(script,v)
end
buff = "'"..buff.."'"
print("print("..buff..")")