Сейчас на форуме: _MBK_, Adler (+6 невидимых)

 eXeL@B —› Вопросы новичков —› ищу деобфускатор простого lua кода
Посл.ответ Сообщение

Ранг: 10.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 01 июля 2011 22:19
· Личное сообщение · #1

Привет,

узнал об обфускации и наконец-то понял, что за ересь происходила в коде программы, прошу подсказать известные деобфускаторы lua или помочь восстановить код имеющий обфускированный вид или хотя бы подсказать как его деобфускировать, так как таблицу кодов символов lua я не смог найти

Code:
  1. 27,76,117,97,81,0,1,4,4,4,8,0,45,0,0,0,64,67,58,92,85,115,101,114,115,92,118,105,110,99,101,92,68,101,115,107,116,111,112,92,76,117,97,32,67,72,69,65,84,92,114,101,112,109,97,110,46,108,117,97,0,2,0,0,0,54,0,0,0,0,0,0,2,25,0,0,0,10,0,0,0,69,0,0,0,73,0,128,128,69,192,0,0,9,64,0,129,74,0,0,0,9,64,0,130,74,64,0,0,73,192,65,131,9,64,128,130,100,0,0,0,9,64,0,132,100,64,0,0,0,0,0,0,9,64,128,132,100,128,0,0,0,0,0,0,9,64,0,133,100,192,0,0,0,0,0,0,9,64,128,133,100,0,1,0,0,0,0,0,9,64,0,134,30,0,128,0,13,0,0,0,4,3,0,0,0,95,71,0,4,7,0,0,0,114,101,112,109,97,110,0,4,2,0,0,0,103,0,4,10,0,0,0,103,101,116,103,108,111,98,97,108,0,4,4,0,0,0,99,102,103,0,4,8,0,0,0,100,101,102,97,117,108,116,0,4,7,0,0,0,97,99,116,105,118,101,0,1,0,4,7,0,0,0,79,110,76,111,97,100,0,4,8,0,0,0,79,110,69,118,101,110,116,0,4,15,0,0,0,83,65,86,69,95,86,65,82,73,65,66,76,69,83,0,4,17,0,0,0,86,65,82,73,65,66,76,69,83,95,76,79,65,68,69,68,0,4,8,0,0,0,79,110,67,108,105,99,107,0,5,0,0,0,0,0,0,0,13,0,0,0,18,0,0,0,0,1,0,4,10,0,0,0,75,0,64,0,193,64,0,0,92,64,128,1,75,0,64,0,193,128,0,0,92,64,128,1,69,192,0,0,129,0,1,0,92,64,0,1,30,0,128,0,5,0,0,0,4,14,0,0,0,82,101,103,105,115,116,101,114,69,118,101,110,116,0,4,17,0,0,0,86,65,82,73,65,66,76,69,83,95,76,79,65,68,69,68,0,4,15,0,0,0,83,65,86,69,95,86,65,82,73,65,66,76,69,83,0,4,14,0,0,0,83,97,118,101,86,97,114,105,97,98,108,101,115,0,4,16,0,0,0,114,101,112,109,97,110,95,83,101,116,116,105,110,103,115,0,0,0,0,0,10,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,1,0,0,0,5,0,0,0,116,104,105,115,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,24,0,0,0,1,2,0,4,9,0,0,0,132,0,0,0,134,0,0,1,154,0,0,0,22,192,0,128,132,0,0,0,134,0,0,1,192,0,128,0,156,64,0,1,30,0,128,0,0,0,0,0,0,0,0,0,9,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,24,0,0,0,2,0,0,0,6,0,0,0,101,118,101,110,116,0,0,0,0,0,8,0,0,0,5,0,0,0,97,114,103,49,0,0,0,0,0,8,0,0,0,1,0,0,0,7,0,0,0,114,101,112,109,97,110,0,0,0,0,0,26,0,0,0,28,0,0,0,1,0,0,2,4,0,0,0,4,0,0,0,6,64,64,0,7,0,0,0,30,0,128,0,2,0,0,0,4,16,0,0,0,114,101,112,109,97,110,95,83,101,116,116,105,110,103,115,0,4,4,0,0,0,99,102,103,0,0,0,0,0,4,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,28,0,0,0,0,0,0,0,1,0,0,0,7,0,0,0,114,101,112,109,97,110,0,0,0,0,0,30,0,0,0,36,0,0,0,1,0,0,2,21,0,0,0,4,0,0,0,69,64,0,0,90,64,0,0,22,64,0,128,68,0,0,0,70,128,192,0,9,64,0,128,4,0,0,0,6,0,64,0,6,192,64,0,26,0,0,0,22,192,1,128,4,0,0,0,6,0,64,0,9,0,193,129,4,0,0,0,6,64,65,0,65,128,1,0,28,128,0,1,28,64,128,0,30,0,128,0,7,0,0,0,4,4,0,0,0,99,102,103,0,4,16,0,0,0,114,101,112,109,97,110,95,83,101,116,116,105,110,103,115,0,4,8,0,0,0,100,101,102,97,117,108,116,0,4,7,0,0,0,97,99,116,105,118,101,0,1,0,4,2,0,0,0,103,0,4,18,0,0,0,83,119,97,112,69,113,117,105,112,109,101,110,116,73,116,101,109,0,0,0,0,0,21,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,33,0,0,0,33,0,0,0,33,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,36,0,0,0,0,0,0,0,1,0,0,0,7,0,0,0,114,101,112,109,97,110,0,0,0,0,0,38,0,0,0,53,0,0,0,1,0,0,2,23,0,0,0,4,0,0,0,6,0,64,0,9,128,192,128,4,0,0,0,6,192,64,0,26,0,0,0,22,128,0,128,5,0,1,0,28,64,128,0,30,0,128,0,4,0,0,0,69,64,1,0,9,64,128,129,4,0,0,0,100,0,0,0,4,0,0,0,9,64,0,131,4,0,0,0,6,128,65,0,7,64,1,0,5,0,1,0,28,64,128,0,30,0,128,0,7,0,0,0,4,4,0,0,0,99,102,103,0,4,7,0,0,0,97,99,116,105,118,101,0,1,1,4,29,0,0,0,83,65,86,69,68,67,104,97,114,97,99,116,101,114,83,101,108,101,99,116,95,79,110,69,118,101,110,116,0,4,7,0,0,0,76,111,103,111,117,116,0,4,24,0,0,0,67,104,97,114,97,99,116,101,114,83,101,108,101,99,116,95,79,110,69,118,101,110,116,0,4,26,0,0,0,77,121,67,104,97,114,97,99,116,101,114,83,101,108,101,99,116,95,79,110,69,118,101,110,116,0,1,0,0,0,0,0,0,0,45,0,0,0,50,0,0,0,1,2,0,5,14,0,0,0,23,0,192,0,22,64,1,128,133,64,0,0,156,128,128,0,154,64,0,0,22,64,0,128,133,128,0,0,156,64,128,0,132,0,0,0,134,192,64,1,192,0,0,0,0,1,128,0,156,64,128,1,30,0,128,0,4,0,0,0,4,29,0,0,0,85,80,68,65,84,69,95,67,72,65,82,65,67,84,69,82,95,83,69,76,69,67,84,95,76,73,83,84,0,4,15,0,0,0,73,115,83,104,105,102,116,75,101,121,68,111,119,110,0,4,27,0,0,0,67,104,97,114,97,99,116,101,114,83,101,108,101,99,116,95,69,110,116,101,114,87,111,114,108,100,0,4,29,0,0,0,83,65,86,69,68,67,104,97,114,97,99,116,101,114,83,101,108,101,99,116,95,79,110,69,118,101,110,116,0,0,0,0,0,14,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,47,0,0,0,47,0,0,0,49,0,0,0,49,0,0,0,49,0,0,0,49,0,0,0,49,0,0,0,50,0,0,0,2,0,0,0,5,0,0,0,116,104,105,115,0,0,0,0,0,13,0,0,0,6,0,0,0,101,118,101,110,116,0,0,0,0,0,13,0,0,0,1,0,0,0,7,0,0,0,114,101,112,109,97,110,0,23,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,40,0,0,0,40,0,0,0,40,0,0,0,40,0,0,0,41,0,0,0,41,0,0,0,42,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,45,0,0,0,50,0,0,0,50,0,0,0,45,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,52,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,1,0,0,0,7,0,0,0,114,101,112,109,97,110,0,25,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,18,0,0,0,13,0,0,0,24,0,0,0,24,0,0,0,20,0,0,0,28,0,0,0,28,0,0,0,26,0,0,0,36,0,0,0,36,0,0,0,30,0,0,0,53,0,0,0,53,0,0,0,38,0,0,0,54,0,0,0,1,0,0,0,7,0,0,0,114,101,112,109,97,110,0,1,0,0,0,24,0,0,0,0,0,0,0





Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 01 июля 2011 22:33
· Личное сообщение · #2

да врядли речь идет об обфускации. Это наверняка байткод после компиля. Нужон декомпиль. Гугли или вот.

http://lua-users.org/wiki/LuaTools. раздел Assembler / Disassembler / Bytecodes.

Там и отладчики и профайлеры есть. Можешь ковыряться.

-----
127.0.0.1, sweet 127.0.0.1




Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 01 июля 2011 22:35
· Личное сообщение · #3

При чём здесь обфускация?
Это LUA скомпилированный в байткод.
Ищи дизассемблер и дизассемблируй.



Ранг: 10.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 01 июля 2011 22:45
· Личное сообщение · #4

OKOB пишет:
да врядли речь идет об обфускации. Это наверняка байткод после компиля. Нужон декомпиль. Гугли или вот.

http://lua-users.org/wiki/LuaTools. раздел Assembler / Disassembler / Bytecodes.

Там и отладчики и профайлеры есть. Можешь ковыряться.


благодарю за ссылку, попробую
я вовсе не lua гуру, поэтому вопрос, если эти числа из первого поста через функцию string.char перегоняются в строку и конкатенируются, а потом вызывается стандартная луа функция loadstring с параметром в виде полученной строки, то это точно байткод? зачем его тогда прогонять через string.char?



Ранг: 10.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 02 июля 2011 00:14 · Поправил: ohos
· Личное сообщение · #5

сохранил в файл строку собранную через string.char и получилось следующее

Code:
  1. LuaQ\000\000-\000\000\000@C:\Users\vince\Desktop\Lua CHEAT\repman.lua\000\000\000\0006\000\000\000\000\000\000\000\000\000\
  2. \000\000\000E\000\000\000I\000ЂЂEА\000\000   @\000ЃJ\000\000\000 @\000‚J@\000\000IАAѓ       @Ђ‚d\000\000\000        @\000„d@\000\000\000\000\000\000  @Ђ„dЂ\000\000\000\000\000\000        @\000…dА\000\000\000\000\000\000  @Ђ…d\000\000\000\000\000\000        @\000†\000Ђ\000\r\000\000\000\000\000\000_G\000\000\000\000repman\000\000\000\000g\000\
  3. \000\000\000getglobal\000\000\000\000cfg\000\000\000\000default\000\000\000\000active\000\000\000\000\000OnLoad\000\000\000\000OnEvent\000\000\000\000SAVE_VARIABLES\000\000\000\000VARIABLES_LOADED\000\000\000\000OnClick\000\000\000\000\000\000\000\000\r\000\000\000\000\000\000\000\000\
  4. \000\000\000K\000@\000Б@\000\000\@ЂK\000@\000БЂ\000\000\@ЂEА\000\000Ѓ\000\000\@\000\000Ђ\000\000\000\000\000\000\000RegisterEvent\000\000\000\000VARIABLES_LOADED\000\000\000\000SAVE_VARIABLES\000\000\000\000SaveVariables\000\000\000\000repman_Settings\000\000\000\000\000\
  5. \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000this\000\000\000\000\000      \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000         \000\000\000„\000\000\000†\000\000љ\000\000\000А\000Ђ„\000\000\000†\000\000А\000Ђ\000њ@\000\000Ђ\000\000\000\000\000\000\000\000\000      \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000event\000\000\000\000\000\000\000\000\000\000\000arg1\000\000\000\000\000\000\000\000\000\000\000\000\000\000repman\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@@\000\000\000\000\000Ђ\000\000\000\000\000\000\000repman_Settings\000\000\000\000cfg\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000repman\000\000\000\000\000\000\000\000$\000\000\000\000\000\000\000\000\000\000\000E@\000\000Z@\000\000@\000ЂD\000\000\000FЂА\000    @\000Ђ\000\000\000\000@\000А@\000\000\000\000АЂ\000\000\000\000@\000        \000БЃ\000\000\000@A\000AЂ\000Ђ\000@Ђ\000\000Ђ\000\000\000\000\000\000\000cfg\000\000\000\000repman_Settings\000\000\000\000default\000\000\000\000active\000\000\000\000\000g\000\000\000\000SwapEquipmentItem\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000 \000\000\000 \000\000\000 \000\000\000 \000\000\000!\000\000\000!\000\000\000!\000\000\000"\000\000\000"\000\000\000"\000\000\000"\000\000\000"\000\000\000$\000\000\000\000\000\000\000\000\000\000\000\000\000repman\000\000\000\000\000&\000\000\0005\000\000\000\000\000\000\000\000\000\000\000\000@\000 ЂАЂ\000\000\000А@\000\000\000\000Ђ\000Ђ\000\000@Ђ\000\000Ђ\000\000\000\000E@\000 @ЂЃ\000\000\000d\000\000\000\000\000\000 @\000ѓ\000\000\000ЂA\000@\000\000\000@Ђ\000\000Ђ\000\000\000\000\000\000\000cfg\000\000\000\000active\000\000\000\000SAVEDCharacterSelect_OnEvent\000\000\000\000Logout\000\000\000\000CharacterSelect_OnEvent\000\000\000\000MyCharacterSelect_OnEvent\000\000\000\000\000\000\000\000-\000\000\0002\000\000\000\000\000\000\000\000А\000@Ђ…@\000\000њЂЂ\000љ@\000\000@\000Ђ…Ђ\000\000њ@Ђ\000„\000\000\000†А@А\000\000\000\000Ђ\000њ@Ђ\000Ђ\000\000\000\000\000\000\000UPDATE_CHARACTER_SELECT_LIST\000\000\000\000IsShiftKeyDown\000\000\000\000CharacterSelect_EnterWorld\000\000\000\000SAVEDCharacterSelect_OnEvent\000\000\000\000\000\000\000\000.\000\000\000.\000\000\000.\000\000\000.\000\000\000.\000\000\000.\000\000\000/\000\000\000/\000\000\0001\000\000\0001\000\000\0001\000\000\0001\000\000\0001\000\000\0002\000\000\000\000\000\000\000\000\000this\000\000\000\000\000\r\000\000\000\000\000\000event\000\000\000\000\000\r\000\000\000\000\000\000\000\000\000repman\000\000\000\000'\000\000\000'\000\000\000'\000\000\000(\000\000\000(\000\000\000(\000\000\000(\000\000\000)\000\000\000)\000\000\000*\000\000\000,\000\000\000,\000\000\000,\000\000\000-\000\000\0002\000\000\0002\000\000\000-\000\000\0003\000\000\0003\000\000\0003\000\000\0004\000\000\0004\000\000\0005\000\000\000\000\000\000\000\000\000\000\000\000\000repman\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\
  6. \000\000\000 \000\000\000\000\000\000\r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000\000$\000\000\000\000\000\0005\000\000\0005\000\000\000&\000\000\0006\000\000\000\000\000\000\000\000\000repman\000\000\000\000\000\000\000\000\000\000\000"


это байткод? потому-что оно работает и как не странно выполняет определенные действия, но я никак не могу понять - как... исходника кода что-то не видно тут




Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 02 июля 2011 01:25 · Поправил: OKOB
· Личное сообщение · #6

IMHO Интерпретатор ЛУА встроен в вашу программу и исполняет байткод содержащийся в ней в виде потока/массива/пула (нужное подчеркнуть) данных. То что вам удается собрать ЭТО и есть (все не все) байткод.
Нужно это поместить в бинарный файл с расширением lub и попытаться это скормить декомпилятору.

В прицепе скомпилированный ЛУА файл, в котором минимум 5 байт (сигнатура) соответствуют приведенному вами.

9c7b_01.07.2011_EXELAB.rU.tgz - wndinfo.lub

-----
127.0.0.1, sweet 127.0.0.1




Ранг: 10.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 02 июля 2011 01:35 · Поправил: ohos
· Личное сообщение · #7

OKOB пишет:
Нужно это поместить в бинарный файл с расширением lub и попытаться это скормить декомпилятору.


я просто конвертнул исходные числа в Hex и сохранил в тот lub файл,вроде бы все хорошо, и дале luadec.exe что-то стал делать, плохо только то, что не ясно что он сделал в итоге никаких тебе "готово"... пока пытаюсь найти что он делает в итоге




Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 02 июля 2011 03:10
· Личное сообщение · #8

ohos пишет:
как её удобнее вытащить, чтобы положить в бинарный файл?


дампить из под отладчика, стрипать из ресурсов (если она в ресурсах), резать прямо из файла.

А вообще надоело лечить по фотографии.

-----
127.0.0.1, sweet 127.0.0.1




Ранг: 10.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 03 июля 2011 01:36 · Поправил: ohos
· Личное сообщение · #9

OKOB пишет:
А вообще надоело лечить по фотографии.


я просто не хотел пугать людей, задавать сразу кучу необдуманных вопросов и вываливать кучу информации разом, но если вам интересно, то подробности ниже:

моя задача - понять как такой аддон сделали и научиться делать такие же

имеется mmorpg игра Runes of Magic (программа) в которую встроен интерпретатор lua + xml кода (в lua здесь входят часть стандартных функций и названия специальных игровых API, которые можно вызвать из луа с помощью специального имени, типо SetCameraPosition(x,y,z), где все аргументы должны быть integer), таким образом весь интерфейс игры написан на них, а это в свою очередь дает возможность писать аддоны к игре на этом же lua + xml

мне попался аддон исходник которого нечитаем, из-за этого его невозможно ни понять не изменить, он выглядит так (я его сделал более компактным, функционал не пострадал):

Code:
  1. local repmanProt = {27,76,117,97,81,0,1,4,4,4,8,0,45,0,0,0,64,67,58,92,85,115,101,114,115,92,118,105,110,99,101,92,68,101,115,107,116,111,112,92,76,117,97,32,67,72,69,65,84,92,114,101,112,109,97,110,46,108,117,97,0,2,0,0,0,54,0,0,0,0,0,0,2,25,0,0,0,10,0,0,0,69,0,0,0,73,0,128,128,69,192,0,0,9,64,0,129,74,0,0,0,9,64,0,130,74,64,0,0,73,192,65,131,9,64,128,130,100,0,0,0,9,64,0,132,100,64,0,0,0,0,0,0,9,64,128,132,100,128,0,0,0,0,0,0,9,64,0,133,100,192,0,0,0,0,0,0,9,64,128,133,100,0,1,0,0,0,0,0,9,64,0,134,30,0,128,0,13,0,0,0,4,3,0,0,0,95,71,0,4,7,0,0,0,114,101,112,109,97,110,0,4,2,0,0,0,103,0,4,10,0,0,0,103,101,116,103,108,111,98,97,108,0,4,4,0,0,0,99,102,103,0,4,8,0,0,0,100,101,102,97,117,108,116,0,4,7,0,0,0,97,99,116,105,118,101,0,1,0,4,7,0,0,0,79,110,76,111,97,100,0,4,8,0,0,0,79,110,69,118,101,110,116,0,4,15,0,0,0,83,65,86,69,95,86,65,82,73,65,66,76,69,83,0,4,17,0,0,0,86,65,82,73,65,66,76,69,83,95,76,79,65,68,69,68,0,4,8,0,0,0,79,110,67,108,105,99,107,0,5,0,0,0,0,0,0,0,13,0,0,0,18,0,0,0,0,1,0,4,10,0,0,0,75,0,64,0,193,64,0,0,92,64,128,1,75,0,64,0,193,128,0,0,92,64,128,1,69,192,0,0,129,0,1,0,92,64,0,1,30,0,128,0,5,0,0,0,4,14,0,0,0,82,101,103,105,115,116,101,114,69,118,101,110,116,0,4,17,0,0,0,86,65,82,73,65,66,76,69,83,95,76,79,65,68,69,68,0,4,15,0,0,0,83,65,86,69,95,86,65,82,73,65,66,76,69,83,0,4,14,0,0,0,83,97,118,101,86,97,114,105,97,98,108,101,115,0,4,16,0,0,0,114,101,112,109,97,110,95,83,101,116,116,105,110,103,115,0,0,0,0,0,10,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,1,0,0,0,5,0,0,0,116,104,105,115,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,24,0,0,0,1,2,0,4,9,0,0,0,132,0,0,0,134,0,0,1,154,0,0,0,22,192,0,128,132,0,0,0,134,0,0,1,192,0,128,0,156,64,0,1,30,0,128,0,0,0,0,0,0,0,0,0,9,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,24,0,0,0,2,0,0,0,6,0,0,0,101,118,101,110,116,0,0,0,0,0,8,0,0,0,5,0,0,0,97,114,103,49,0,0,0,0,0,8,0,0,0,1,0,0,0,7,0,0,0,114,101,112,109,97,110,0,0,0,0,0,26,0,0,0,28,0,0,0,1,0,0,2,4,0,0,0,4,0,0,0,6,64,64,0,7,0,0,0,30,0,128,0,2,0,0,0,4,16,0,0,0,114,101,112,109,97,110,95,83,101,116,116,105,110,103,115,0,4,4,0,0,0,99,102,103,0,0,0,0,0,4,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,28,0,0,0,0,0,0,0,1,0,0,0,7,0,0,0,114,101,112,109,97,110,0,0,0,0,0,30,0,0,0,36,0,0,0,1,0,0,2,21,0,0,0,4,0,0,0,69,64,0,0,90,64,0,0,22,64,0,128,68,0,0,0,70,128,192,0,9,64,0,128,4,0,0,0,6,0,64,0,6,192,64,0,26,0,0,0,22,192,1,128,4,0,0,0,6,0,64,0,9,0,193,129,4,0,0,0,6,64,65,0,65,128,1,0,28,128,0,1,28,64,128,0,30,0,128,0,7,0,0,0,4,4,0,0,0,99,102,103,0,4,16,0,0,0,114,101,112,109,97,110,95,83,101,116,116,105,110,103,115,0,4,8,0,0,0,100,101,102,97,117,108,116,0,4,7,0,0,0,97,99,116,105,118,101,0,1,0,4,2,0,0,0,103,0,4,18,0,0,0,83,119,97,112,69,113,117,105,112,109,101,110,116,73,116,101,109,0,0,0,0,0,21,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,33,0,0,0,33,0,0,0,33,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,36,0,0,0,0,0,0,0,1,0,0,0,7,0,0,0,114,101,112,109,97,110,0,0,0,0,0,38,0,0,0,53,0,0,0,1,0,0,2,23,0,0,0,4,0,0,0,6,0,64,0,9,128,192,128,4,0,0,0,6,192,64,0,26,0,0,0,22,128,0,128,5,0,1,0,28,64,128,0,30,0,128,0,4,0,0,0,69,64,1,0,9,64,128,129,4,0,0,0,100,0,0,0,4,0,0,0,9,64,0,131,4,0,0,0,6,128,65,0,7,64,1,0,5,0,1,0,28,64,128,0,30,0,128,0,7,0,0,0,4,4,0,0,0,99,102,103,0,4,7,0,0,0,97,99,116,105,118,101,0,1,1,4,29,0,0,0,83,65,86,69,68,67,104,97,114,97,99,116,101,114,83,101,108,101,99,116,95,79,110,69,118,101,110,116,0,4,7,0,0,0,76,111,103,111,117,116,0,4,24,0,0,0,67,104,97,114,97,99,116,101,114,83,101,108,101,99,116,95,79,110,69,118,101,110,116,0,4,26,0,0,0,77,121,67,104,97,114,97,99,116,101,114,83,101,108,101,99,116,95,79,110,69,118,101,110,116,0,1,0,0,0,0,0,0,0,45,0,0,0,50,0,0,0,1,2,0,5,14,0,0,0,23,0,192,0,22,64,1,128,133,64,0,0,156,128,128,0,154,64,0,0,22,64,0,128,133,128,0,0,156,64,128,0,132,0,0,0,134,192,64,1,192,0,0,0,0,1,128,0,156,64,128,1,30,0,128,0,4,0,0,0,4,29,0,0,0,85,80,68,65,84,69,95,67,72,65,82,65,67,84,69,82,95,83,69,76,69,67,84,95,76,73,83,84,0,4,15,0,0,0,73,115,83,104,105,102,116,75,101,121,68,111,119,110,0,4,27,0,0,0,67,104,97,114,97,99,116,101,114,83,101,108,101,99,116,95,69,110,116,101,114,87,111,114,108,100,0,4,29,0,0,0,83,65,86,69,68,67,104,97,114,97,99,116,101,114,83,101,108,101,99,116,95,79,110,69,118,101,110,116,0,0,0,0,0,14,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,47,0,0,0,47,0,0,0,49,0,0,0,49,0,0,0,49,0,0,0,49,0,0,0,49,0,0,0,50,0,0,0,2,0,0,0,5,0,0,0,116,104,105,115,0,0,0,0,0,13,0,0,0,6,0,0,0,101,118,101,110,116,0,0,0,0,0,13,0,0,0,1,0,0,0,7,0,0,0,114,101,112,109,97,110,0,23,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,40,0,0,0,40,0,0,0,40,0,0,0,40,0,0,0,41,0,0,0,41,0,0,0,42,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,45,0,0,0,50,0,0,0,50,0,0,0,45,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,52,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,1,0,0,0,7,0,0,0,114,101,112,109,97,110,0,25,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,18,0,0,0,13,0,0,0,24,0,0,0,24,0,0,0,20,0,0,0,28,0,0,0,28,0,0,0,26,0,0,0,36,0,0,0,36,0,0,0,30,0,0,0,53,0,0,0,53,0,0,0,38,0,0,0,54,0,0,0,1,0,0,0,7,0,0,0,114,101,112,109,97,110,0,1,0,0,0,24,0,0,0,0,0,0,0};
  2.          local ret = "";
  3.          local len = #repmanProt;
  4.         for i = 1, len do
  5.                  ret = ret .. string.char(repmanPro[i]);
  6.          end
  7.         loadstring(ret)()


игра весит 4 гига, скачать можно тут http://rmonline.ru/download/client/ , либо с торрентов http://rutracker.org/forum/viewtopic.php?t=2806944 (с бесплатной регистрацией), http://rutor.org/torrent/106631 (без регистрации), для работы аддонов их нужно класть в специальную папку относительно папки игры ..Runes of magic\Interface\addons
в папку addons кладутся папки с файлами аддона, в которые обычно входят .toc (указывает клиенту какие файлы в папке грузить), .lua (в основном код для выполнения вычислений), .xml (код с интерфейсом, кнопки, рамки, слайд бары и прочее) файлы, описаный аддон можно взять тут http://zalil.ru/31370713 или http://www.multiupload.com/0SELR2WKBY

в самой игре есть возможность исполнять lua код прямо из чата, после команды /run , например есть способ вывода строк на экран через функцию DEFAULT_CHAT_FRAME:AddMessage(), так что отправленное в чат /run DEFAULT_CHAT_FRAME:AddMessage('тест') напишет текст 'тест' без кавычек системным цветом (не шлется на сервер), при изменении файлов аддона их можно подгрузить не выключая игру командой в чате /run ReloadUI()

функцией lua string.len можно узнать количество байт для строки или одного символа, например для латинской A будет 1 байт, а для русской А уже 2 байта, я через string.len проверил длинну всех получающихся символов после использования string.char к числам исходника, у всех вышел 1 байт, сохранив шестнадцатиричные представления чисел из той строки repmanPro полученное думал скормить loadstring как строку, шестнадцатиричное число (добавив в начале 0x)




Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 03 июля 2011 02:07
· Личное сообщение · #10

сделано как я и говорил.
1) из массива repmanProt сделан бинарный файл _repman.lub
2) скормлено декомпилю в двух режимах (ассемблера байткода и полного декомпиля)

результаты в прицепе

5807_02.07.2011_EXELAB.rU.tgz - _repman.RAR

-----
127.0.0.1, sweet 127.0.0.1


| Сообщение посчитали полезным: ohos

Ранг: 10.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 03 июля 2011 02:16 · Поправил: ohos
· Личное сообщение · #11

1. О_О, а можно по подробней как был получен бинарный файл и как был накормлен декомпилятор
2. интересует так же способ получения подобного скомпилированного кода, случайно не через string.dump этого исходника декомпилированного?
3. что за странные скобки в начале декомпиленного кода?




Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 03 июля 2011 02:39 · Поправил: OKOB
· Личное сообщение · #12

чтобы долго не обьяснять. В архиве весь набор.
1) С-шный файл 11.cpp с массивом скомпилирован в 11.exe
2) при его запуске он показывает длину массива и смещение в файле
3) теперь вырезаем наш бинарник из 11.exe с помощью утилиты cut.exe
4) и кормим его декомпилятору

все собрано в батник.
по поводу скобок к авторам декомпилера ЛУА

809b_03.07.2011_EXELAB.rU.tgz - 2.RAR

-----
127.0.0.1, sweet 127.0.0.1


| Сообщение посчитали полезным: ohos

Ранг: 10.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 03 июля 2011 02:58 · Поправил: ohos
· Личное сообщение · #13

благодарю,

убрал эти скобки, все остальное засунул в троку и скормил loadstring, выполнилось тоже самое, что и с байт кодом, так значит это все таки была обфускация?




Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 03 июля 2011 03:09
· Личное сообщение · #14

Да не обфускация это. Это скорее можно отнести к понятию загрузчик. Подобное широко практикуется во флэше при попытке защитить контент. Да и здесь глядя на название repmanProt --> protection/

-----
127.0.0.1, sweet 127.0.0.1




Ранг: 10.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 03 июля 2011 22:15
· Личное сообщение · #15

а что тогда будет обфускацией?




Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 03 июля 2011 22:49
· Личное сообщение · #16

ohos пишет:
моя задача - понять как такой аддон сделали и научиться делать такие же

форумом не ошибся? учись сам такому задротству

-----
От многой мудрости много скорби, и умножающий знание умножает печаль




Ранг: 10.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 03 июля 2011 23:19
· Личное сообщение · #17

ajax пишет:
форумом не ошибся? учись сам такому задротству


не стоит вырывать фразы из контекста, так как я не создавал тему с вопросом об этом


 eXeL@B —› Вопросы новичков —› ищу деобфускатор простого lua кода
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати