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

запилите напублику деобфускацию обфусцированных при помощи PjOrion модов

 

Запиливаю:

Пункт 1. Берем хакнутую python27.dll для дампа аргументов питоновских операторов...

 

И сразу встречный вопрос - а у вас такое есть? Ах нет. Ну тогда как будет так и приходите за запилом для публики  :heh:

 

ЗЫ: Тоже мне догадался писать сюда. Еще бы Касперскому написал, чтоб он для публики запилил как антивирь хакнуть.

Edited by StranikS_Scan
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

@StranikS_Scan, привет!

Знаешь где можно найти исходники XVM 4.x.x и 3.x.x версий?

На ихнем doc.google гдето видел , если не найдёш я дам )))

ЗЫ а что python27.dll крякнотоя существует о_О ?

Share this post


Link to post

Short link
Share on other sites

ЗЫ а что python27.dll крякнотоя существует о_О ?

Толку от неё не очень много - вернее практического смысла. Эмуляцию трассировки на самом питоне написать не сложно без особых заморочек, разве что SETUP_*** несколько усложняют процесс ввиду наличия закрывающих конструкций, которые иногда не выполняются, т.о. часть байткода в трассировку не попадает и его надо (для декомпилятора) добавить вручную.

 

А вот от чего есть толк - так это от мода который ставит хук на exec (хотя есть версия от другого автора в виде dll-ки выполняющая аналогичную функцию)

import imp
hookExec = imp.load_dynamic('hookExec', 'res_mods/hookExec.pyd')
hookExec.hook()

и после пишет на диск все скрипты, перехватывая момент их запуска после расшифровки. Далее остается восстановить порядок исполнения байткода, что, как выше писал, не так и сложно. Все упирается в вопрос умения. Кто умеет тот сделает, кто не умеет, тот ищет тех кто может сделать. Но в паблик один фиг подобные разработки не выходят.

 

Чтобы не быть голословным - вот немного кода, обратите внимание на номера смещений байткода.. Ну не вручную же столько перелопачивать ;)

           ...
           41462 LOAD_NAME                0 (BigWorld)
           41465 LOAD_ATTR               63 (mod_angel_extended_settings)
           41468 LOAD_CONST              21 ('quest_settings')
           41471 BINARY_SUBSCR      
           41472 LOAD_CONST             883 ('%s')
           41475 LOAD_CONST             394 (300)
           41478 BINARY_MODULO      
           41479 BINARY_SUBSCR      
           41480 LOAD_CONST             885 ('secondary_conditions')
           41483 STORE_SUBSCR       
           41484 LOAD_NAME               84 (Init)
           41487 CALL_FUNCTION            0
           41490 POP_TOP            
           41491 LOAD_CONST               1 (None)
           41494 RETURN_VALUE

зы: автору этого мода - интересно стало о какой трехуровневой защите шла речь выше в теме)

  • Upvote 4
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

Толку от неё не очень много - вернее практического смысла. Эмуляцию трассировки на самом питоне написать не сложно без особых заморочек, разве что SETUP_*** несколько усложняют процесс ввиду наличия закрывающих конструкций, которые иногда не выполняются, т.о. часть байткода в трассировку не попадает и его надо (для декомпилятора) добавить вручную.

 

А вот от чего есть толк - так это от мода который ставит хук на exec (хотя есть версия от другого автора в виде dll-ки выполняющая аналогичную функцию)

 

import imphookExec = imp.load_dynamic('hookExec', 'res_mods/hookExec.pyd')hookExec.hook()
и после пишет на диск все скрипты, перехватывая момент их запуска после расшифровки. Далее остается восстановить порядок исполнения байткода, что, как выше писал, не так и сложно. Все упирается в вопрос умения. Кто умеет тот сделает, кто не умеет, тот ищет тех кто может сделать. Но в паблик один фиг подобные разработки не выходят.

 

Чтобы не быть голословным - вот немного кода, обратите внимание на номера смещений байткода.. Ну не вручную же столько перелопачивать ;)

...           41462 LOAD_NAME			    0 (BigWorld)		   41465 LOAD_ATTR			   63 (mod_angel_extended_settings)		   41468 LOAD_CONST			  21 ('quest_settings')		   41471 BINARY_SUBSCR	  		   41472 LOAD_CONST			 883 ('%s')		   41475 LOAD_CONST			 394 (300)		   41478 BINARY_MODULO	  		   41479 BINARY_SUBSCR	  		   41480 LOAD_CONST			 885 ('secondary_conditions')		   41483 STORE_SUBSCR	   		   41484 LOAD_NAME			   84 (Init)		   41487 CALL_FUNCTION		    0		   41490 POP_TOP					   41491 LOAD_CONST			   1 (None)		   41494 RETURN_VALUE
зы: автору этого мода - интересно стало о какой трехуровневой защите шла речь выше в теме)
В данном случае чисто орион, на мерце код падает. А свою использовать если начинаю, резко падает производительность.

Да и никто не спорит что взломать можно все, весь вопрос в усилиях, которые на это потратить.

Чаще всего проще свое написать, чем ломать чужое.

 

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

 

Все эти защиты призваны не спрятать код совсем, а всего лишь затруднить его восстановление.

 

Если уж нужна именно защита от восстановления исходников, нужно pyd использовать и не жужать.

Edited by spoter
  • Upvote 1
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

И отсюда следует вопрос - "а зачем тогда делать защиту если всё ровно взломать можно? " 

 

 

import imp hookExec = imp.load_dynamic('hookExec', 'res_mods/hookExec.pyd') hookExec.hook()

Кстати год назад где то я предлагал сделать что то подобное.

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


 

 

google code уже закрыт! Вы специально делаете ошибки в тексте?  

Спасибо моему тИлИфону (кнопочки маленькие такие  :heh: )

Ну значит не повезло тебе .  :an:

Edited by o-0-0-0
  • Upvote 1
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

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

exec невозможно перехватить без инжекта в адресное пространство питона. В 3.х питоне - можно, Странник помнишь мы как-то об этом переписывались. В 2.х функция не перехватывается и сделать что-либо нельзя. Но с бубном все можно)) IDA мощный бубен, vs2013 тоже, хотя достаточно 2012.

  • Upvote 1
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

 В 2.х функция не перехватывается и сделать что-либо нельзя. Но с бубном все можно)) IDA мощный бубен, vs2013 тоже, хотя достаточно 2012.

 

Вообще то можно и без бубна.

  • Downvote 3

Share this post


Link to post

Short link
Share on other sites

Вообще то можно и без бубна.

Что я со стороны вижу: Ну имеешь ты DDLку которую инжектишь и ползаешь по моим скриптам в основном видя значения переменных и что скрипт делает.

Считаю что находится и присваивается после def ты не вытянешь.

 

Пысы:

         Читаю я ваши разговоры и создаётся впечатление, что вы друг перед другом просто самомнение чешите.

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

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

         Если уж надо посмотреть куда скрипт лезет или ещё что - так по поиску в памяти процесса worldoftanks.ru можно интересующее присмотреть..

         Продолжайте кичится...

 

Не DrWebber это не подсилу, не тем более сказочнику fecell. Но думою как раз Странник и смогёт - он человек дотошно саморазвивающийся.

А если не смогёт то хорошие люди ему подскажут и тогда смогёт.  :meh:

Edited by KACTET
  • Downvote 4

Share this post


Link to post

Short link
Share on other sites

 

 

зы: автору этого мода - интересно стало о какой трехуровневой защите шла речь выше в теме)

 

Это о чем речь?

 

 

 

exec невозможно перехватить без инжекта в адресное пространство питона. В 3.х питоне - можно, Странник помнишь мы как-то об этом переписывались. В 2.х функция не перехватывается и сделать что-либо нельзя. Но с бубном все можно)) IDA мощный бубен, vs2013 тоже, хотя достаточно 2012.

 

Да в том то и беда, что с перехватом на уровне движка бороться из питон-скрипта не возможно. Все что приходит в голову - это разбить код на части и exec-ить по частям, периодически скармливания exec всякий мусор, что в итоге даже при автоматическом дампе аргумента оператора exec на выходе должно давать куски байт-кода вперемешку с мусорными частями. Мона пробовать запилить такое. Но будет ли толк, я хз, у мну таких текнолоджей взлома нет.

 

Мона еще инжектор, что я в личке кидал, натравить на то, что бы всякие манипуляции с кодом в самом ОЗУ процесса делал и тогда такая штука будет куда серьезнее. Но вот сам инжектор дисазнуть и хакнуть крякерам как не фиг делать, особенно при его то компактных размерах ))))

 

 

Вообще то можно и без бубна.

 

Гости кушали ватрушки, // Женя в комнате играл - // Он военные игрушки // По частичкам разбирал. (С) С. Михалков  :heh:

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Дядюшка StranikS_Scan у меня проблема с программой которая очень и очень подбешивает.
Когда запускаешь Орион он у меня растягивается на весь экран.
Следующее включение программы даёт опять растяжение Ориона на весь экран (не запоминает последнего размера и места окна).
Это имеет быть на всех версиях начиная с 123 до 125 (выше версии ещё не ставил)
Может есть где галочка или заковырочка какая в свойствах INI, чтобы при запуске окно Ориона не разлеталось на весь экран?

 

Заранее спасибо за ответ.

Edited by KACTET

Share this post


Link to post

Short link
Share on other sites

 

 

Это о чем речь?

вот:

 

 

якобы конфликт из-за того, что у него трехфакторная защита мода, а у юши двухфакторная..
 
  • Upvote 1
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

edit: решил, на всякий случай, задать вопрос StranikS_Scan'у в ЛС.

Edited by Domovoy

Share this post


Link to post

Short link
Share on other sites
Это о чем речь?

 

Мне интересно стало , если игра сделала на движке BigWorld WorldOfTanks 2.8.0 разве не сам движок расшифровывает без разницы сколько и как зашифрованы скрипты ?

Может в самом движке искать как оно это делается ?

Edited by o-0-0-0

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...