eXeL@B —› Вопросы новичков —› Extract ресурсов из памяти .net приложения |
Посл.ответ | Сообщение |
|
Создано: 28 февраля 2017 15:54 · Личное сообщение · #1 Добрый день всем! Друзья собственно интересует есть ли утилиты (или кусок кода который по PID будет искать ресурсы) для екстракта ресурсов (в частности pdf или epub) из памяти .нетовской проги. (XRipper пробовал - не помогло, т.к он для нативных...) Через process explorer сделал full dump, в дампе виден header pdf файла, но не могу достать пдф из *.dmp. Заранее спасибо. |
|
Создано: 28 февраля 2017 16:45 · Личное сообщение · #2 |
|
Создано: 28 февраля 2017 18:24 · Личное сообщение · #3 |
|
Создано: 28 февраля 2017 19:32 · Поправил: dosprog · Личное сообщение · #4 |
|
Создано: 28 февраля 2017 19:40 · Личное сообщение · #5 |
|
Создано: 28 февраля 2017 20:13 · Поправил: difexacaw · Личное сообщение · #6 cryptX > есть ли утилиты (или кусок кода который по PID будет искать ресурсы) для екстракта ресурсов Есть, множество. Системные апи даже есть, которые любые операции с ресурсами поддерживают. > Мне кажется вы меня ни так поняли -> есть файли которые криптованы изначально Выкинь же свою дурь, понимание логично на основе описания, как выше. Мысли ваши читать не умеем. Если у вас крипт, ресурс получить для вас невозможно - он защищён и как единое целое в памяти не существует. Задача не решаема просто чтением памяти. > в процессе выполнения декриптует их в памяти Это делается автоматикой(DBI). К примеру пилите враппер/фильтр для какого нибудь боша и всё дампится/анпакается. Чего же вы ждали, метод в две строки дельфей ----- vx |
|
Создано: 01 марта 2017 01:15 · Личное сообщение · #7 dosprog Resource Ripper не помог nick8606 Вариант конечно, есть предположения что pdf декриптится целиком, т.к компонент ( https://github.com/pvginkel/PdfiumViewer ) которая программа использует работает с полным файлом. difexacaw Можно пример кода на c/c++ который по PID будет искать и дампить по сигнатуре pdf файл ? анализ криптованных файлов показал что там АЕS, сама программа -> |
|
Создано: 01 марта 2017 03:23 · Поправил: difexacaw · Личное сообщение · #8 cryptX > Можно пример кода на c/c++ который по PID будет искать и дампить по сигнатуре pdf файл ? Разница между удалённым(из другого процесса) и текущим чтением ресурсам сводится к открытию процесса и чтению из него. Но это не делают системные апи, по крайней мере я это не помню. Ну и это не существенно. Вы поймите у вас викс код, может удалённое чтение блока памяти вообще невозможно(софт. анклав). Криптор для этих целей и служит. Если рассмотреть теоретически попытку дампа, то следует взять такое приложение под слой гипервизора/эмуляции(DBI), так как способ не дать кому то, кроме своего процесса прочитать память весьма древний. Реально блока памяти может не быть вовсе, но локально для читающего его он может существовать. Ссылка на семпл это гуд, вот только какой интерес смотреть крипт-поделку. Вы попробуйте что то сделать(свою работу провести), потом покажите что не получается. А если нужно решить задачу нахаляву - это же крипт, блэк.. никто обычно с этим дерьмом не связывается. > показал что там АЕS Если у вас какая то малварь покриптовала ваши доки, то это не сюда вопрос. Скорее всего ваша инфа навсегда утеряна. Или нужно заплатить за восстановление. В общем вы наверно ошиблись ресурсом, данный не занимается викс технологиями. Врядле вам тут помогут. Хотя возможность есть, но нужно было изначально всё нормально описать, а не: вы не понимаете, у меня же криптор" ----- vx |
|
Создано: 01 марта 2017 03:45 · Поправил: DenCoder · Личное сообщение · #9 |
|
Создано: 01 марта 2017 04:04 · Поправил: dosprog · Личное сообщение · #10 DenCoder пишет: Перехватить функцию чтения pdf-файла компонентом, т.е. писать надо... Предположение не проверял, у меня всё равно это хозяйство не запустится. cryptX пишет: т.к компонент ( https://github.com/pvginkel/PdfiumViewer ) которая программа использует работает с полным файлом. А кто сказал, что программа использует этот компонент? Что-то в это не верится. И что касается этого "компонента", то он может работать не только с документом целиком, но и с отдельніми страницами тоже. В общем, DenCoder написал уже, как надо. |
|
Создано: 01 марта 2017 06:27 · Личное сообщение · #11 cryptX пишет: мне нужно достать не из статического *.ехе файла а именно при процессе выполнения (когда уже будут декриптованные варианты файлов) найти код расшифровки, брякнуться там и сдампить данные? да, возможно, что расшифровка идёт блоками. то есть файл целиком в памяти не показывается. в этом случае, надо разобрать логику и заставить программу использовать полный размер файла вместо фиксированного размера блока. в конце концов это дотнет, к тому же без обфускации - возможностей масса, инструментов тоже. |
|
Создано: 01 марта 2017 11:02 · Личное сообщение · #12 dosprog В дампе увидел что там используется PdfiumViewer. -=AkaBOSS=- там обфусцированный дот.нет код (есть предположение что даже частичная виртуализация присуствует) + натив библиотеки. difexacaw Там не малварь, программа используется для чтения книжек. Друзья мне не нужно чтобы вы за меня решили задачу -> вопрос мой про уже готовые инструменты которые могут по сигнатуре искать в памяти процесса (или есть у кого какой нибудь семпл на с/с++). |
|
Создано: 01 марта 2017 13:02 · Личное сообщение · #13 Эк Вы) Речь то вы похоже ведете не о ресурсах. Есть программа на NET которая читает закриптованные pdf -файлы, распаковывает их и показывает на экране. В этом случае pdf-файл строго говоря не является ресурсом сборки в понимании построения сборки, а просто представляет данные и Вам надо эти данные расшифровать. Тогда в соответствии с этой теорией весь функционал Вашего ридера можно разделить на 2 компонента: непосредственно вьювер, и распаковщик. Вам надо найти место где данные передаются из распаковщика в просматривальщик и в этом месте заинжектить код сохранения данных на диск. Для этого полюбому!!! Ваш ридер надо распаковать и снять защиту. Рассуждаем дальше, Вы обмолвились о том что есть нативные библиотеки (тогда Ваш продукт вероятнее всего защищен либо ILProtectoror`om либо SmartAssembly), на тот или другой последних версий (а я думаю что прога не старая) public решений по распаковке нет (тут долго обьяснять про механизмы DynamicMethod я не буду). Дальше. Да собственно все.. В запросы к специалистам на tuts4you или тут. Ценник должен быть очень адекватный поскольку вы хотите функционал серьезный а не просто пропатчить ридер. |
|
Создано: 01 марта 2017 13:07 · Личное сообщение · #14 cryptX забей, у клерка новая фишка с недавних пор — в 95% своих постов писать слова: "гипервизор", "дби","атомы" | Сообщение посчитали полезным: cryptX, -=AkaBOSS=- |
|
Создано: 01 марта 2017 14:42 · Личное сообщение · #15 Medsft Да правильно, может не так выразился, имелось виду - декодированные данные. Там нет ILProtectora, нативные библиотеки - имелось виду компоненты которые программа использует а не сама логика программы. Medsft пишет: В запросы к специалистам на tuts4you или тут Про запросы знаю, повторюсь -> мне не нужно чтобы специалисты решили задачу или что то распаковали! pdf в памяти целиком -> в моем дампе виден полный header, и там блочно не расшифруется, так как при открытых в вюере разных страниц - участки дампов с header-ом pdf-a совпадают. Хочу сам попробовать решить, по этому и хотелось бы некий семпл увидеть как выдергивать данные (pdf) из памяти другого процесса. |
|
Создано: 01 марта 2017 15:31 · Личное сообщение · #16 |
|
Создано: 02 марта 2017 04:57 · Поправил: -=AkaBOSS=- · Личное сообщение · #17 cryptX пишет: там обфусцированный дот.нет код (есть предположение что даже частичная виртуализация присуствует) + натив библиотеки. даже если и так - файл читается через винапи или методы фреймворка. было бы желание - можно бы и отследить куда что передаётся и где реальная расшифровка. cryptX пишет: Через process explorer сделал full dump, в дампе виден header pdf файла, но не могу достать пдф из *.dmp. я вот этот момент так и не вкурил - почему не можешь-то? вроде ж формат известен, что не получается? начало-конец пдф прекрасно ищется cryptX пишет: вопрос мой про уже готовые инструменты которые могут по сигнатуре искать в памяти процесса отдельных утилит для поиска по процессу я не встречал, но можно сваять скрипт для Code:
сохранить в getpdf.bms запускать командной строкой: quickbms.exe -p getpdf.bms process://<имя модуля или PID> <папка для сохранения результата> скрипт, разумеется, примитивный - ищет только первый файл; нет проверки на begin < end; в случае если одна из сигнатур не найдётся, он просто закроется | Сообщение посчитали полезным: cryptX |
|
Создано: 02 марта 2017 06:08 · Поправил: difexacaw · Личное сообщение · #18 SReg Технологии сейчас такие, не в 2006 же. Сейчас в виксах антидамп это полноценная защита(анклав), а не затирание пе хидера как во времена зомбя Просто есть разница между виксами и всякой защитой, к ним не относящейся. Последнее реализуется школотой, как раз знакомыми вам древними способами Добавлено спустя -45 минут cryptX > Хочу сам попробовать решить, по этому и хотелось бы некий семпл увидеть как выдергивать данные (pdf) из памяти другого процесса. Есть два только варианта. Либо нужный вам образ полностью собран в памяти, тогда можно тупо сдампить. Или же он в памяти собирается частями, тогда дампить нечего. И как бы не смеялись персонажи выши - они немного застряли в древних технологиях, придётся применить виртуализацию. А как же есчо отследить какое то событие, например формирование каких то данных в памяти ----- vx |
eXeL@B —› Вопросы новичков —› Extract ресурсов из памяти .net приложения |