SkepticalFox 1,445 #277046 Posted June 8, 2015 (edited) . Edited July 20, 2016 by ShadowHunterRUS 3 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,213 #277049 Posted June 8, 2015 (edited) запилите напублику деобфускацию обфусцированных при помощи PjOrion модов Запиливаю: Пункт 1. Берем хакнутую python27.dll для дампа аргументов питоновских операторов... И сразу встречный вопрос - а у вас такое есть? Ах нет. Ну тогда как будет так и приходите за запилом для публики ЗЫ: Тоже мне догадался писать сюда. Еще бы Касперскому написал, чтоб он для публики запилил как антивирь хакнуть. Edited June 8, 2015 by StranikS_Scan 2 Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #277059 Posted June 8, 2015 (edited) @StranikS_Scan, привет! Edited June 9, 2015 by ShadowHunterRUS 1 Quote Share this post Link to post Short link Share on other sites
o-0-0-0 77 #277084 Posted June 8, 2015 @StranikS_Scan, привет! Знаешь где можно найти исходники XVM 4.x.x и 3.x.x версий? На ихнем doc.google гдето видел , если не найдёш я дам )))ЗЫ а что python27.dll крякнотоя существует о_О ? Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #277106 Posted June 8, 2015 (edited) . Edited July 20, 2016 by ShadowHunterRUS 1 Quote Share this post Link to post Short link Share on other sites
fecell 125 #277154 Posted June 9, 2015 ЗЫ а что 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 зы: автору этого мода - интересно стало о какой трехуровневой защите шла речь выше в теме) 4 1 Quote Share this post Link to post Short link Share on other sites
spoter 1,402 #277155 Posted June 9, 2015 (edited) Толку от неё не очень много - вернее практического смысла. Эмуляцию трассировки на самом питоне написать не сложно без особых заморочек, разве что 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 June 9, 2015 by spoter 1 1 Quote Share this post Link to post Short link Share on other sites
o-0-0-0 77 #277175 Posted June 9, 2015 (edited) И отсюда следует вопрос - "а зачем тогда делать защиту если всё ровно взломать можно? " import imp hookExec = imp.load_dynamic('hookExec', 'res_mods/hookExec.pyd') hookExec.hook() Кстати год назад где то я предлагал сделать что то подобное. Некоторые эксперименты с CameraNode даже давали некоторые результаты , перехватывая загрузку мода . google code уже закрыт! Вы специально делаете ошибки в тексте? Спасибо моему тИлИфону (кнопочки маленькие такие ) Ну значит не повезло тебе . Edited June 9, 2015 by o-0-0-0 1 1 Quote Share this post Link to post Short link Share on other sites
fecell 125 #277182 Posted June 9, 2015 Некоторые эксперименты с CameraNode даже давали некоторые результаты , перехватывая загрузку мода . exec невозможно перехватить без инжекта в адресное пространство питона. В 3.х питоне - можно, Странник помнишь мы как-то об этом переписывались. В 2.х функция не перехватывается и сделать что-либо нельзя. Но с бубном все можно)) IDA мощный бубен, vs2013 тоже, хотя достаточно 2012. 1 1 Quote Share this post Link to post Short link Share on other sites
DrWebber 5 #277185 Posted June 9, 2015 В 2.х функция не перехватывается и сделать что-либо нельзя. Но с бубном все можно)) IDA мощный бубен, vs2013 тоже, хотя достаточно 2012. Вообще то можно и без бубна. 3 Quote Share this post Link to post Short link Share on other sites
o-0-0-0 77 #277189 Posted June 9, 2015 Ну так если можно на кой ты мне минус ставишь ? Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #277190 Posted June 9, 2015 (edited) . Edited July 20, 2016 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
KACTET 317 #277209 Posted June 9, 2015 (edited) Вообще то можно и без бубна. Что я со стороны вижу: Ну имеешь ты DDLку которую инжектишь и ползаешь по моим скриптам в основном видя значения переменных и что скрипт делает. Считаю что находится и присваивается после def ты не вытянешь. Пысы: Читаю я ваши разговоры и создаётся впечатление, что вы друг перед другом просто самомнение чешите. Вы думаете, что никто кроме вас не следит за тем что появилось последнее из способов вытягивания открытого скрипта? Ну вытягивайте из стёка или из памяти или инжектите и получаете вы аброкодабру которую и скриптом то назвать затруднительно, да и то большие сомнения. Если уж надо посмотреть куда скрипт лезет или ещё что - так по поиску в памяти процесса worldoftanks.ru можно интересующее присмотреть.. Продолжайте кичится... Не DrWebber это не подсилу, не тем более сказочнику fecell. Но думою как раз Странник и смогёт - он человек дотошно саморазвивающийся. А если не смогёт то хорошие люди ему подскажут и тогда смогёт. Edited June 10, 2015 by KACTET 4 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,213 #277218 Posted June 9, 2015 зы: автору этого мода - интересно стало о какой трехуровневой защите шла речь выше в теме) Это о чем речь? exec невозможно перехватить без инжекта в адресное пространство питона. В 3.х питоне - можно, Странник помнишь мы как-то об этом переписывались. В 2.х функция не перехватывается и сделать что-либо нельзя. Но с бубном все можно)) IDA мощный бубен, vs2013 тоже, хотя достаточно 2012. Да в том то и беда, что с перехватом на уровне движка бороться из питон-скрипта не возможно. Все что приходит в голову - это разбить код на части и exec-ить по частям, периодически скармливания exec всякий мусор, что в итоге даже при автоматическом дампе аргумента оператора exec на выходе должно давать куски байт-кода вперемешку с мусорными частями. Мона пробовать запилить такое. Но будет ли толк, я хз, у мну таких текнолоджей взлома нет. Мона еще инжектор, что я в личке кидал, натравить на то, что бы всякие манипуляции с кодом в самом ОЗУ процесса делал и тогда такая штука будет куда серьезнее. Но вот сам инжектор дисазнуть и хакнуть крякерам как не фиг делать, особенно при его то компактных размерах )))) Вообще то можно и без бубна. Гости кушали ватрушки, // Женя в комнате играл - // Он военные игрушки // По частичкам разбирал. (С) С. Михалков 1 Quote Share this post Link to post Short link Share on other sites
KACTET 317 #277275 Posted June 9, 2015 (edited) Дядюшка StranikS_Scan у меня проблема с программой которая очень и очень подбешивает.Когда запускаешь Орион он у меня растягивается на весь экран.Следующее включение программы даёт опять растяжение Ориона на весь экран (не запоминает последнего размера и места окна).Это имеет быть на всех версиях начиная с 123 до 125 (выше версии ещё не ставил)Может есть где галочка или заковырочка какая в свойствах INI, чтобы при запуске окно Ориона не разлеталось на весь экран? Заранее спасибо за ответ. Edited June 9, 2015 by KACTET Quote Share this post Link to post Short link Share on other sites
fecell 125 #277319 Posted June 10, 2015 Это о чем речь? вот: якобы конфликт из-за того, что у него трехфакторная защита мода, а у юши двухфакторная.. 1 1 Quote Share this post Link to post Short link Share on other sites
Domovoy 0 #277339 Posted June 10, 2015 (edited) edit: решил, на всякий случай, задать вопрос StranikS_Scan'у в ЛС. Edited June 10, 2015 by Domovoy Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #277352 Posted June 10, 2015 (edited) . Edited July 20, 2016 by ShadowHunterRUS 1 Quote Share this post Link to post Short link Share on other sites
KACTET 317 #277381 Posted June 10, 2015 spoiler Спасибо, каюсь.. что то я не учёл этот момент. спс. Quote Share this post Link to post Short link Share on other sites
o-0-0-0 77 #277400 Posted June 11, 2015 (edited) Это о чем речь? Мне интересно стало , если игра сделала на движке BigWorld WorldOfTanks 2.8.0 разве не сам движок расшифровывает без разницы сколько и как зашифрованы скрипты ? Может в самом движке искать как оно это делается ? Edited June 11, 2015 by o-0-0-0 Quote Share this post Link to post Short link Share on other sites