StranikS_Scan 4,213 #295814 Posted October 20, 2015 (edited) Да, но ведь при компиляции ошибок не возникает! Значит так комментировать можно? Это не совсем коммент )))) Напиши вот так: def aaa(): 1 2 3 return и питон это схавает. Потому что 1, 2, 3 это просто константы. Мало того питон при компиляции такого кода его еще и оптимизирует до вида: <<< File: C:\a1.pyc <<< ------------------------------------------------------------------ <<< ******************** code beginning (level 0) ******************** <<< discode[hexcode]: <<< | 3 0 LOAD_CONST [64 00 00] 0 (None) <<< | 3 RETURN_VALUE [53 -- --] <<< consts: <<< (0) None <<< ********************** code ending (level 0) ********************* Как видишь не распознал питон в "1" комментарий к функции. Вот еще пример def aaa(): 'ffff' 'ssss' 1 2 3 после компиляции: <<< ******************** code beginning (level 0) ******************** <<< discode[hexcode]: <<< | 1 0 LOAD_CONST [64 00 00] 0 (ffff) <<< | 3 STORE_NAME [5A 00 00] 0 (__doc__) <<< | 5 6 LOAD_CONST [64 01 00] 1 (None) <<< | 9 RETURN_VALUE [53 -- --] <<< consts: <<< (0) 'ffff' <<< (1) None <<< ********************** code ending (level 0) ********************* Вот теперь видим, что "fff' это комментарий к функции И третий пример: 1 2 'ffffff' вот результат: <<< File: C:\a1.pyc <<< ------------------------------------------------------------------ <<< ******************** code beginning (level 0) ******************** <<< discode[hexcode]: <<< | 3 0 LOAD_CONST [64 00 00] 0 (None) <<< | 3 RETURN_VALUE [53 -- --] <<< consts: <<< (0) None <<< ********************** code ending (level 0) ********************* Тут он не увидел в начале ни каких текстовых констант и забил на все остальные константы --------------------------------------------- Так вот я к чему веду, у мну есть вариант работы минимайзера, когда он все текстовые константы будет подтирать. Могу включить его. Edited October 20, 2015 by StranikS_Scan Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #295815 Posted October 20, 2015 Так вот я к чему веду, у мну есть вариант работы минимайзера, когда он все текстовые константы будет подтирать. Могу включить его. Не дай бог! Сейчас все норм! Quote Share this post Link to post Short link Share on other sites
akey 35 #295898 Posted October 20, 2015 Приветствую! Не подскажите это как такое может быть при запуске мода на компе без Ориона. Зачем это? Спасибо. http://s015.radikal.ru/i333/1510/6f/91d6de847b23.jpg Quote Share this post Link to post Short link Share on other sites
ZorroJan 17 #295906 Posted October 21, 2015 StranikS_Scan, тоесть получается, что тройные кавычки не являются комментарием? А являются просто объявлением стринговой константы? А какие тогда есть варианты быстрой комментации части программы (в несколько строк), чтоб всё было согласно этикету? Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #295907 Posted October 21, 2015 Значит так комментировать можно?В принципе, @StranikS_Scan тебе уже ответил. Немного добавлю. При выполнении выражения, а строка, пусть и записанная в несколько строк через тройные кавычки, это тоже выражение, питон закидывает его результат в стек. Соответственно, если ты никуда его не присваиваешь, он его выкидывает (POP_TOP, ЕМНИП). А выполнение LOAD_CONST с последующим POP_TOP - абсолютно бессмысленная операция, только ресурсы жрет. Питон ее выкидывает из байт-кода при компиляции. @StranikS_Scan, если такую шляпу грамотно запутать в коде, можно нехило забить рабочее место при обфускации. Тем более если юзать с ROT_* Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,213 #295913 Posted October 21, 2015 Приветствую! Не подскажите это как такое может быть при запуске мода на компе без Ориона. Зачем это? Спасибо. http://s015.radikal.ru/i333/1510/6f/91d6de847b23.jpg Это инжектор. В первом посте инфа есть под спойлером про защиты. StranikS_Scan, тоесть получается, что тройные кавычки не являются комментарием? А являются просто объявлением стринговой константы? А какие тогда есть варианты быстрой комментации части программы (в несколько строк), чтоб всё было согласно этикету? Тройные - это всё тот же стринг только захватывающий еще и концы строк. А ни чем другим он от стрингов в кавычках и апострофах не отличается. Я полистал питон, действительно многие пишут, что тройные кавычки также можно юзать и для многострочного комментирования в теле программы. Ни чего другого нет для этого. Немного странно конечно. Коммент - не есть элемент кода программы. Но в питоне строка в тройных кавычках - это константа в программе, просто не юзаемая и потому компилятор её выкидывает. Но похоже эти строки можно и как комменты юзать. #this is a comment in Python print "Hello World" #This is also a comment in Python """ This is an example of a multiline comment that spans multiple lines ... """ StranikS_Scan, если такую шляпу грамотно запутать в коде, можно нехило забить рабочее место при обфускации. Тем более если юзать с ROT_* Дык компилятор же выкидывает лишние инструкции. Я пробовал, например делать лишние операции со стеком, дык он их выбрасывал из кода )))) Quote Share this post Link to post Short link Share on other sites
akey 35 #295918 Posted October 21, 2015 Use exe injector значит в новой версии включен по умолчанию. Что не есть хорошо. Просто у пользователей появляются вопросы :) а что это, а зачем, а почему и т.д. Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,213 #295928 Posted October 21, 2015 Use exe injector значит в новой версии включен по умолчанию. Что не есть хорошо. Просто у пользователей появляются вопросы :) а что это, а зачем, а почему и т.д. Нет не включен. Ты сам галочку поставил. Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #295942 Posted October 21, 2015 Дык компилятор же выкидывает лишние инструкции. Я пробовал, например делать лишние операции со стеком, дык он их выбрасывал из кода ))))Эээ а ты на каком уровне код обфуцируешь? Вроде как патчится байт-код должен, или у тебя другая схема? Байт-код уже на выхлопе компилятора идет, так что с ним можно что хошь мутить) Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,213 #295948 Posted October 21, 2015 Эээ а ты на каком уровне код обфуцируешь? Вроде как патчится байт-код должен, или у тебя другая схема? Байт-код уже на выхлопе компилятора идет, так что с ним можно что хошь мутить) Конечно можно, я смотрел что можно сделать на высоком уровне, чтоб меньше потом парится. А так то да. Но тут правда другая проблема тут портят картину шибко умные декомпиляторы. Берешь вставляешь ротацию стека в одну сторону, затем загрузку пустой константы или еще какое пустое действие делаешь, а затем ротацию стека в обратную сторону. И смотришь как поведёт себя декомпилятор - оказалось ему пофиг )))) Quote Share this post Link to post Short link Share on other sites
ZorroJan 17 #295966 Posted October 21, 2015 (edited) StranikS_Scan, а зачем такие вот констатнты могут пригодиться в коде? def aaa(): 'ffff' 'ssss' 1 2 3 Может в минимайзере хоть галочку сделать, типа, убрать не объявленные константы? И всю такую шнягу вон. Я имею ввиду если перед константой = не стоит, а если такой вариант как в примере, то pass вставлять, если ничего не остаётся. Edited October 21, 2015 by ZorroJan Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,213 #295967 Posted October 21, 2015 StranikS_Scan, а зачем такие вот констатнты могут пригодиться в коде? Может в минимайзере хоть галочку сделать, типа, убрать не объявленные константы? И всю такую шнягу вон. Хз, похоже так просто получилось. Питон же претендует на звание языка - пиши код любым из мульона способов и он будет работать. Добавлю. Quote Share this post Link to post Short link Share on other sites
伝説の 15 #296008 Posted October 21, 2015 При включенном UAC, в PjOrion'е без прав в этой вкладке ничего не применяется. + Данное сообщение >>> Changes in the Explorer context menu are applied. вводит в заблуждение. Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,213 #296012 Posted October 21, 2015 При включенном UAC, в PjOrion'е без прав в этой вкладке ничего не применяется. + Данное сообщение >>> Changes in the Explorer context menu are applied. вводит в заблуждение. Конечно не применяется. Где вы видели чтоб можно было что-то сделать в реестре без прав? С сообщением погляжу почему не пишет что прав нет. Quote Share this post Link to post Short link Share on other sites
伝説の 15 #296013 Posted October 21, 2015 Конечно не применяется. Где вы видели чтоб можно было что-то сделать в реестре без прав?Это скорее к вам вопрос, я просто недоработку описал. Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,213 #296014 Posted October 21, 2015 Это скорее к вам вопрос, я просто недоработку описал. В смысле? Quote Share this post Link to post Short link Share on other sites
伝説の 15 #296015 Posted October 21, 2015 В смысле?Ну это же вы не учли что человек может и без прав программу запускать, а вопросы почему-то мне задаете. Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,213 #296016 Posted October 21, 2015 Ну это же вы не учли что человек может и без прав программу запускать, а вопросы почему-то мне задаете. Задаю потому что это общеизвестно. Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #296027 Posted October 22, 2015 Задаю потому что это общеизвестно.Сделать команду на установку контекстов с запросом на повышение, и весь концерт)) Если у чувака от Админа запущено или автоповышение в групповых политиках стоит, то все сразу запустится, если обычный юзвер - вылетит запрос м.б. с паролем. Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,213 #296101 Posted October 22, 2015 Сделать команду на установку контекстов с запросом на повышение, и весь концерт)) Если у чувака от Админа запущено или автоповышение в групповых политиках стоит, то все сразу запустится, если обычный юзвер - вылетит запрос м.б. с паролем. Погляжу, погляжу. Quote Share this post Link to post Short link Share on other sites