Lua代码混淆问题

我尝试对一段Lua脚本进行反编译,只是出于学习目的,我得到了原始代码,但是代码已经被混淆如下所示:

local L0_0, L1_1, L2_2, L3_3, L4_4, L5_5, L6_6, L7_7, L8_8, L9_9, L10_10, L11_11, L12_12, L13_13, L14_14, L15_15, L16_16, L17_17, L18_18, L19_19, L20_20, L21_21, L22_22, L23_23, L24_24, L25_25, L26_26, L27_27, L28_28, L29_29
L0_0 = require
L1_1 = "comm.NetworkClock"
L0_0 = L0_0(L1_1)
L1_1 = require
L2_2 = "comm_ads.fullscreenAds"
L1_1 = L1_1(L2_2)
L2_2 = require
L15_15 = L14_14.init
L15_15()
L15_15 = L4_4.log
L16_16 = "IN main"
L15_15(L16_16)
function L15_15()
  local L0_30, L1_31
end
print = L15_15

有没有办法恢复这些代码以达到原始代码的目的?

点赞
用户7680208
用户7680208

你能回到原始源吗?不太可能。

源代码被优化为人类阅读,而字节码被优化为机器阅读。编译通常会导致信息的单向转换,从而丢失恢复原始代码所需的信息。

在这个阶段,最好的办法是手动简化,然后使用一些查找和替换方法,一旦你确定一个变量或函数实际上是做什么的。

如果你找到(或构建了)一个工具来简化反编译的源代码,使其更易读,则仍无法真正再现原始源代码。

2017-12-05 20:23:53