mercger
-
Posts
28 -
Joined
-
Last visited
Posts posted by mercger
-
-
Все что было полезное в этой теме - всякие советы по компиляции/декомпиляции - устарело с появлением Ориона. Сейчас эта тема используется для общения и выкладывания и обсуждения всяких новостей.
Не понимаю почему все советы устарели. По декомпиляции особенно.
-
mercger нашли выходы?
Какие выходы ? Откуда ?
З.Ы. StranikS_Scan, ну скажи почему такое категоричное мнение ?
-
Все что было полезное в этой теме - всякие советы по компиляции/декомпиляции - устарело с появлением Ориона. Сейчас эта тема используется для общения и выкладывания и обсуждения всяких новостей.
Все так серьёзно ? :)
- 1
- 1
-
Первый раз слышу, что создание программ для удобства - это отмазка от чего-то... это ты, уважаемый, перегнул.
Если бы было что-то типа "мне удобна такая то хрень, но ее в готовых вариантах ну ни в каком виде нет, так что пилю удобства ради", то не мог бы не согласится.
Однако это уже не важно, т.к. развернутый ответ был дан, на что спасибо ;)
которая бы в отличие от питона не декомпилировалась и не интраспектировалась и в тоже время была с закрытым кодом, т.е. только моя.
Это будет "только моя" лишь до тех пор пока кому-то не захочется это поиметь. Нет, правда, это история про неуловимого Джо...
Ну и как всегда я готов на любые компромиссы и сотрудничество.
Я ни в коем случае не пытаюсь указывать, но вернуться в "нашу" вселенную я все же советую. Глядишь, и в гугле все найдется ;)
З.Ы. Буду рад спортивному развлечению по выдергиванию ваших идей из вашего творения. Прошу сообщить о релизе асап. Надеюсь там будет что-то кроме того что гуглится за пол часа. ^_^- 1
- 2
-
Для удобства...
и еще для кое-чего, но тебе это не понравится.
Первая часть выглядит как не прикрытая отмазка, а вторая то ли детский троллинг, то ли высказывание недружелюбности, то ли вообще с параллельной вселенной, в которой, конечно, возможно все :)
Но если по сабжу, то просто масса практически готовых решений... И самое главное, что все можно запилить на питоне, быстро. Даже инжект в память :)
- 1
- 1
-
Ниче так темка :)
Но для чего этот велосипед ? Если чисто ради собственного развития, то вопрос отпадает. А так есть не мало навороченных редакторов, к которым лишь инжектор добавить надо.- 1
- 5
-
Нашел весьма обширную статью по интроспекции и подмене кода в питоне - Patching Function Bytecode in Python
Кому интересно читайте.
Разжевывание документации питона :)
-
mercger, твои проделки? Там загрузчик без маршала.
В начале моя защитка, по классике через маршал. а что дальше- хз, лень ковырять ;)
-
Типо с умом, 3 байта регистра + 3 байта регистра + COMPARE_OP итого 9 байт... всунули байт между регистрами сравнения и ни чем кроме NOOP его не заменишь, либо вырезать, либо вообще весь блок кода принтить :))) Правда там всё проще - сам-то COMPARE_OP и джамп после него там фейковые, к рабочему коду мода то не относятся, можно всё запринтить нафиг :)))
а, ок =)
Кораблики шифрует. :)
А разве они вышли ? Откуда инфа ? дай полапать :)))
-
Зацените, грамотно вставлено, а не абы куда, тут 09->48 не поможет :))):
28 LOAD_CONST 1
31 NOP
32 LOAD_CONST 2
35 COMPARE_OP '>'
38 POP_JUMP_IF_FALSE '71'
Че, типо сложно ? :)
-
Осталость под нужды сокрытия исходников функциональное шифрование Амита Сахая приспособить ))))
Я не помню чтоб там даже в обещаниях говорилось про адекватную производительность... ^_^
-
Facell, спасибо, удовольствие получил :)
"y=[72,101,108,108,111]\nfor x in y:print chr(8)+chr(x),"
Ломать не "в лоб" было скучно, поэтому начал "в лоб".
Глянул бегло асм, смотрю примерно таже шляпа что и моё чудо делает, т.е. джампы и мусор. Взял тулзу свою, что мусор вычищает, думал прогоню и fupy скормлю... Смотрю тулза вешается, думаю что за наф... Оказалось когда-то давно я научил ее автоматически подцеплять fupy, который собственно и вешался :( Тут мне стало немного интересней ^_^ Глянул асм уже менее бегло, смотрю и вижу мертвые петли на исключениях... Т.к. живем мы процесса ради, долго пытался придумать алгоритм автоматического обхода замкнутых петель с выходом, например, через исключение. Понял что придется считай декомпилятор с нуля писать (ну это чтоб каждый раз не допиливать костыли), посему стало лениво. В ручную обходить джампы было тоже лениво...
Кароче я сдался и, как обычно, перелез через забор: POP_TOP, POP_TOP, PRINT_ITEM :)про fupy - не помню.
elif opname == 'NOP': pass
иначе говоря, ему пофиг.
-
Просто то что скомпилировано py_compile можно декомпилировать "старым" uncompile2.
Остальные варианты сугубо индивидуальные, и под них одну тулзу запиливать, сизифов труд.
Я немножко разверну...
Большинство этих "сугубо индивидуальных" вариантов автоматически приводятся к виду который жрет, например, uncompile2. На оставшиеся да, надо ручками поработать, но опять же уже для того чтоб привести код к виду который жрет тулза. Посему смысла гонятся за версиями декомпилятора нет. Достаточно той версии что без ошибок декомпилит код скомпиленный py_compile.
З.Ы. StranikS_Scan, fecell, может выложите чего забавное поковырять ? Так чтоб пару часиков посидеть :)
-
Времени нет, да и не заинтересован я в усложнении декомпиляции скриптов))) По мне пусть лучше ничего не меняется ) а то с каждым разом все геморнее внутрь скриптов заглядывать.
Я тоже за разумный эгоизм :)Собираю всё подряд, это скорее всего Lynx подогнал когда-то.Хз кто это, но ок, спс за ответ :)
-
Edited by mercger
А мои моды не безызвестны, как посмотрю....
Это мои первые попытки изучения питона и танков. Очень интересно где ты раздобыл это ;)
З.Ы. Обфускация макса не менее смешная, да. -
facell, описанные вами способы увеличат время декомпиляции скрипта на 15-20 минут, если только не начинать пробивать лбом стену.
-
Кстати, когда собирал твой скрипт из этой темы, заметил некоторые не оптимизированные веши. Скрипт компилтлся каким питоном? 2.7.3?
2.7.x Точней не помню :(
Ты бы еще про 2.6 вспомнил :)) Но питон вообще не очень оптимально компилится, видимо потому что заморачиваться особо смысла нет, ибо ВМ питона тормозная до жути.Для гения вы как-то странно соображаете. Мы тут пишем об обфускации кода, а вы зачем-то написали про оптимизацию...
Вы зачем прикидываетесь не умным :( -
Edited by mercgerНу и вот хотелось бы увидеть что-то новенькое в этом направлении, при этом думаю вполне ясно, что разработать алгоритм обфускации из первого категории всегда несколько проще чем из второй.
Вы вроде как не глупы, и должны понимать (знать) что код компилируется в более или менее оптимизированном виде, условно говоря, "эффективном". Под "эффективный" код так или иначе существуют взаимооднозначные логические конструкции, что собственно и используют декомпиляторы. По сему "новенькое" будет как раз фантазиями на тему "как написать очень тормозной код" :D
Можно, например, попросить индуса переписать твой высокоуровневый код в нативный. Как думаете, я гений ? ^_^
-
а вот алгоритмы шифрования и скрамблирования, такого не делают, у них можно сделать 100% реверс и получить тот самый исходный код, который был у разработчика.
Не надо быть настолько категоричным ;)
-
Ну это лучше чем загрузчик с выходом на маршал в конце алгоритма.
Неа, дампнул без напряга. Не ковырял я твои распаковщики, лень было :) -
Hello.zip 1,3 Кб 15 раз скачано Ковыряйте :)))
def foo(): def _print(text): print text var1 = 'Hello1' var2 = 'Hello2Hello1Hello1Hello1' var3 = var1 + var2 print var1 print var2 _print(var3) foo()
too easy :)
-
Молодцы :)
Да, основная ставка идет на нечитабельность. Полиморфность реализовать можно, но в любом случае, все это лишь вопрос времени, и стоит ли оно профита.
Исходники лучше не выкладывать- пусть у других тоже будет шанс покумекать, а то будут тупо бегать по форумам и искать очередную версию готовой тулзы ^_^- 1
-
А чего мой скриптик до сих пор не разобрали то ? :(
-
Айсберг не выложу, но обфускацию в чистом виде вы получите =)
Как и чем декомпилировать/компилировать питон?
in ActionScript & Python
Posted
Если бы они были идеальны....