Jump to content
Korean Random
StranikS_Scan

PjOrion - редактирование, компиляция, декомпиляция, обфускация модов (Версия: 1.3.5 Дата: 11.08.2019)

Пользуетесь ли вы Орионом?  

314 members have voted

You do not have permission to vote in this poll, or see the poll results. Please sign in or register to vote in this poll.

Recommended Posts

Да, но ведь при компиляции ошибок не возникает! Значит так комментировать можно?

 

Это не совсем коммент ))))

 

Напиши вот так:

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 by StranikS_Scan

Share this post


Link to post

Short link
Share on other sites

 

 

Так вот я к чему веду, у мну есть вариант работы минимайзера, когда он все текстовые константы будет подтирать. Могу включить его.

Не дай бог!

Сейчас все норм!

Share this post


Link to post

Short link
Share on other sites

StranikS_Scan, тоесть получается, что тройные кавычки не являются комментарием? А являются просто объявлением стринговой константы? А какие тогда есть варианты быстрой комментации части программы (в несколько строк), чтоб всё было согласно этикету?

Share this post


Link to post

Short link
Share on other sites

Значит так комментировать можно?

В принципе, @StranikS_Scan тебе уже ответил. Немного добавлю.

При выполнении выражения, а строка, пусть и записанная в несколько строк через тройные кавычки, это тоже выражение, питон закидывает его результат в стек. Соответственно, если ты никуда его не присваиваешь, он его выкидывает (POP_TOP, ЕМНИП). А выполнение LOAD_CONST с последующим POP_TOP - абсолютно бессмысленная операция, только ресурсы жрет. Питон ее выкидывает из байт-кода при компиляции.

@StranikS_Scan, если такую шляпу грамотно запутать в коде, можно нехило забить рабочее место при обфускации. Тем более если юзать с ROT_*

Share this post


Link to post

Short link
Share on other sites

Приветствую! Не подскажите это как такое может быть при запуске мода на компе без Ориона. Зачем это? Спасибо.

 

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_*

 

Дык компилятор же выкидывает лишние инструкции. Я пробовал, например делать лишние операции со стеком, дык он их выбрасывал из кода ))))

Share this post


Link to post

Short link
Share on other sites

Use exe injector значит в новой версии включен по умолчанию. Что не есть хорошо. Просто у пользователей появляются вопросы :) а что это, а зачем, а почему и т.д.

Share this post


Link to post

Short link
Share on other sites

Use exe injector значит в новой версии включен по умолчанию. Что не есть хорошо. Просто у пользователей появляются вопросы :) а что это, а зачем, а почему и т.д.

 

Нет не включен. Ты сам галочку поставил.

Share this post


Link to post

Short link
Share on other sites

Дык компилятор же выкидывает лишние инструкции. Я пробовал, например делать лишние операции со стеком, дык он их выбрасывал из кода ))))

Эээ а ты на каком уровне код обфуцируешь? Вроде как патчится байт-код должен, или у тебя другая схема? Байт-код уже на выхлопе компилятора идет, так что с ним можно что хошь мутить)

Share this post


Link to post

Short link
Share on other sites

Эээ а ты на каком уровне код обфуцируешь? Вроде как патчится байт-код должен, или у тебя другая схема? Байт-код уже на выхлопе компилятора идет, так что с ним можно что хошь мутить)

 

Конечно можно, я смотрел что можно сделать на высоком уровне, чтоб меньше потом парится. А так то да. Но тут правда другая проблема тут портят картину шибко умные декомпиляторы. Берешь вставляешь ротацию стека в одну сторону, затем загрузку пустой константы или еще какое пустое действие делаешь, а затем ротацию стека в обратную сторону. И смотришь как поведёт себя декомпилятор - оказалось ему пофиг ))))

Share this post


Link to post

Short link
Share on other sites

StranikS_Scan, а зачем такие вот констатнты могут пригодиться в коде?

 

def aaa():
  'ffff'
  'ssss'
  1
  2
  3

 

Может в минимайзере хоть галочку сделать, типа, убрать не объявленные константы? И всю такую шнягу вон. Я имею ввиду если перед константой = не стоит, а если такой вариант как в примере, то pass вставлять, если ничего не остаётся.

Edited by ZorroJan

Share this post


Link to post

Short link
Share on other sites

StranikS_Scan, а зачем такие вот констатнты могут пригодиться в коде?

 

 

Может в минимайзере хоть галочку сделать, типа, убрать не объявленные константы? И всю такую шнягу вон.

 

Хз, похоже так просто получилось. Питон же претендует на звание языка - пиши код любым из мульона способов и он будет работать.

 

Добавлю.

Share this post


Link to post

Short link
Share on other sites

При включенном UAC, в PjOrion'е без прав в этой вкладке ничего не применяется.
cf8cLfr.png

+

Данное сообщение

>>> Changes in the Explorer context menu are applied.

вводит в заблуждение.

Share this post


Link to post

Short link
Share on other sites

При включенном UAC, в PjOrion'е без прав в этой вкладке ничего не применяется.

cf8cLfr.png

+

Данное сообщение

>>> Changes in the Explorer context menu are applied.

вводит в заблуждение.

 

 

Конечно не применяется. Где вы видели чтоб можно было что-то сделать в реестре без прав?

 

С сообщением погляжу почему не пишет что прав нет.

Share this post


Link to post

Short link
Share on other sites

Конечно не применяется. Где вы видели чтоб можно было что-то сделать в реестре без прав?

Это скорее к вам вопрос, я просто недоработку описал.

Share this post


Link to post

Short link
Share on other sites

Это скорее к вам вопрос, я просто недоработку описал.

 

В смысле?

Share this post


Link to post

Short link
Share on other sites

В смысле?

Ну это же вы не учли что человек может и без прав программу запускать, а вопросы почему-то мне задаете.

Share this post


Link to post

Short link
Share on other sites

Ну это же вы не учли что человек может и без прав программу запускать, а вопросы почему-то мне задаете.

 

Задаю потому что это общеизвестно.

Share this post


Link to post

Short link
Share on other sites

Задаю потому что это общеизвестно.

Сделать команду на установку контекстов с запросом на повышение, и весь концерт))

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

Share this post


Link to post

Short link
Share on other sites

Сделать команду на установку контекстов с запросом на повышение, и весь концерт))

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

 

Погляжу, погляжу.

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...