Сейчас на форуме: asfa, bartolomeo (+6 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Подскажите по теории распака. |
<< . 1 . 2 . |
Посл.ответ | Сообщение |
|
Создано: 24 апреля 2012 01:50 · Поправил: Kuzya69 · Личное сообщение · #1 Проблема в следующем. Нашел ОЕП, сдампил, вроде разобрался с ресурсами (был один инвалидный адрес, оказался ExitProcess), но не запускается. Нашел первый "косяк" Внутри распака и оригинала есть такое. Code:
В оригинале, соответственно эта пп-мма выполняется. А в распаке этой секции просто нет, вот и вылетает при запуске. Как мне поступить? Вернее как-бы Вы поступили? ![]() |
|
Создано: 27 апреля 2012 11:23 · Личное сообщение · #2 Kuzya69 пишет: 1)создал новую секцию2) До прихода в ОЕП дважды вызывался VirtualAlloc. И создавал секции до ImageBase. После ОЕП секции создавались после ImageBase.(поэтому я их не трогал). Офигеть я ему рассказывал как правильно расспаковать надо было а ты гланды через ![]() ![]() ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. ![]() |
|
Создано: 27 апреля 2012 15:30 · Поправил: Kuzya69 · Личное сообщение · #3 Да я и не говорю, что это моя заслуга. Я просто рассказал как это сделал, с Вашей помощью. Я начал спасибо проставлять. А форум сразу много в один день не дает поставить. А вопросы другие задавал, чтоб понять, как это происходит. Действовать по шаблону, я не люблю, я пытаюсь понять, и может быть, сделать по своему. Извините, если кого обидел. Кстати попутно возник еще один вопрос. Таких мест в программе, где сначала раскриптовка, выполнение, и потом закриптовка, оказалось по меньшей мере 14. Я попытался занопить все раскриптовщики и закриптовщики (чтоб следовать "хорошему тону"), но оказалось, что не все места можно отключать. В некоторых местах, код меняется, по ходу выполнения программы. И полностью избавиться от крипторов-декрипторов не получается. Видимо надо искать весь код, который подгружается, в "места с переменным кодом", и расшифровывать все это отдельно, собирать как подпрограмму, и потом вклинивать в основной код? Это и есть виртуальная машина? ![]() |
|
Создано: 27 апреля 2012 16:05 · Поправил: ARCHANGEL · Личное сообщение · #4 Kuzya69 Из вашего описания я понял, что это не ВМ, а, скорее, антидамп. А там хз, файл для исследований вы не выложили, мало ли, что там. Ну, можно попробовать так - останавливаетесь в программе на таком месте, где ещё не был вызван ни один из этих VirtualAlloc, который выделяет память для "расшифровщиков", открываете карту памяти и смотрите, где же есть такое место в виртуальной памяти, куда можно было бы всандалить весь код, записанный таким образом по адресам, выделенным через VirtualAlloc. Нашли такое место, записали адрес начала этой области. Теперь скриптом топаете до ОЕР, попутно останавливаясь на каждом целевом VirtualAlloc,до вызова самой API прописываете адрес, который должен попасть в ваш регион виртуальной памяти так, чтоб не было фрагментации, потом даёте VirtualAlloc отработать, и т.д. Когда дойдёте до ОЕР, можно будет снимать дамп. Снимаете дамп с образа, и отдельно дампите тот новосозданный регион, потом тот регион с антидампами прикручиваете к дампу образа в виде отдельной секции. Дальше восстанавливаете импорт, ресурсы, релоки или что вам ещё надо будет делать, то и делайте. ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 27 апреля 2012 16:17 · Личное сообщение · #5 |
|
Создано: 27 апреля 2012 16:42 · Личное сообщение · #6 |
|
Создано: 27 апреля 2012 21:24 · Личное сообщение · #7 |
|
Создано: 27 апреля 2012 21:58 · Поправил: Kuzya69 · Личное сообщение · #8 AKAB Отлично, давно хотел посмотреть на скрипт. Меня одно слово "скрипт" заставляло трепетать. PS Прошу прощения, что ввел в заблуждение. Ничего там похожего на переменный код нет. Просто по невнимательности я сравнил разные участки. Вот и заклинило. Все и так руками распаковалось на ура. Правда 40 раз. Вот теперь немного понял как скрипт пишется. Еще-бы какую статью, по написанию скриптов почитать? ![]() |
|
Создано: 27 апреля 2012 22:35 · Личное сообщение · #9 |
|
Создано: 28 апреля 2012 08:52 · Поправил: ClockMan · Личное сообщение · #10 Kuzya69 пишет: Я начал спасибо проставлять. А форум сразу много в один день не дает поставить Я за спасибо неработаю ![]() ![]() ![]() ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. ![]() |
|
Создано: 28 апреля 2012 12:05 · Личное сообщение · #11 Видео от PassingThrough лично мне ужасно не понравилось. Мораль всего видео в том, чтоб запустить скриптос. Как он был создан, как автор узнал о методе прохода на ОЕР, о том, что оригинальный адрес ExitProcess будет записываться до адреса переходника - ничего нет. И да - это антидампы. ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 28 апреля 2012 14:00 · Поправил: Kuzya69 · Личное сообщение · #12 ClockMan Я тоже, перед сообщением от АКАВА, распаковал , без прикручивания секции. Скажем так. Совсем выкинув крипто-декриптор. Ставя "New original here", выполняя распаковку, и затем нопил сами крипторы и декрипторы. Долго но получилось. Почему я сначала сделал с сохранением крипто-декриптора? По совету монашек: "А вдруг, сказала монашка, одевая презерватив на морковку" ![]() За скрипт, спасибо (хоть ты за это и не работаешь ![]() ARCHANGEL Ну я, в основном, из тутора рад был скрипту (как наглядному материалу), хотя он у меня почему-то не запустился. Вылетел на "ALLOC 100". Но метод нахождения ОЕП работает и на двух других, более свежих версиях этой программы. На остальных еще не успел проверить. У меня цель, это научиться распаковывать эти программы. И еще есть одна задачка. В этих программах, автор закрывает кнопку "DMA". Она есть, эта кнопка, но я так думаю, что она доступна лишь определенным пользователям. У кого лицензия разрешает это. Не подскажите по каким признакам найти место, где эта кнопка должна стать "видимой" ? Саму кнопку теперь, только на этой версии, я могу "включить". Но на других версиях программы, похожих мест я не могу найти. ![]() |
|
Создано: 28 апреля 2012 14:12 · Личное сообщение · #13 ARCHANGEL пишет: Как он был создан, как автор узнал о методе прохода на ОЕР Методом первого тыка ARCHANGEL пишет: о том, что оригинальный адрес ExitProcess будет записываться до адреса переходника А как вы раньше восстонавливали импорт?,это единственный способ выйти на код прота отвечающего за заполнения таблички импорта... Kuzya69 пишет: За скрипт, спасибо (хоть ты за это и не работаешь :s1 Скрипт будет работать только для этой пограммы,чтобы он заработал на другой проге нужно будет внести в него изминения... Ну и до куче вам скрипт нахождения OEP ![]() ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. ![]() |
|
Создано: 28 апреля 2012 14:15 · Поправил: CTPaHHuk · Личное сообщение · #14 помогите распаковать http://www.realmcrafter.com/demo/RealmCrafter_DEMO2.exe 330 Мб PC Guard 5 только распаковать Architect.exe, Armoury.exe, Gubbin Tool.exe, Rock Editor.exe, ScriptsEditor.exe, Terrain Editor.exe, Tree Editor.exe (я знаю что эта чистая демка) ClockMan распаковал мне уже Game Editor.exe, Game Client.exe и Server.exe! я ему написал чтобы он мне дораспаковывал те экзешники которые находятся в папке установленной программы? но что то пока ответа не дождался! если нужно могу отдельно экзешники залить чтобы софт весь не качать! ClockMan если не трудно напиши и мне скипт для нахождения OEP! ![]() |
|
Создано: 28 апреля 2012 14:27 · Личное сообщение · #15 |
|
Создано: 28 апреля 2012 14:51 · Личное сообщение · #16 |
|
Создано: 28 апреля 2012 14:52 · Личное сообщение · #17 |
|
Создано: 28 апреля 2012 15:09 · Личное сообщение · #18 ClockMan Я догадываюсь, как он это сделал, но если это тьютор - то надо расписывать, а не надеяться, что все догадаются. А как вы раньше восстонавливали импорт?,это единственный способ выйти на код прота отвечающего за заполнения таблички импорта... Та нет, это неправда. Я нашёл этот адрес путём трассировки переходника. ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 28 апреля 2012 17:04 · Личное сообщение · #19 |
|
Создано: 05 мая 2012 20:58 · Поправил: Kuzya69 · Личное сообщение · #20 Ребята, еще раз здравствуйте. Появилась еще одна проблема. В той версии, что вы помогли распаковать, есть кнопка ДМА. Как включить эту кнопку разобрался. И после нажатия на нее, открывается соответствующая форма. Взял я следующую версию этой-же программы, кнопку активировал, но после активации, программа уходит "в лес" тоесть открывается совсем не то, что нужно. Вобщем то место, которое должно осуществлять переход в создание нужной формы, выглядит как "безусловный переход сам на себя". Я нашел уже входы почти во все остальные формы, которые не закрыты. Но вход в нужную форму не могу найти. Создается впечатление, что искать по шаблону нет смысла, видимо этот переход должен идти сначала на распаковщик-декриптор, а уже потом создается форма. Вопрос вот в чем. Где лежит в дампе диалоговое окно(форма) я вижу. Да и программа Ресторатор эту форму видит, но как определить, какой участок кода будет работать с этой формой, чтоб перенаправить туда зацикленный переход? Вот маршрут для открывания похожей формы. Соответственно нужная мне форма будет отличаться третьей частью. Вот откуда должна начаться моя часть и не могу придумать метод поиска. Code:
Извините если много написал. Просто хотел чтоб было понятней. http://zalil.ru/33188715 Вот сама прога, библиотека с ресурсами (в папке со скринами). Ну и еще файлы, которые прога просит, для запуска. Ах, да а вот и маршрут от этой кнопки, заканчивающийся переходом "сам на себя" Code:
![]() |
<< . 1 . 2 . |
![]() |
eXeL@B —› Вопросы новичков —› Подскажите по теории распака. |