Сейчас на форуме: tyns777, localhost1, vsv1, asfa (+5 невидимых) |
eXeL@B —› Вопросы новичков —› Как вернуть байты |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 29 февраля 2020 03:08 · Личное сообщение · #1 Привет. Ребят, изучаю азы ASProtect. Столкнулся с проблемой, не могу найти украденные байты. Хочу почитать больше про методики, но нигде ничего не могу найти. Максимум что узнал, так это - то что можно через трассировку с подсвеченным EBP можно в самом конце их найти. А вот в моем случае EBP регистров подсвечивается штук 10. Есть какие-то знания по этой теме? |
|
Создано: 29 февраля 2020 03:31 · Личное сообщение · #2 |
|
Создано: 29 февраля 2020 05:44 · Личное сообщение · #3 |
|
Создано: 29 февраля 2020 06:13 · Личное сообщение · #4 difexacaw пишет: Что есть "украденные байты" ? у солода спроси, почему так называлась опция в протекторе... ///вляпался по самые не могу... ----- Чтобы юзер в нэте не делал,его всё равно жалко.. | Сообщение посчитали полезным: ClockMan |
|
Создано: 29 февраля 2020 06:22 · Поправил: difexacaw · Личное сообщение · #5 Bronco Технически есть файл на входе и изменённый на выходе. Без динамики их не различить, они два разных файла. Что понимают под украденными байтами хз. Понапишут всяких дурных публикаций, потом их читают и не правильно понимают. > вляпался по самые не могу... Никуда я не вляпался. asp это вообще не протектор, а его видимость, тоесть файловый. Эта группа крипторов не вносит изменения в образ, они загрузчики. После загрузки в памяти образ восстанавливается. Кто это не понимает так и продолжает борьбу с ветряными мельницами". ----- vx | Сообщение посчитали полезным: Scorpion13 |
|
Создано: 29 февраля 2020 06:46 · Поправил: plutos · Личное сообщение · #6 |
|
Создано: 29 февраля 2020 06:50 · Личное сообщение · #7 |
|
Создано: 29 февраля 2020 08:03 · Личное сообщение · #8 |
|
Создано: 29 февраля 2020 08:28 · Личное сообщение · #9 |
|
Создано: 29 февраля 2020 11:17 · Личное сообщение · #10 |
|
Создано: 29 февраля 2020 12:17 · Личное сообщение · #11 |
|
Создано: 29 февраля 2020 14:10 · Личное сообщение · #12 |
|
Создано: 29 февраля 2020 14:41 · Личное сообщение · #13 Да бросьте, какая разница как это понятие назвать) Думаю все поняли, что имеется в виду механизм, когда некоторые инструкции перемещаются из OEP в секретную область. В плоть до формирования их в псевдо код. Добавлено спустя 1 минуту Вопрос то в другом) Где почитать про методики их возвращения на место) Про Vnekrilov я понял, еще есть места?) |
|
Создано: 29 февраля 2020 15:03 · Личное сообщение · #14 Какие методики? переноса байт? Методика одна: взять почитать Vnekrilov, там все разжевано, разобраться на примерах, потом физически взять и перенести, либо вручную либо скриптом. Если бы ты почитал, у тебя бы вопросов таких не возникало бы. Конкретно пиши(со скриншотами/видео/участками кода) что пробовал, что не получилось, и в каком конкретном месте тебе не понятно. Нет ни программы, ни своей работы, потому тема пока что кандидат на закрытие п.9 |
|
Создано: 29 февраля 2020 15:42 · Поправил: Gideon Vi · Личное сообщение · #15 ideadline пишет: Про Vnekrilov я понял, еще есть места rar-статьи > PE_Kill | Сообщение посчитали полезным: plutos |
|
Создано: 29 февраля 2020 20:03 · Поправил: difexacaw · Личное сообщение · #16 ClockMan > это когда часть кода в процедуре ,функции либо обфусцируют либо виртуализируют Так это криптование функции или проще говоря её морф. Почему это кража байт".. наверно если два образа сравнить, исходный и криптованный то будет разница, это можно назвать что байты украли ideadline Если посмотреть именно данный криптор, ну или протектор как не назави: - интересует в данном случае EP, так как только она криптована. Давно описано свойство EP: Это нужно что бы найти EP и определить как она отморфлена, есть ли виртуализация: - абсолютная адресация остаётся, а значит простейший морф(замена инструкций на примитивы), без виртуализации. В данном случае для определения EP достаточно поставить останов на доступ к секции данных в отладчике. Так как функции передачи управления просты, ветвления, то можно пересобрать(для этого есть двигатель) всю EP в буфер ну и далее сдампить. Обычно нужно сворачивать примитивы и вычищать мусорный код(не имеющий зависимости по данным(dfg)). ----- vx | Сообщение посчитали полезным: plutos |
|
Создано: 29 февраля 2020 21:56 · Личное сообщение · #17 difexacaw пишет: Почему это кража байт Потому, что, выражаясь вашим языком, "морфленые" байты вынесены за пределы SizeOfImage процесса, в заалоченную память. Начало выполнения кода развернутой в памяти программы начинается с них с последующим переходом потока в секцию кода. | Сообщение посчитали полезным: Bronco |
|
Создано: 01 марта 2020 01:54 · Личное сообщение · #18 |
|
Создано: 01 марта 2020 17:16 · Личное сообщение · #19 difexacaw пишет: - интересует в данном случае EP, так как только она криптована. Ну так-то найти EP и OEP не стоит труда) Я думал что бы сделать корректный дамп , нам нужно вернуть OEP и поскольку с OEP были выдернуты инструкции, нам так же их туда нужно вернуть... А вот сам процесс поиска этих инструкций вызывает у меня затруднение) |
|
Создано: 01 марта 2020 18:41 · Личное сообщение · #20 ideadline > А вот сам процесс поиска этих инструкций вызывает у меня затруднение Какие затруднения, если известно начало процедуры(OEP) ? Можно пересобрать её, не проходя по косвенным ветвлениям, таким образом будет исключён импорт: Первый скрин это OEP. Второй это пересобранная процедура без раскрытия процедурных ветвлений(нулевой уровень вложенности). На последнем скрине ошибка, так как ветвь не завершена, а идёт по занулённой памяти. Таким образом пересобрать не получится, если вручную не закрыть ветвь(eg: ret). 22cd_01.03.2020_EXELAB.rU.tgz - kit.7z ----- vx |
|
Создано: 02 марта 2020 02:12 · Поправил: ideadline · Личное сообщение · #21 difexacaw пишет: Какие затруднения, если известно начало процедуры(OEP) ? В том то же и прикол, что дамп коррекный дамп нельзя (как я понял) снять без этих инструкций А как их вернуть, если их просто нет в трасировке, хотя подловить на REP STOS BYTE PTR ES:[EDI] получается Но в трейсе голяк Хотя скорее всего, я просто не въезжаю в суть самой проблемы судя по всему. Буду читать дальше А импорт как я понимаю восстановить можно и руками , если есть проблемы. |
|
Создано: 02 марта 2020 04:40 · Поправил: Bronco · Личное сообщение · #22 хз ... по переходникам в иат и именам апи приблуда вроде сишная(судя по скринам балабола), такое и написать то самому не сложно, там всего 4 инструкции, но по указанному адресу оеп свободных всего 7 байт, даже если функция винмайн рядом (-3 байта), без захода в крт никак,в итоге не хватает столько же. ищи в другом месте...))) судя по скринам ниже, то картина другая, в сишных не бывает сепараторов (mov eax, eax) между переходниками, и если мне память не изменяет в дельфовых аспр тырил до первого кола. в любом случае адрес оеп странноват, для стаба мало места, для любого линкера ----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 02 марта 2020 07:21 · Личное сообщение · #23 ideadline 406EB9 - это не используемое пространство между процедурами из за их выравнивания, какая же это EP, если это не код. На зелёном скрине не код приложения, это какой то стаб самого протектора. Так как абсолютная адресация в его область, а не в исходный модуль. 2346931 код на лету модифицируется.. Может семпл выложишь. ----- vx |
|
Создано: 02 марта 2020 08:14 · Поправил: Bronco · Личное сообщение · #24 difexacaw пишет: из за их выравнивания нах тогда ты свои скрины тыкал? в остальном соглашусь, это выравнивание. сишный линкер, алинг обычно интами заливает, вероятно это всё таки дельфовый семпл. а тут.... достаточно перехватить инициализацию таблицы, и ...в стеке будет ретурн на остальную часть стаба, а в регистрах... указатель на таблицу, счётчик по указателю. классика ...всё оеп готово... ----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 02 марта 2020 08:19 · Личное сообщение · #25 Bronco > нах тогда ты свои скрины тыкал? Показать как пересобрать код(сдампить EP), у тс это было задачей. > указатель на таблицу, и счётчик. всё оеп готово Какой есчо таблицы.., нужно найти абсолютную адресацию в оригинальный образ, она будет из динамической памяти с отморфленной туда EP. Но это пока тс не нашёл. ----- vx |
|
Создано: 02 марта 2020 08:21 · Поправил: Bronco · Личное сообщение · #26 |
|
Создано: 02 марта 2020 12:22 · Поправил: difexacaw · Личное сообщение · #27 Bronco Взял дельфовый калькулятор из первой ссылки гугла, накрыл его asp. EP как всегда находится по первой абс адресации: - справа сработал останов при выборке из этого адреса. Это и есть OEP, так как туда ветвление идёт из иной области с переключением стека(внизу), что можно выяснить только трассировкой. Вот этот код и нужно дампить, причём как минимум вычистить паразитные ветвления. > push ebp;mov ebp, esp;add esp, - 10 Этот пролог походу отморфлен вне EP^ И что с ним делать, как всегда пишешь чушь f3ec_02.03.2020_EXELAB.rU.tgz - delfasp.7z ----- vx |
|
Создано: 02 марта 2020 13:13 · Личное сообщение · #28 difexacaw пишет: И что с ним делать, как всегда пишешь чушь чувак, уже весна, ну тебя...дальше не участвую... это аспр_гавно перетирали ещё в начале нулевых ----- Чтобы юзер в нэте не делал,его всё равно жалко.. | Сообщение посчитали полезным: ClockMan |
|
Создано: 02 марта 2020 13:43 · Личное сообщение · #29 |
|
Создано: 02 марта 2020 13:56 · Личное сообщение · #30 |
. 1 . 2 . >> |
eXeL@B —› Вопросы новичков —› Как вернуть байты |