2017-12-05 8 views
0

ich versucht habe, eine von Lua Script zu dekompilieren nur zu Lernzwecken konzipiert, und ich wurde der ursprüngliche Code jedoch wurde der Code wie unten verschleiert:Lua Verschleierungs Ausgabe

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 

Gibt es eine Möglichkeit, diese Codes zu erholen das Original erreichen?

+0

nein und auch wenn der Code nicht zu viel Sinn macht und Fehler verursacht – Piglet

+0

Ja, weil ich gerade eine Momentaufnahme des Codes, nicht die ganze Datei hinzugefügt. – MobTech

Antwort

2

Können Sie zurück zu der ursprünglichen Quelle? Nein, nicht wahrscheinlich.

Der Quellcode wurde optimiert, um von Menschen gelesen zu werden, der Bytecode ist optimiert, um von Maschinen gelesen zu werden. Das Kompilieren führt normalerweise zu einer unidirektionalen Konvertierung, bei der Informationen verloren gehen, die zum Wiederherstellen der ursprünglichen Quelle erforderlich sind.

Beste Wette an diesem Punkt ist es, es von Hand zu vereinfachen und eine Reihe von finden & ersetzen, sobald Sie identifizieren, was eine Variable oder Funktion tatsächlich tut.

Wenn Sie ein Tool finden (oder erstellen), das den dekompilierten Quellcode vereinfacht, damit er besser lesbar ist, wird der ursprüngliche Quellcode nicht wirklich reproduziert.