Сейчас на форуме: (+7 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Смысл Inline Patch |
Посл.ответ | Сообщение |
|
Создано: 31 августа 2014 19:11 · Личное сообщение · #1 |
|
Создано: 31 августа 2014 19:35 · Личное сообщение · #2 Отличный вопрос. В чём смысл лечения зубов, если после посещения стоматолога машина всё равно не едет ? Инлайн нужен в основном, если программу трудоемко распаковывать (антидампы, проверка на запакованность и т.д.). Ну и наконец - патч в несколько килобайт красивее выглядит чем 10-100 мегабайтная распакованная программа ![]() |
|
Создано: 31 августа 2014 20:28 · Личное сообщение · #3 |
|
Создано: 31 августа 2014 20:34 · Личное сообщение · #4 kola1357 пишет: tihiy_grom, только если упакована игра, особенно старфорсом, который имеет виртуальную машину, то лучше все-таки распаковка. Этим вы повысите производительность игры, так как исполнение на виртуальной машине протектора значительно замедляет работу. То есть вы еще при снятии пакера будете декомпилить виртуализированые функции ? =) Снятие пакера лишь ускорит старт подопытного , ну никак не производительность виртуальной машины. ![]() |
|
Создано: 31 августа 2014 21:04 · Личное сообщение · #5 kid пишет: То есть вы еще при снятии пакера будете декомпилить виртуализированые функции ? =) Изучать виртальную машину ? Зачем ? Есть алгоритмы как снимать, нужно туторы смотреть. kid пишет: ну никак не производительность виртуальной машины. Производительность игры. Выполнение на виртуалке в разы медленнее, для просто программ это не критично, а для игр, которые высокотребовательнные, это очень важно. ![]() |
|
Создано: 31 августа 2014 21:06 · Поправил: Maximus · Личное сообщение · #6 |
|
Создано: 31 августа 2014 21:08 · Поправил: kola1357 · Личное сообщение · #7 Maximus, я так не думаю. Ее тоже нужно снимать ручками. Вот к примеру в аспре есть виртуальная машина, которая тырит апи функции, а в код проги вставляет вызовы CALL 00220000, естественно после снятия дампа нам нужно восстановить все вызовы апи, иначе программа просто не заработает, ведь в дампе не будет адресов 00220000. ![]() |
|
Создано: 31 августа 2014 22:02 · Личное сообщение · #8 |
|
Создано: 31 августа 2014 22:05 · Личное сообщение · #9 |
|
Создано: 31 августа 2014 22:40 · Личное сообщение · #10 kola1357 пишет: Вот к примеру в аспре есть виртуальная машина, которая тырит апи функции, а в код проги вставляет вызовы CALL 00220000 аспр на столько суров что виртуалит kernel32 ? =) Или вы будете все таки разделять тела методов и API ? Ну и напоследок , вмпрот пожалуйста декомпильните ВМ , а то тут народ уж умаялся с ним , вас ждут . ![]() |
|
Создано: 31 августа 2014 22:47 · Личное сообщение · #11 |
|
Создано: 31 августа 2014 22:48 · Личное сообщение · #12 |
|
Создано: 31 августа 2014 23:49 · Личное сообщение · #13 kola1357 пишет: Для вмпрота умные люди давно скрипт написали, вам осталось только разобраться в его коде. Ага, этот скрипт как компресс на голову при больных зубах. ----- Everything is relative... ![]() |
|
Создано: 31 августа 2014 23:51 · Поправил: microxa · Личное сообщение · #14 ну как сказать.. как сказать.. мне аспротекченые проги попадались лишь пару тройку раз, которые весьма относительно стоили времени траха с ними (FLStudio5 и MilkShape3D), проблем с их полнофункциональной регой небыло, скорей чувство омерзения, из за покрытия протом. ммм.. впринципе можно было бы и забить на волее важные дела с более открытыми текстами, однако в случае с фруктом, на начальном этапе помог _Stripper (какойто приватный релиз), имидж dll-ки из него вышел весьма покалеченый, подлечить на койкак его можно было небольшой переправкой релоков, и эвристически дедуктивным методом восстановления тыреных байтов (благо что их был чуток).. Хотя опятьже можно было бы и забить если, к некоторому удивлению он работал если в каталоге был файл ресурсов русификатора.. нормально, чо)) Фанатеть же интересом к этому замороченому триперру как аспрот... одного того что творилось в стриппере/его драйвере, было достаточно чтоб забыть об этом как о страшном ужосе. ммм.. в любом случае снимаю шляпу перед PE_Kill, DecomAS, творил чтото нереальное по реинкарнации имеджей... /me потерял мысль... чтоб подытожить. ну вы поняли, да.. PASAf ну почему же.. смотря как, и каким из стопицот способов.. инлайнить, хучить сплайсить и собствено патчить.. DimitarSerg пожалуй соглашусь, с приписаной ко мне цитатой... сам ценю лишь наиболее простые и тупые методики, (которые будучи перед носом, не всегда очевидны..))) ![]() |
|
Создано: 31 августа 2014 23:59 · Личное сообщение · #15 |
|
Создано: 01 сентября 2014 00:15 · Личное сообщение · #16 microxa пишет: Стало быть, инлайн никак не поможет, если функции связанные с регистрацией находятся в вм либо подменены? Поможет, когда достигнешь элитного уровня и будешь знать что и как запатчить в ленте пи кода ![]() Vamit пишет: Для вмпрота умные люди давно скрипт написали, вам осталось только разобраться в его коде. Для фимки тоже, вот только остаются тысячи строк "каши" из кода ![]() ----- ds ![]() |
|
Создано: 01 сентября 2014 09:40 · Поправил: Maximus · Личное сообщение · #17 >Стало быть, инлайн никак не поможет, если функции связанные с регистрацией находятся в вм либо подменены? >как запатчить в ленте пи кода Не нужно ПИ код патчить. Можно подсунуть правильные параметры при выходах из невиртуализированых процедур, а можно найти команду cmp и направлять ветки алгоритма в нужное русло. Оба случая я разбирал в статьях: 1) Патч cmp (Themida) http://exelab.ru/f/action=vthread&forum=13&topic=19415 2) Патч выхода из процедуры (AsProtect) http://exelab.ru/rar/htm.php?n=102 ----- StarForce и Themida ацтой! ![]() |
|
Создано: 02 сентября 2014 08:27 · Личное сообщение · #18 вот терпел. читал 2 стр флуда. ответ конкретно для ТС. РЕВЕРС подразумевает исследование и поиск путей решения проблемы. Одну и туже проблему зачастую можно решать десятками способов. Настоящее искуство, имхо, это когда ты нашел решение, потом сделал шаг назад, и еще раз подумал, а нельзяли решить проблему более элегантно. Конкретно с патчами, приведу пример, при патче РСА можно патчить модулус.. 40h-80h-160h байт. а можно 1 бит (иногда) паблик экспоненту.. типа 1001h. вроде патчи в обоих случаях, но 1 бит, вроде более красиво. в любом случае, КАК реализовать решение выбирается по многим причинам. 1) невозможность реализации в др. виде 2) соотношение время/деньги 3) етц ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Смысл Inline Patch |