MakcT40 331 #203165 Posted July 31, 2014 test.pyc - творение lelicopter'а, который присутствует тут на форуме (с другим ником). test2.pyс - переименованный скрипт ProstoNoob'а, он здесь бывает под своим ником. :) Quote Share this post Link to post Short link Share on other sites
o-0-0-0 77 #203181 Posted August 1, 2014 test.pyc - творение lelicopter'а, который присутствует тут на форуме (с другим ником). test2.pyс - переименованный скрипт ProstoNoob'а, он здесь бывает под своим ником. :) Суть не в том чьё это , а как это сделать читаемым. Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #203225 Posted August 1, 2014 Для WorldofWarplanes будет добавлена поддержка?) Не думал. Но поставлю гляну, если там большой разницы по принципам работы нет, то сделаю вариант трасмиттера под самолётики. КТТС. pychrysanthemum - интересная программка - как заставить её работать ? Интересные программки - это то что надо. Если кто чего интересного увидит, кидайте ссылочки, файлики. Ща глянем что там за pychrysanthemum такой. Суть не в том чьё это , а как это сделать читаемым. Ручками, ты и сам знаешь что другого способа нет... и не будет, иначе защита исходников просто потеряет свой смысл :)))) 1 Quote Share this post Link to post Short link Share on other sites
fecell 125 #203261 Posted August 1, 2014 (edited) del.. качнул архив, понял о чем речь)) Ща глянем что там за pychrysanthemum такой. редактор байткода.. требует установки каких-то библиотек, qt4 вроде (но могу ошибиться) в принципе при запуске понятно будет ;) https://code.google.com/p/pychrysanthemum/ upd: pyQT4 http://www.riverbankcomputing.co.uk/software/pyqt/download (качать НЕ исходники, инсталляторы чуть ниже на странице под свою винду и под питон 2.7) upd1: для включения редактирования байткода надо что-то там где-то нажать.. признаться не помню уже (вроде правую кнопку на скрипте слева в списке и.. а дальше что там забыл) Если кто чего интересного увидит, кидайте ссылочки, файлики. а еще есть https://github.com/dberube4/pyxcies если там большой разницы по принципам работы нет там все родные скрипты шифрованные, у Макса уточнись по остальным моментам ;) за дешифратором, если надо, стукнись, скину скрипт.. упс, перепутал с пароходами О_о Edited August 1, 2014 by fecell 1 Quote Share this post Link to post Short link Share on other sites
MakcT40 331 #203280 Posted August 1, 2014 там все родные скрипты шифрованныеТо в кораблях, а тут речь о самолётах. :) Quote Share this post Link to post Short link Share on other sites
fecell 125 #203308 Posted August 1, 2014 ой, блин, точно))) каюсь, перепутал... Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #203327 Posted August 1, 2014 упс, перепутал с пароходами О_о Шифровано там гыгыгы :))) Давай угадаю, у них там как пить дать кодирование модуля не лету путем перехвата функции импорта? Quote Share this post Link to post Short link Share on other sites
fecell 125 #203383 Posted August 1, 2014 Давай угадаю, у них там как пить дать кодирование модуля не лету путем перехвата функции импорта? там часть кода дешифратора в экзешнике зашито. остальное не помню уже.. к релизу поменяют или откажутся от шифровки, имхо. Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #203545 Posted August 2, 2014 print '03f30d0a5ff1d85363'.decode('hex') print 'Check'В родной консоли питона все выводится нормально. А тут не выводится ничего. Даже 'Check'. Вывод всего скрипта вешается намертво. Приходилось перезапускать клиент танков. Когда сообразил в чем дело, через encode('hex') все заработало... Это я так понимаю проблема Delphy? Попробуй реализовать что-то вроде '\x03\xf3\r\n_\xf1\xd8Sc'Что-нибудь, главное чтоб не вешалось... Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #203550 Posted August 2, 2014 print '03f30d0a5ff1d85363'.decode('hex') print 'Check'В родной консоли питона все выводится нормально. А тут не выводится ничего. Даже 'Check'. Вывод всего скрипта вешается намертво. Приходилось перезапускать клиент танков. Когда сообразил в чем дело, через encode('hex') все заработало... Это я так понимаю проблема Delphy? Попробуй реализовать что-то вроде '\x03\xf3\r\n_\xf1\xd8Sc'Что-нибудь, главное чтоб не вешалось... Делфи тут не причем. Скрипт отлично выполняется в питоне через Орион: <<< ? <<< _??Sc <<< Check а вот почему трансмиттер вешается - надо его смотреть, там скорее всего с ввод/выводом косяк. Quote Share this post Link to post Short link Share on other sites
Sergios 0 #203570 Posted August 2, 2014 (edited) print '03f30d0a5ff1d85363'.decode('hex') print 'Check' А что чекаешь? первые четыре байта это magic numbers. Версия питона 2.7.8 final. Edited August 2, 2014 by Sergios Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #203572 Posted August 2, 2014 А что чекаешь? первые четыре байта это magic numbers. Версия пиона 2.7.8 final. Да он просто пример привел, чтоб проблему показать. Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #203612 Posted August 2, 2014 <<< ? <<< _??Sc <<< Check Хм... Не знаю тогда, с чем это может быть связано... Может с виндой/фреймворком... Quote Share this post Link to post Short link Share on other sites
o-0-0-0 77 #203711 Posted August 2, 2014 Я рад что хоть чем то помог проекту !!! Quote Share this post Link to post Short link Share on other sites
ProstoNoob 15 #203735 Posted August 2, 2014 Как у спехи с протекцией и обфускацией? Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #204002 Posted August 3, 2014 Ну обфускатор и так можно найти в инете. Но он "сбивает" только имена локальных переменных, общий алгоритм все равно видно. Декомпилится нормально, но читать и понимать тяжело, поскольку вместо имен переменных "абракадабра". А протектор базируется на делении скомпилированного байт-кода на участки, перемешиванием с сохранением порядка выполнения (google: goto) и "забивании" пустых мест между участками "мусором". Сбивает с толку декомпилятор, по скольку тот не понимает как декомпилить "мусор". Ну иногда делают попадание при невыполнимом условии в "мусор" (типа если 0 равен 1). Часто комбинируется с "сериализацией и вложением". Помогает защитить алгоритм от "копи-пастинга", но правда и мешает "поднять из пепла" брошенный мод. Защиты такого типа выпиливаются при помощи "трекера" и забивания пустых мест NOP'ами. Такая защита используется в основном при написании "платных читов модов", чтобы осложнить написание "халявной" версии. На бесплатных продуктах ставить защиту, ИМХО, бессмысленно. Плюс такая защита требует вычислительной мощности при старте игры и сильно замедляет загрузку клиента. Особенно если модов много. Вообще байт-код питона - это что-то наподобие ассемблера, только более высокого уровня. Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #204062 Posted August 3, 2014 Ну обфускатор и так можно найти в инете. Но он "сбивает" только имена локальных переменных, общий алгоритм все равно видно. Декомпилится нормально, но читать и понимать тяжело, поскольку вместо имен переменных "абракадабра". А протектор базируется на делении скомпилированного байт-кода на участки, перемешиванием с сохранением порядка выполнения (google: goto) и "забивании" пустых мест между участками "мусором". Сбивает с толку декомпилятор, по скольку тот не понимает как декомпилить "мусор". Ну иногда делают попадание при невыполнимом условии в "мусор" (типа если 0 равен 1). Часто комбинируется с "сериализацией и вложением". Помогает защитить алгоритм от "копи-пастинга", но правда и мешает "поднять из пепла" брошенный мод. Защиты такого типа выпиливаются при помощи "трекера" и забивания пустых мест NOP'ами. Такая защита используется в основном при написании "платных читов модов", чтобы осложнить написание "халявной" версии. На бесплатных продуктах ставить защиту, ИМХО, бессмысленно. Плюс такая защита требует вычислительной мощности при старте игры и сильно замедляет загрузку клиента. Особенно если модов много. Вообще байт-код питона - это что-то наподобие ассемблера, только более высокого уровня. Это не протекция, это обфускация, концепию протекции, над которой я работаю, можно найти в соседней теме о декомпиляции, найди там мой пост, почитайте. Quote Share this post Link to post Short link Share on other sites
ProstoNoob 15 #204088 Posted August 3, 2014 Это не протекция, это обфускация, концепию протекции, над которой я работаю, можно найти в соседней теме о декомпиляции, найди там мой пост, почитайте. С чего такая ненависть ко мне? Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #204089 Posted August 3, 2014 С чего такая ненависть ко мне? Ты о чём? Quote Share this post Link to post Short link Share on other sites
ProstoNoob 15 #204113 Posted August 3, 2014 Ты о чём? Писал тебе ЛС, неделю с лишним назад.. Quote Share this post Link to post Short link Share on other sites