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

 eXeL@B —› Вопросы новичков —› Extract ресурсов из памяти .net приложения
Посл.ответ Сообщение

Ранг: 42.9 (посетитель), 13thx
Активность: 0.040
Статус: Участник

Создано: 28 февраля 2017 15:54
· Личное сообщение · #1

Добрый день всем!

Друзья собственно интересует есть ли утилиты (или кусок кода который по PID будет искать ресурсы) для екстракта ресурсов (в частности pdf или epub) из памяти .нетовской проги. (XRipper пробовал - не помогло, т.к он для нативных...)

Через process explorer сделал full dump, в дампе виден header pdf файла,
но не могу достать пдф из *.dmp.

Заранее спасибо.



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 28 февраля 2017 16:45
· Личное сообщение · #2

Любой дизассемблер. dnspy, ILSpy, ILSpector



Ранг: 42.9 (посетитель), 13thx
Активность: 0.040
Статус: Участник

Создано: 28 февраля 2017 18:24
· Личное сообщение · #3

Medsft
Мне кажется вы меня ни так поняли -> есть файли которые криптованы изначально, программа только в процессе выполнения декриптует их в памяти, т.е мне нужно достать не из статического *.ехе файла а именно при процессе выполнения (когда уже будут декриптованные варианты файлов).



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

Создано: 28 февраля 2017 19:32 · Поправил: dosprog
· Личное сообщение · #4

cryptX пишет:
не могу достать пдф из *.dmp.

А если попробовать натравить на дамп Resource Ripper?

А вообще, если виден заголовок PDF, то можно и просто в HEX-редакторе сохранить блоком.



Ранг: 34.1 (посетитель), 118thx
Активность: 0.040.01
Статус: Участник

Создано: 28 февраля 2017 19:40
· Личное сообщение · #5

Есть мысль, что при просмотре пдфка расшифровывается блоками, поэтому сигнатура может и найдётся, а тело так и будет зашифровано. И вообще, выложили бы прогу...




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

Создано: 28 февраля 2017 20:13 · Поправил: difexacaw
· Личное сообщение · #6

cryptX

> есть ли утилиты (или кусок кода который по PID будет искать ресурсы) для екстракта ресурсов

Есть, множество. Системные апи даже есть, которые любые операции с ресурсами поддерживают.

> Мне кажется вы меня ни так поняли -> есть файли которые криптованы изначально

Выкинь же свою дурь, понимание логично на основе описания, как выше. Мысли ваши читать не умеем. Если у вас крипт, ресурс получить для вас невозможно - он защищён и как единое целое в памяти не существует. Задача не решаема просто чтением памяти.

> в процессе выполнения декриптует их в памяти

Это делается автоматикой(DBI). К примеру пилите враппер/фильтр для какого нибудь боша и всё дампится/анпакается. Чего же вы ждали, метод в две строки дельфей

-----
vx




Ранг: 42.9 (посетитель), 13thx
Активность: 0.040
Статус: Участник

Создано: 01 марта 2017 01:15
· Личное сообщение · #7

dosprog
Resource Ripper не помог

nick8606
Вариант конечно, есть предположения что pdf декриптится целиком, т.к компонент ( https://github.com/pvginkel/PdfiumViewer ) которая программа использует работает с полным файлом.

difexacaw
Можно пример кода на c/c++ который по PID будет искать и дампить по сигнатуре pdf файл ?

анализ криптованных файлов показал что там АЕS, сама программа -> --> Link <--




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

Создано: 01 марта 2017 03:23 · Поправил: difexacaw
· Личное сообщение · #8

cryptX

> Можно пример кода на c/c++ который по PID будет искать и дампить по сигнатуре pdf файл ?

Разница между удалённым(из другого процесса) и текущим чтением ресурсам сводится к открытию процесса и чтению из него. Но это не делают системные апи, по крайней мере я это не помню. Ну и это не существенно. Вы поймите у вас викс код, может удалённое чтение блока памяти вообще невозможно(софт. анклав). Криптор для этих целей и служит.
Если рассмотреть теоретически попытку дампа, то следует взять такое приложение под слой гипервизора/эмуляции(DBI), так как способ не дать кому то, кроме своего процесса прочитать память весьма древний. Реально блока памяти может не быть вовсе, но локально для читающего его он может существовать.

Ссылка на семпл это гуд, вот только какой интерес смотреть крипт-поделку. Вы попробуйте что то сделать(свою работу провести), потом покажите что не получается. А если нужно решить задачу нахаляву - это же крипт, блэк.. никто обычно с этим дерьмом не связывается.

> показал что там АЕS

Если у вас какая то малварь покриптовала ваши доки, то это не сюда вопрос. Скорее всего ваша инфа навсегда утеряна. Или нужно заплатить за восстановление.

В общем вы наверно ошиблись ресурсом, данный не занимается викс технологиями. Врядле вам тут помогут. Хотя возможность есть, но нужно было изначально всё нормально описать, а не: вы не понимаете, у меня же криптор"

-----
vx





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

Создано: 01 марта 2017 03:45 · Поправил: DenCoder
· Личное сообщение · #9

cryptX пишет:
не могу достать пдф из *.dmp.


cryptX пишет:
т.к компонент ( https://github.com/pvginkel/PdfiumViewer ) которая программа использует работает с полным файлом.

Перехватить функцию чтения pdf-файла компонентом, т.е. писать надо...

-----
IZ.RU




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

Создано: 01 марта 2017 04:04 · Поправил: dosprog
· Личное сообщение · #10

DenCoder пишет:
Перехватить функцию чтения pdf-файла компонентом, т.е. писать надо...

Кстати, там есть привлекательная функция _FPDF_LoadMemDocument(DWORD,DWORD,DWORD).
Предположение не проверял, у меня всё равно это хозяйство не запустится.


cryptX пишет:
т.к компонент ( https://github.com/pvginkel/PdfiumViewer ) которая программа использует работает с полным файлом.


А кто сказал, что программа использует этот компонент?
Что-то в это не верится.
И что касается этого "компонента", то он может работать не только с документом целиком,
но и с отдельніми страницами тоже.

В общем, DenCoder написал уже, как надо.






Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 01 марта 2017 06:27
· Личное сообщение · #11

cryptX пишет:
мне нужно достать не из статического *.ехе файла а именно при процессе выполнения (когда уже будут декриптованные варианты файлов)

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



Ранг: 42.9 (посетитель), 13thx
Активность: 0.040
Статус: Участник

Создано: 01 марта 2017 11:02
· Личное сообщение · #12

dosprog
В дампе увидел что там используется PdfiumViewer.

-=AkaBOSS=-
там обфусцированный дот.нет код (есть предположение что даже частичная виртуализация присуствует) + натив библиотеки.

difexacaw
Там не малварь, программа используется для чтения книжек.

Друзья мне не нужно чтобы вы за меня решили задачу -> вопрос мой про уже готовые инструменты которые могут по сигнатуре искать в памяти процесса (или есть у кого какой нибудь семпл на с/с++).



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

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

Эк Вы) Речь то вы похоже ведете не о ресурсах. Есть программа на NET которая читает закриптованные pdf -файлы, распаковывает их и показывает на экране. В этом случае pdf-файл строго говоря не является ресурсом сборки в понимании построения сборки, а просто представляет данные и Вам надо эти данные расшифровать.
Тогда в соответствии с этой теорией весь функционал Вашего ридера можно разделить на 2 компонента: непосредственно вьювер, и распаковщик. Вам надо найти место где данные передаются из распаковщика в просматривальщик и в этом месте заинжектить код сохранения данных на диск.
Для этого полюбому!!! Ваш ридер надо распаковать и снять защиту.
Рассуждаем дальше, Вы обмолвились о том что есть нативные библиотеки (тогда Ваш продукт вероятнее всего защищен либо ILProtectoror`om либо SmartAssembly), на тот или другой последних версий (а я думаю что прога не старая) public решений по распаковке нет (тут долго обьяснять про механизмы DynamicMethod я не буду).
Дальше. Да собственно все.. В запросы к специалистам на tuts4you или тут. Ценник должен быть очень адекватный поскольку вы хотите функционал серьезный а не просто пропатчить ридер.



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

Создано: 01 марта 2017 13:07
· Личное сообщение · #14

cryptX
забей, у клерка новая фишка с недавних пор — в 95% своих постов писать слова: "гипервизор", "дби","атомы"

| Сообщение посчитали полезным: cryptX, -=AkaBOSS=-

Ранг: 42.9 (посетитель), 13thx
Активность: 0.040
Статус: Участник

Создано: 01 марта 2017 14:42
· Личное сообщение · #15

Medsft
Да правильно, может не так выразился, имелось виду - декодированные данные.
Там нет ILProtectora, нативные библиотеки - имелось виду компоненты которые программа использует а не сама логика программы.

Medsft пишет:
В запросы к специалистам на tuts4you или тут


Про запросы знаю, повторюсь -> мне не нужно чтобы специалисты решили задачу или что то распаковали!
pdf в памяти целиком -> в моем дампе виден полный header, и там блочно не расшифруется, так как при открытых в вюере разных страниц - участки дампов с header-ом pdf-a совпадают.

Хочу сам попробовать решить, по этому и хотелось бы некий семпл увидеть как выдергивать данные (pdf) из памяти другого процесса.



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 01 марта 2017 15:31
· Личное сообщение · #16

cryptX пишет:
хотелось бы некий семпл увидеть как выдергивать данные (pdf) из памяти другого процесса
- ну тогда дело Ваше, я бы распаковал, а не мучился с дампами




Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 02 марта 2017 04:57 · Поправил: -=AkaBOSS=-
· Личное сообщение · #17

cryptX пишет:
там обфусцированный дот.нет код (есть предположение что даже частичная виртуализация присуствует) + натив библиотеки.

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

cryptX пишет:
Через process explorer сделал full dump, в дампе виден header pdf файла,
но не могу достать пдф из *.dmp.

я вот этот момент так и не вкурил - почему не можешь-то?
вроде ж формат известен, что не получается?
начало-конец пдф прекрасно ищется по сигнатурам %PDF и %%EOF


cryptX пишет:
вопрос мой про уже готовые инструменты которые могут по сигнатуре искать в памяти процесса

отдельных утилит для поиска по процессу я не встречал, но можно сваять скрипт для quickbms, раз уж руками лень выдирать:
Code:
  1. findloc begin string "%PDF"
  2. findloc end string "%%EOF"
  3. xmath size "end+5-begin"
  4. string fname p= "pdf_%d_%d.pdf" begin size
  5. log fname begin size


сохранить в getpdf.bms
запускать командной строкой:
quickbms.exe -p getpdf.bms process://<имя модуля или PID> <папка для сохранения результата>

скрипт, разумеется, примитивный - ищет только первый файл; нет проверки на begin < end; в случае если одна из сигнатур не найдётся, он просто закроется

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


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

Создано: 02 марта 2017 06:08 · Поправил: difexacaw
· Личное сообщение · #18

SReg

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

Добавлено спустя -45 минут
cryptX

> Хочу сам попробовать решить, по этому и хотелось бы некий семпл увидеть как выдергивать данные (pdf) из памяти другого процесса.

Есть два только варианта. Либо нужный вам образ полностью собран в памяти, тогда можно тупо сдампить. Или же он в памяти собирается частями, тогда дампить нечего. И как бы не смеялись персонажи выши - они немного застряли в древних технологиях, придётся применить виртуализацию. А как же есчо отследить какое то событие, например формирование каких то данных в памяти

-----
vx



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


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