SkepticalFox 1,445 #361317 Posted October 22, 2016 (edited) Не мог python 3.4 прицепить.Не надо просто захламлять папку с орионом... Мне помогла распаковка ориона в новую папку. Edited October 22, 2016 by SkepticalFox Quote Share this post Link to post Short link Share on other sites
fecell 125 #362013 Posted October 25, 2016 хм, обфускатор перемудренный вроде. генерит лишний код, который фактически не нужен, лишь замедляет исполнение скрипта. (строковые значения для простоты указаны в явном виде, без закрутки в O0OO1l[xxxx]) from tmp import test1 print test1 var_203 = getattr(__import__('tmp', globals(), locals(), ['test1'], -1), 'test1') #стало print var_203 var_203 = getattr(__import__('tmp'), 'test1') #но вроде достаточно print var_203 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #362042 Posted October 25, 2016 хм, обфускатор перемудренный вроде. генерит лишний код, который фактически не нужен, лишь замедляет исполнение скрипта. (строковые значения для простоты указаны в явном виде, без закрутки в O0OO1l[xxxx]) from tmp import test1 print test1 var_203 = getattr(__import__('tmp', globals(), locals(), ['test1'], -1), 'test1') #стало print var_203 var_203 = getattr(__import__('tmp'), 'test1') #но вроде достаточно print var_203 Импорт ни чего не замедляет, он же делается как правило один раз. А перемудреный - это хорошо, обфускация же. Quote Share this post Link to post Short link Share on other sites
fecell 125 #362083 Posted October 25, 2016 А перемудреный - это хорошо, обфускация же. Ну так-то да. Quote Share this post Link to post Short link Share on other sites
fecell 125 #362291 Posted October 26, 2016 (edited) Ункомпил2 заменён на Ункомпил6 моей модификации; Ункомпил6 работает неправильно. def obj_166(): for obj_167 in obj_168: if obj_169(obj_167): obj_170 = 1 else: obj_170 = 2 преобразуется к def obj_166(): for obj_167 in obj_168: if obj_169(obj_167): obj_170 = 1 obj_170 = 2 ps: но uncompyle6 с офсайта - корректно. Edited October 26, 2016 by fecell 2 Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #362314 Posted October 26, 2016 (edited) Ункомпил6 работает неправильно.Не надо было его трогать. Там парень знает, что делает, а Страникс поменял код для пары некорректных скриптов и поломал декомпилятор... Лучше написать по каждому багу в Issues ункомпила. Парень быстро их правит. Edited October 26, 2016 by SkepticalFox 2 2 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #362330 Posted October 26, 2016 Не надо было его трогать. Там парень знает, что делает, а Страникс поменял код для пары некорректных скриптов и поломал декомпилятор... Лучше написать по каждому багу в Issues ункомпила. Парень быстро их правит. Да ты чё, прям поломал. Может сам глянешь кто там чего и как поломал. А то ходить трындеть - не мешки ворочать. Я не менял код для пары не корректных скриптов, а переписал и дописал львиную часть преанализатора в парсере.для 2.7 Тот парень работает в основном по 3.x. 1 Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #362334 Posted October 26, 2016 (edited) Да ты чё, прям поломал. Ункомпил6 работает неправильно. ps: но uncompyle6 с офсайта - корректно. Edited October 26, 2016 by SkepticalFox 1 1 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #362356 Posted October 26, 2016 Да ты чё, прям поломал. Ункомпил6 работает неправильно. ps: но uncompyle6 с офсайта - корректно. И что? Мой ункомпил6 может корректно декомпилировать то, что не может ункомпил6 с сайта. А то, что в них обоих свои баги есть - так это везде они есть. 2 Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #362360 Posted October 26, 2016 (edited) И что?Проводить полную переделку без тестов на регрессии - бесполезно. Edited October 26, 2016 by SkepticalFox Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #362365 Posted October 26, 2016 А то, что в них обоих свои баги есть - так это везде они есть.Народная мудрость гласит: Баги нужно фиксить, а не добавлять новые. 1 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #362368 Posted October 26, 2016 Проводить полную переделку без тестов на регрессии - бесполезно. Народная мудрость гласит: Баги нужно фиксить, а не добавлять новые. Молодцы, полезные советы тут раздают, а я всё думаю - чего-то не хватает... ))))))) 3 1 Quote Share this post Link to post Short link Share on other sites
伝説の 15 #362720 Posted October 27, 2016 Нашел один баг. Если удалить шрифт из системы, который стоит в редакторе, то потом перестают настройки применяться (ошибка вылезает List index out of bounds). Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #362731 Posted October 27, 2016 (edited) Нашел один баг. Если удалить шрифт из системы, который стоит в редакторе, то потом перестают настройки применяться (ошибка вылезает List index out of bounds).А вот это не похоже на баг. Это ваш фейл. Сотрите ini-файл в папке с орионом. Edited October 27, 2016 by SkepticalFox Quote Share this post Link to post Short link Share on other sites
伝説の 15 #362745 Posted October 28, 2016 (edited) А вот это не похоже на баг. Это ваш фейл. Сотрите ini-файл в папке с орионом. Нет, в идеале шрифт в таком случае должен ставится по умолчанию (если тот который стоял не обнаружен), с оповещением/предупреждением для пользователя. Edited October 28, 2016 by My War Quote Share this post Link to post Short link Share on other sites
Googlemo 1 #365077 Posted November 10, 2016 Товарищи, нужна помощь с декомпиляцией файлов игры Revelation Online, буду благодарен любой информации(хотя бы что за версия питона требуется), чтобы .pyo файлы открыть, для примера прикрепляю 1 файл. state_client_data.rar 1 Quote Share this post Link to post Short link Share on other sites
fecell 125 #365167 Posted November 11, 2016 (edited) для примера прикрепляю 1 файл. для начала добавляешь отсутствующий заголовок, в котором как раз указывается версия питона, в примере ниже 2.7: import sys, os fileName, fileExtension = os.path.splitext(sys.argv[1]) f = open(sys.argv[1], "rb") with open('%s_hdr.pyc' % fileName, 'wb') as fc: fc.write('\x03\xf3\x0d\x0a\0\0\0\0') fc.write(f.read()) f.close() но декомпилировать все равно сложно, таблица опкодов в игре нестандартная. т.е. в стандартном питоне RETURN_VALUE, а в этом скрипте вместо этого INPLACE_RSHIFT хотя LOAD_CONST похоже не изменена, например. без самой игры остается только гадать какие еще команды изменили, а какие нет. ну а без списка кодов команд как они заданы в игре ничего не декомпилируешь. вообщем это надо саму игру качать и.. "а оно мне надо сутки 30 гигов тянуть?!.. ради чего?!.." Edited November 11, 2016 by fecell Quote Share this post Link to post Short link Share on other sites
Googlemo 1 #365184 Posted November 11, 2016 для начала добавляешь отсутствующий заголовок, в котором как раз указывается версия питона, в примере ниже 2.7: import sys, os fileName, fileExtension = os.path.splitext(sys.argv[1]) f = open(sys.argv[1], "rb") with open('%s_hdr.pyc' % fileName, 'wb') as fc: fc.write('\x03\xf3\x0d\x0a\0\0\0\0') fc.write(f.read()) f.close() но декомпилировать все равно сложно, таблица опкодов в игре нестандартная. т.е. в стандартном питоне RETURN_VALUE, а в этом скрипте вместо этого INPLACE_RSHIFT хотя LOAD_CONST похоже не изменена, например. без самой игры остается только гадать какие еще команды изменили, а какие нет. ну а без списка кодов команд как они заданы в игре ничего не декомпилируешь. вообщем это надо саму игру качать и.. "а оно мне надо сутки 30 гигов тянуть?!.. ради чего?!.." Даже за это уже огромное спасибо, если вам не трудно это сделать(не займет много времени) я готов оплатить сей труд. Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #365186 Posted November 11, 2016 Даже за это уже огромное спасибо, если вам не трудно это сделать(не займет много времени) я готов оплатить сей труд. Наводящий вопрос - а как вы компилировать собрались, если там опкоды заменены. Компилятор свой писать будете? Это еще дороже чем декомпиляция. Quote Share this post Link to post Short link Share on other sites
Googlemo 1 #365203 Posted November 11, 2016 Мне не нужен компилятор, только данные из игры. Quote Share this post Link to post Short link Share on other sites