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

 [email protected] —› Вопросы новичков —› Как вернуть байты
<< . 1 . 2 .
Посл.ответ Сообщение

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

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

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




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

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

difexacaw пишет:
Есть общий способ определения OEP

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

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





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

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

Bronco

А с чего ты решил что это дельф, по исходному бинарю

-----
vx





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

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

difexacaw пишет:
А с чего ты решил что это дельф, по исходному бинарю

Code:
  1. /*405C78*/  PUSH EBX
  2. /*405C79*/  MOV EBX,EAX
  3. /*405C7B*/  XOR EAX,EAX
  4. /*405C7D*/  MOV [45909C],EAX
  5. /*405C82*/  PUSH 0
  6. /*405C84*/  CALL 00405BB4//GetModule
  7. /*405C89*/  MOV [45B664],EAX
  8. /*405C8E*/  MOV EAX,[45B664]
  9. /*405C93*/  MOV [4590A8],EAX
  10. /*405C98*/  XOR EAX,EAX
  11. /*405C9A*/  MOV [4590AC],EAX
  12. /*405C9F*/  XOR EAX,EAX
  13. /*405CA1*/  MOV [4590B0],EAX
  14. /*405CA6*/  CALL 00405C6C
  15. /*405CAB*/  MOV EDX,4590A4
  16. /*405CB0*/  MOV EAX,EBX
  17. /*405CB2*/  CALL 00403B94
  18. /*405CB7*/  POP EBX
  19. /*405CB8*/  RETN
  20. cтандартный стаб в начале вызова call в OEP
  21.  


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





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

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

ClockMan

Так ведь сигнатуры данной процедуры нет в криптованном модуле, там ведь морф. Что и как искать, какой шаблон и как его применить?
А если на дельф два слоя крипта наложить или вообще там не дельфи.. ваши методы это танцы с бубном, гадание.

-----
vx




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

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

difexacaw У тебя вообще нету способности к самообучению? Почитай уже что-то для новичков, а то так и будешь тупить из года в год.
--> Практика распаковки<--
--> Введение в крэкинг с нуля, используя OllyDbg (сборник)<-- там есть про распаковку, даже анпак аспра есть




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

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

SReg

Из тысяч крипторов нужно на данном сделать в отладчике руками по древнему описанию

-----
vx




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

Создано: 03 марта 2020 00:20 · Поправил: ideadline
· Личное сообщение · #8

Bronco пишет:
по переходникам в иат и именам апи приблуда вроде сишная


Мой случай - делфя 100%..

difexacaw пишет:
Взял дельфовый калькулятор из первой ссылки гугла, накрыл его asp. EP как всегда находится по первой абс адресации:

Спасибо наглядно.

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

--> Цель<--

SReg пишет:
--> Введение в крэкинг с нуля, используя OllyDbg (сборник)<-- там есть про распаковку, даже анпак аспра есть


Проблема в том, что гайды не работают) Там много деталей упускается) Вот попробуйте пройтись по этому с моей целью и убедитесь, что все не так просто

Похоже нужно больше опыта...




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

Создано: 03 марта 2020 00:27
· Личное сообщение · #9

ideadline

Так а что с EP на не коде, ты так и не ответил, что да как ?

А этих не слушай, даже если и модеры, они не способны обучаться и решать задачи, приводить их к общему решению. Сигнатурный поиск никогда решением небыл. На любом семпле не известном/изменённом осядешь на дно"

-----
vx





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

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

0056BFE3

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




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

Создано: 03 марта 2020 01:51 · Поправил: ideadline
· Личное сообщение · #11

difexacaw пишет:
Так а что с EP на не коде, ты так и не ответил, что да как ?


OEP?

По access violation можно дойти до последней точки с которой поидее ASP должен перейти к оригинальному коду, но конечно же на OEP мы уже не попадем


Дойдя сюда мы должны поставить бряку на доступ к памяти 40100 - это наш код прожки


Выходит, что мы пришли в место где якобы можно дамп делать, так - как все манипуляции ASP закончились, но


поскольку известный факт что ASP крадет инструкции с начала OEP вот тут мы очевидно и наблюдаем что OEP были украдены. Вот в этом была моя логика
Кстати поидее это какие-то унифицированные инструкции свойственные компилятору , наверняка можно их угадать... или нет?




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

Создано: 03 марта 2020 07:53 · Поправил: Bronco
· Личное сообщение · #12

ideadline пишет:
но конечно же на OEP мы уже не попадем

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

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

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





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

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

Bronco пишет:
для дельфовых приблуд, очень критично, если дамп снят после инициализации.

Обнуления секции BSS спасёт отца русской демократии

Добавлено спустя 41 минуту
ClockMan пишет:
0056BFE3

эх...............
Code:
  1. /*56BFD8*/  PUSH EBP
  2. /*56BFD9*/  MOV EBP,ESP
  3. /*56BFDB*/  ADD ESP,-10
  4. /*56BFDE*/  MOV EAX,56BBB8
  5. /*56BFE3*/  CALL 00406FC8
  6. /*56BFE8*/  MOV EAX,[57053C]
  7. /*56BFED*/  MOV EAX,[EAX]
  8. /*56BFEF*/  CALL 0044EF2C
  9. /*56BFF4*/  CALL [57017C]
  10. /*56BFFA*/  MOV EAX,[57053C]
  11. /*56BFFF*/  MOV EAX,[EAX]
  12. /*56C001*/  CALL 0044EFC4
  13. /*56C006*/  CALL 00403BA0
  14.  


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


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


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

Создано: 03 марта 2020 14:36
· Личное сообщение · #14

ideadline

> наверняка можно их угадать... или нет?

Ну если всё дело не решить общим путём, а гадать.. Тогда и распаковывать ничего не нужно:

SourceRescuer.exe

5729E4 -> 1 => registered version.

- сылку на строку посмотреть и всё. А ключ берётся из реестра, толстая его обработка и что бы разобраться нужно декомпилить.

-----
vx




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

Создано: 03 марта 2020 16:50 · Поправил: ideadline
· Личное сообщение · #15

difexacaw пишет:
Ну если всё дело не решить общим путём, а гадать.. Тогда и распаковывать ничего не нужно:


Пожалуй соглашусь) Хочется все же понять и научиться.

Нашел хорошую книгу - "Искусство дизассемблирования. Крис Касперский "
Там есть раздел с моим вопросом, думаю для начала изучу ее , а потом вернусь к моему вопросу)

Добавлено спустя 3 минуты
Всем спасибо за внимание




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

Создано: 03 марта 2020 18:55 · Поправил: difexacaw
· Личное сообщение · #16

ideadline

Вот с загрузчиком, развлекайся

--> Link <--

-----
vx


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


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

Создано: 03 марта 2020 22:37
· Личное сообщение · #17

Scorpion13

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

-----
vx





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

Создано: 04 марта 2020 23:30 · Поправил: difexacaw
· Личное сообщение · #18

Прицепил оверлей с ntlz-dll и страницей ориг кода. На EP длл читается с файла в буфер, расжимается и загружается из памяти, после чего страница с EP восстанавливается. Но почему то падает, хотя две страницы одинаковые, как такое может быть

--> Link <--

Добавлено спустя 14 часов 45 минут
Короче с этим семплом засада полная, откуда идёт ошибка не понятно.

Контекст при вызове второй раз EP одинаковый, ниже границы стека обращений прямых нет. TLS-cb тоже нет. Чтений MapViewOfFile() нет. Разница в работе ориг и патченного модулей начинается без проверки файла. Если стаб не запускать, то с оверлеем апп работает.



- слева число инструкций от начала EP. Второй лог исходного апп.

-----
vx




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

Создано: 05 марта 2020 22:59
· Личное сообщение · #19

difexacaw пишет:
Короче с этим семплом засада полная, откуда идёт ошибка не понятно.


Очень интересный объект попался) Обязательно нужно его добить

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


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

Создано: 05 марта 2020 23:08 · Поправил: difexacaw
· Личное сообщение · #20

ideadline

За день не осилил. Выяснил лишь что загрузка из памяти ломает работу протектора. Причём если это сделать ниже границы стека на 1kb, то всё норм.

Сарказм типо.. только на таких ситуациях дорабатывается автоматика, поэтому разобраться необходимо

-----
vx





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

Создано: 06 марта 2020 23:09 · Поправил: difexacaw
· Личное сообщение · #21

Нашёл я причину, ничего не помогло, только удаление частей кода из загрузчика(самый тупой способ который можно только придумать). Оказалось что загрузчик регистрирует VEH и фиксит в стеке адреса возврата в копию нт. Это как то коррелирует с протектором, как я пока не смотрел.

-----
vx




Ранг: 20.8 (новичок), 7thx
Активность: 0.010.02
Статус: Участник

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

возьмите аспр х64, там внутри старфорс и намного интереснее, чем 32-битные версии аспра - говно, отламывающееся за пару вечеров, тем более уже в паблике скрипты есть, которые автоматом все делают




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

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

int_256

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

-----
vx



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


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