Сейчас на форуме: tyns777, localhost1, vsv1, asfa (+5 невидимых)

 eXeL@B —› Вопросы новичков —› Как вернуть байты
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: 1.4 (гость), 1thx
Активность: 0.06=0.06
Статус: Участник

Создано: 29 февраля 2020 03:08
· Личное сообщение · #1

Привет. Ребят, изучаю азы ASProtect. Столкнулся с проблемой, не могу найти украденные байты. Хочу почитать больше про методики, но нигде ничего не могу найти. Максимум что узнал, так это - то что можно через трассировку с подсвеченным EBP можно в самом конце их найти. А вот в моем случае EBP регистров подсвечивается штук 10. Есть какие-то знания по этой теме?



Ранг: 134.1 (ветеран), 246thx
Активность: 0.220.1
Статус: Участник
realist

Создано: 29 февраля 2020 03:31
· Личное сообщение · #2

Читай статьи от Vnekrilov, он подробно разбирал

| Сообщение посчитали полезным: ideadline


Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 29 февраля 2020 05:44
· Личное сообщение · #3

Что есть "украденные байты" ?
И что за регистры ebp, позови гадалку.

-----
vx





Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 29 февраля 2020 06:13
· Личное сообщение · #4

difexacaw пишет:
Что есть "украденные байты" ?

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

-----
Чтобы юзер в нэте не делал,его всё равно жалко..


| Сообщение посчитали полезным: ClockMan


Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 29 февраля 2020 06:22 · Поправил: difexacaw
· Личное сообщение · #5

Bronco

Технически есть файл на входе и изменённый на выходе. Без динамики их не различить, они два разных файла. Что понимают под украденными байтами хз. Понапишут всяких дурных публикаций, потом их читают и не правильно понимают.

> вляпался по самые не могу...

Никуда я не вляпался. asp это вообще не протектор, а его видимость, тоесть файловый. Эта группа крипторов не вносит изменения в образ, они загрузчики. После загрузки в памяти образ восстанавливается. Кто это не понимает так и продолжает борьбу с ветряными мельницами".

-----
vx


| Сообщение посчитали полезным: Scorpion13


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 29 февраля 2020 06:46 · Поправил: plutos
· Личное сообщение · #6

difexacaw пишет:
Что есть "украденные байты" ?


"Stolen bytes"? It's a pretty common term down here.

-----
Give me a HANDLE and I will move the Earth.





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 29 февраля 2020 06:50
· Личное сообщение · #7

plutos

А можно пример с картинками для нуби.. что бы понять о чём идёт речь.

-----
vx





Ранг: 568.2 (!), 465thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 29 февраля 2020 08:03
· Личное сообщение · #8

difexacaw пишет:
После загрузки в памяти образ восстанавливается. Кто это не понимает так и продолжает борьбу с ветряными мельницами"

Вы случаем не перепутали ASProtect с Aspack

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 29 февраля 2020 08:28
· Личное сообщение · #9

ClockMan

Может быть, столько крипторов было, что я все их и не помню в подробностях. asp помню по трабле с автоматикой. Мне больше интересно что за кража байт.

-----
vx





Ранг: 568.2 (!), 465thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 29 февраля 2020 11:17
· Личное сообщение · #10

difexacaw пишет:
Мне больше интересно что за кража байт.

stolen bite ? вы шутник батенька это когда часть кода в процедуре ,функции либо обфусцируют либо виртуализируют)))

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 29 февраля 2020 12:17
· Личное сообщение · #11

--> 2.2 Stolen Bytes (Code Splicing) <--

| Сообщение посчитали полезным: ideadline

Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

Создано: 29 февраля 2020 14:10
· Личное сообщение · #12

неужели вы всерьез думаете, что он не понимает о чем речь

| Сообщение посчитали полезным: TryAga1n, plutos

Ранг: 1.4 (гость), 1thx
Активность: 0.06=0.06
Статус: Участник

Создано: 29 февраля 2020 14:41
· Личное сообщение · #13

Да бросьте, какая разница как это понятие назвать) Думаю все поняли, что имеется в виду механизм, когда некоторые инструкции перемещаются из OEP в секретную область. В плоть до формирования их в псевдо код.

Добавлено спустя 1 минуту
Вопрос то в другом) Где почитать про методики их возвращения на место) Про Vnekrilov я понял, еще есть места?)



Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

Создано: 29 февраля 2020 15:03
· Личное сообщение · #14

Какие методики? переноса байт?
Методика одна: взять почитать Vnekrilov, там все разжевано, разобраться на примерах, потом физически взять и перенести, либо вручную либо скриптом.
Если бы ты почитал, у тебя бы вопросов таких не возникало бы. Конкретно пиши(со скриншотами/видео/участками кода) что пробовал, что не получилось, и в каком конкретном месте тебе не понятно.
Нет ни программы, ни своей работы, потому тема пока что кандидат на закрытие п.9 правил форума.




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 29 февраля 2020 15:42 · Поправил: Gideon Vi
· Личное сообщение · #15

ideadline пишет:
Про Vnekrilov я понял, еще есть места




rar-статьи > PE_Kill

| Сообщение посчитали полезным: plutos


Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 29 февраля 2020 20:03 · Поправил: difexacaw
· Личное сообщение · #16

ClockMan

> это когда часть кода в процедуре ,функции либо обфусцируют либо виртуализируют

Так это криптование функции или проще говоря её морф. Почему это кража байт".. наверно если два образа сравнить, исходный и криптованный то будет разница, это можно назвать что байты украли

ideadline

Если посмотреть именно данный криптор, ну или протектор как не назави:


- интересует в данном случае EP, так как только она криптована. Давно описано свойство EP: --> Link <--

Это нужно что бы найти EP и определить как она отморфлена, есть ли виртуализация:


- абсолютная адресация остаётся, а значит простейший морф(замена инструкций на примитивы), без виртуализации. В данном случае для определения EP достаточно поставить останов на доступ к секции данных в отладчике.

Так как функции передачи управления просты, ветвления, то можно пересобрать(для этого есть двигатель) всю EP в буфер ну и далее сдампить. Обычно нужно сворачивать примитивы и вычищать мусорный код(не имеющий зависимости по данным(dfg)).

-----
vx


| Сообщение посчитали полезным: plutos


Ранг: 71.5 (постоянный), 95thx
Активность: 0.10.38
Статус: Участник

Создано: 29 февраля 2020 21:56
· Личное сообщение · #17

difexacaw пишет:
Почему это кража байт

Потому, что, выражаясь вашим языком, "морфленые" байты вынесены за пределы SizeOfImage процесса, в заалоченную память.
Начало выполнения кода развернутой в памяти программы начинается с них с последующим переходом потока в секцию кода.

| Сообщение посчитали полезным: Bronco


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 01 марта 2020 01:54
· Личное сообщение · #18

difexacaw пишет:
А можно пример с картинками для нуби.. что бы понять о чём идёт речь.


Так это был САРКАЗМ?!?! А я так тебе верил...

-----
Give me a HANDLE and I will move the Earth.




Ранг: 1.4 (гость), 1thx
Активность: 0.06=0.06
Статус: Участник

Создано: 01 марта 2020 17:16
· Личное сообщение · #19

difexacaw пишет:
- интересует в данном случае EP, так как только она криптована.


Ну так-то найти EP и OEP не стоит труда) Я думал что бы сделать корректный дамп , нам нужно вернуть OEP и поскольку с OEP были выдернуты инструкции, нам так же их туда нужно вернуть... А вот сам процесс поиска этих инструкций вызывает у меня затруднение)




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 01 марта 2020 18:41
· Личное сообщение · #20

ideadline

> А вот сам процесс поиска этих инструкций вызывает у меня затруднение

Какие затруднения, если известно начало процедуры(OEP) ?

Можно пересобрать её, не проходя по косвенным ветвлениям, таким образом будет исключён импорт:



Первый скрин это OEP. Второй это пересобранная процедура без раскрытия процедурных ветвлений(нулевой уровень вложенности). На последнем скрине ошибка, так как ветвь не завершена, а идёт по занулённой памяти. Таким образом пересобрать не получится, если вручную не закрыть ветвь(eg: ret).





22cd_01.03.2020_EXELAB.rU.tgz - kit.7z

-----
vx




Ранг: 1.4 (гость), 1thx
Активность: 0.06=0.06
Статус: Участник

Создано: 02 марта 2020 02:12 · Поправил: ideadline
· Личное сообщение · #21

difexacaw пишет:

Какие затруднения, если известно начало процедуры(OEP) ?


В том то же и прикол, что дамп коррекный дамп нельзя (как я понял) снять без этих инструкций


А как их вернуть, если их просто нет в трасировке, хотя подловить на REP STOS BYTE PTR ES:[EDI] получается


Но в трейсе голяк


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

А импорт как я понимаю восстановить можно и руками , если есть проблемы.




Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 02 марта 2020 04:40 · Поправил: Bronco
· Личное сообщение · #22

хз ... по переходникам в иат и именам апи приблуда вроде сишная(судя по скринам балабола), такое и написать то самому не сложно, там всего 4 инструкции, но по указанному адресу оеп свободных всего 7 байт, даже если функция винмайн рядом (-3 байта), без захода в крт никак,в итоге не хватает столько же. ищи в другом месте...)))
судя по скринам ниже, то картина другая, в сишных не бывает сепараторов (mov eax, eax) между переходниками, и если мне память не изменяет в дельфовых аспр тырил до первого кола.
в любом случае адрес оеп странноват, для стаба мало места, для любого линкера

-----
Чтобы юзер в нэте не делал,его всё равно жалко..





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 02 марта 2020 07:21
· Личное сообщение · #23

ideadline

406EB9 - это не используемое пространство между процедурами из за их выравнивания, какая же это EP, если это не код.

На зелёном скрине не код приложения, это какой то стаб самого протектора. Так как абсолютная адресация в его область, а не в исходный модуль. 2346931 код на лету модифицируется..

Может семпл выложишь.

-----
vx





Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 02 марта 2020 08:14 · Поправил: Bronco
· Личное сообщение · #24

difexacaw пишет:
из за их выравнивания

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

-----
Чтобы юзер в нэте не делал,его всё равно жалко..





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 02 марта 2020 08:19
· Личное сообщение · #25

Bronco

> нах тогда ты свои скрины тыкал?

Показать как пересобрать код(сдампить EP), у тс это было задачей.

> указатель на таблицу, и счётчик. всё оеп готово

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

-----
vx





Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 02 марта 2020 08:21 · Поправил: Bronco
· Личное сообщение · #26

difexacaw пишет:
Какой есчо таблицы..

init - это же дельфЕ.. push ebp;mov ebp, esp;add esp, - 10; mov eax, init; call - дальше этого аспр не воровал.

-----
Чтобы юзер в нэте не делал,его всё равно жалко..





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 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





Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 02 марта 2020 13:13
· Личное сообщение · #28

difexacaw пишет:
И что с ним делать, как всегда пишешь чушь

чувак, уже весна, ну тебя...дальше не участвую...
это аспр_гавно перетирали ещё в начале нулевых

-----
Чтобы юзер в нэте не делал,его всё равно жалко..


| Сообщение посчитали полезным: ClockMan


Ранг: 568.2 (!), 465thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 02 марта 2020 13:43
· Личное сообщение · #29

difexacaw
тут в запросах на взлом накидали тебе свинок потренеруйся вечерком))))

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 02 марта 2020 13:56
· Личное сообщение · #30

Bronco

Есть общий способ определения OEP, абс выборка связывает исходный код и криптованный:



А ты же кроме асп говно ничего по делу не сказал. Он не лучше и не хуже остальных протекторов.

-----
vx



. 1 . 2 . >>
 eXeL@B —› Вопросы новичков —› Как вернуть байты
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати