- 443
 
- 657
 
Выложили на форум телепорт для ДРП стало интересно как он работает.
Думаю такой да возььму и декомпильну но не тут то было он накрыт протектором от @babulya .
Ну я взял исходники протекта смотрю а тут....
Ну вот вроде бабуля человек который шарит за движуху кряков и т.д. а сделать таблицы локальными не додумался.
	
	
	
	
Думаю такой да возььму и декомпильну но не тут то было он накрыт протектором от @babulya .
Ну я взял исходники протекта смотрю а тут....
Ну вот вроде бабуля человек который шарит за движуху кряков и т.д. а сделать таблицы локальными не додумался.
			
				Lua:
			
		
		
		local scriptName = 'test'
require('protected.'..scriptName)
local inspect = require('inspect')
local w = 0
_G['load'] = function(...)
    return nil
end
G[1] = function(arg)
    w=w+1
    if w == 3 then
        local file = io.open("moonloader/codeArray.txt", "w")
        io.output(file)
        io.write(inspect(arg))
        io.close(file)
    end
    local decode = ""
    for i = 1, #arg do
        if string.len(tonumber(arg[i])) == string.len(tonumber(string.reverse(arg[i]))) then
            arg[i] = string.reverse(arg[i])
        end
        decode = decode .. "" .. string.char(arg[i])
    end
    return decode
end
G[2]()
	Этот код сохраняет в "moonloader/codeArray.txt" таблицу в которой есть весь скрипт правда она ещё под "протектом".
Конечно можно было сохранять сразу исходник но луа не может нормально сохранять исходник в файл (появляется ошибка мол байткод битый).
Я просто взял функу декодировки и переписал под свою любимую Node JS.
			
				JavaScript:
			
		
		
		const fs = require('fs');
String.prototype.reverse = function(){
    return this.split("").reverse().join("");
}
function dec(arg){
    let decode = ""
    for (let i = 0; i < arg.length; i++){
        if (String(Number(arg[i])).length == String(Number(String(arg[i]).reverse())).length){
            arg[i] = Number(String(arg[i]).reverse());
        }
        decode = decode + "" + String.fromCharCode(arg[i]);
    }
    return decode;
}
fs.writeFileSync(
    './script.txt',
    dec(
        eval(
            fs.readFileSync(
                './codeArray.txt',
                'ascii'
            ).replace('{','[').replace('}',']')
        )
    ),
'ascii')
	Вот и у нас уже есть исходник который был под протектом.
lampoteam