Сейчас на форуме: Lohmaty (+7 невидимых) |
eXeL@B —› Вопросы новичков —› как найти CUSTOM RESОURCE в дампе exe vb6 vmprotect QuickUnpack |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 10 ноября 2018 22:26 · Личное сообщение · #1 привет кто знает при компиляции vb6 программы, куда и по какому смещению (как найти) компилятор складывает resource files? Есть нерабочий дамп vb6 программы упакованой vmprotect3.0 и сдампленый QuickUnpack. Как найти в дампе ресурсы? Или QuickUnpack не дампит их? Поиск с Hiew ничего недал. Кто знает, спасибо всем |
|
Создано: 10 ноября 2018 22:48 · Личное сообщение · #2 |
|
Создано: 11 ноября 2018 00:36 · Личное сообщение · #3 Возьми IMAGE_OPTIONAL_HEADER.DataDirectoryResource.VirtualAddress, потом IMAGE_SECTION_HEADER.VirtualAddress секции, внутри которой этот адрес, вычти его из адреса ресурсов, сложи с файловым смещением этой секции. И развлекайся дальше: Code:
----- 2 оттенка серого |
|
Создано: 11 ноября 2018 01:20 · Личное сообщение · #4 TryAga1n пишет: aprivate пишет: vmprotect3.0 aprivate пишет: QuickUnpack вы это серьезно? Абсолютно серьезно, а что не так? Мне не нужна сама рабочая программа,только ресурсы найти в дампе. Более того этот нерабочий дамп весьма успешно открывается в VBDecompiler. Вот код где ссылка на ресурс loc_4EAF58: Proc_0_3_451D28(&H64) loc_4EAF8C: Me.Global.LoadResData CVar(var_1D4), "CUSTOM", var_140 loc_4EAFB1: var_1DC = Bytes_TO_String(var_140) Т.е. прога грузит данные из Custom ресурса var_1D4 в переменную var_140, и потом конвертит байты в стринг. Вот как найти в теле дампа где сидит var_1D4 |
|
Создано: 11 ноября 2018 09:56 · Личное сообщение · #5 |
|
Создано: 11 ноября 2018 14:27 · Личное сообщение · #6 |
|
Создано: 11 ноября 2018 14:28 · Личное сообщение · #7 Ultras пишет: Чем не вариант: взять любую незащищенную программу на vb6 и посмотреть как и куда компилятор сложил ресурсы? я думал об этом, но как ее найти, может ктонибудь посоветовать exe info scanner по всем exe в директории или всего C:\ Добавлено спустя 19 минут lx60 пишет: Попробуй прогу Resource Hacker, она для просмотра ресурсов. Правда, не помню, работает ли с VB спасибо, пробывал , она нашла только иконку и version info |
|
Создано: 11 ноября 2018 21:50 · Личное сообщение · #8 |
|
Создано: 11 ноября 2018 21:59 · Личное сообщение · #9 |
|
Создано: 11 ноября 2018 22:03 · Личное сообщение · #10 |
|
Создано: 11 ноября 2018 22:18 · Поправил: difexacaw · Личное сообщение · #11 |
|
Создано: 11 ноября 2018 22:25 · Личное сообщение · #12 |
|
Создано: 11 ноября 2018 22:30 · Личное сообщение · #13 |
|
Создано: 11 ноября 2018 22:38 · Личное сообщение · #14 Archer пишет: Есть в QuickUnpack галка перестройки ресурсов, помогает какая именно? я вроде все попереключал. Я использую QU 4.3 версию и дамплю как Attach proccess->Full unpack->Save я нашел как найти в другой незапакованной проге ресурсы по стрингу "C U S T O M" т.е. 43005500530054004F004D, но в моем дампе я все облазил его там нет, у меня подозрения что QuickUnpack не дампит запакованые VMprotect ресурсы. Но почему этот нерабочий дамп отлично декомпилируется VBdecompiler? т.е код отлично дампится а ресурсы нет Добавлено спустя 3 минуты SReg пишет: инде какую инфу ты достанешь из выделенной протектором памяти которой нет? Но почему тогда, VBdecompiler отлично открыывает этот нерабочий дамп?? SReg пишет: я же тебе намедни советовал почитать статьи для новичков но ты всех обгадил закрыв топик. Уважаемый , вы меня с кем то путаете |
|
Создано: 11 ноября 2018 22:43 · Личное сообщение · #15 aprivate Секция ресурсов прямо не адресуется. Приложение к ней обращается через системный апи. Ставь туда точку останова и получишь ресурсы. Апи ищи в мсдн. SReg > я же тебе намедни советовал почитать статьи для новичков но ты всех обгадил Это вы всё обгадили, я немного обиделся из за тупиковой задачи и метания говном, залился хохлядским коньяком и остапа понесло ----- vx |
|
Создано: 11 ноября 2018 22:49 · Личное сообщение · #16 господа тут форум новичков, неругайте , я только учусь) По делу, я сдампил 4Гига HxD и winhex и тоже ничего не нашел. Кто нибудь знает как достать из VMprotect ресурсы, сам код не нужен Добавлено спустя 4 минуты на сколько я понял VB6 компилятор хранит в секции CUSTOM просто байты, и индекс к ним. В моем случае там текст т.е. в незапакованном exe он хранит например текст "HELLO" как CUSTOM,1,48454C4C4F |
|
Создано: 11 ноября 2018 22:55 · Личное сообщение · #17 aprivate Как вы не поймёте. В динамике это делается просто. В статике - кто его знает, это один из самых сильных протекторов, он может криптовать и ресурсы. Если вы найдёте адрес секции ресурсов, то обнаружите их криптованными, а анпак в статике может быть и вовсе невозможен, так как нет ключа к декрипту. Это не решается обычно в статике. Есть лишь один случай, когда такое необходимо - вы саппортите софт и пользователь вам отослал дамп. Учитывая что дамп получен колхозным путём, то это софт не белый. ----- vx |
|
Создано: 12 ноября 2018 01:55 · Поправил: aprivate · Личное сообщение · #18 Почему тогда этот "один из самых сильный протекторов" позволяет получить абсолютно почти прозрачный исходный код двумя щелчками мыши ?? Получается любой vb6 exe проект запакованый Vmprotect можно получить исходники не напрягаясь. Неужели програмисты Vmprotect сделали очень сложным извлечением ресурсов а про исходный код который более важен забыли? вот посмотрите на картинку 6052_12.11.2018_EXELAB.rU.tgz - why.png |
|
Создано: 12 ноября 2018 03:51 · Поправил: VOLKOFF · Личное сообщение · #19 aprivate пишет: Почему тогда этот "один из самых сильный протекторов" позволяет получить абсолютно почти прозрачный исходный код Новые версии VB не поддерживаются толком протом (как-то сам не уследил за этой инфой, VB почти не попадается) aprivate пишет: Получается любой vb6 exe проект запакованый Vmprotect можно получить исходники Нет не получается, старые версии 5,6 поддерживаются. |
|
Создано: 12 ноября 2018 05:09 · Личное сообщение · #20 |
|
Создано: 12 ноября 2018 09:45 · Личное сообщение · #21 aprivate Почему тогда этот "один из самых сильный протекторов" позволяет получить абсолютно почти прозрачный исходный код двумя щелчками мыши Потому что: 1. VMProtect адекватно защищает только Native VB, а не P-Code VB. 2. GPcH создал хороший декомпилятор P-Code VB, который ты используешь. По факту P-Code и так работает при помощи виртуальной машины Visual Basic Virtual Machine. По твоей задаче: Перехватывай LoadResData и получай данные в чистом виде. Описание LoadResData: Code:
У пользовательского типа "Custom" может быть Type = 10 (число вместо строки) ----- EnJoy! | Сообщение посчитали полезным: difexacaw |
|
Создано: 17 ноября 2018 04:25 · Личное сообщение · #22 |
|
Создано: 17 ноября 2018 11:30 · Личное сообщение · #23 difexacaw пишет: ресурс всегда распакован в памяти В большинстве случаев это так, но насколько я помню, PeP (Private exe Protector) хукал системные функции работы с ресурсами в контексте процесса и выдавал распакованный ресурс только при обращению к нему через эти функции. По задумке автора защиты это должно было усложнить восстановление ресурсов после дампа, но по факту эти запакованные ресурсы хранились в запакованной структуре, которую было не сложно распарсить и создать чистую директорию ресурсов. Как вариант можно инжектнуть свой модуль (библу), которая будет вызывать EnumResourceTypes[Ex], EnumResourceNames[Ex] и потом дампить все найденные ресурсы. ----- EnJoy! |
|
Создано: 17 ноября 2018 12:00 · Личное сообщение · #24 |
|
Создано: 17 ноября 2018 13:07 · Личное сообщение · #25 |
|
Создано: 17 ноября 2018 15:25 · Поправил: difexacaw · Личное сообщение · #26 |
|
Создано: 17 ноября 2018 15:57 · Личное сообщение · #27 difexacaw Я его (Private exe Protector) последний раз копал 10 лет тому назад, когда писал кейген к самому пепу и к LikeRusXP (была такая прога для локализаторов), поэтому уже смутно помню, как именно там была реализована защита ресурсов в деталях, но в той версии (а это была версия 2.7x) восстановить ресурсы не было проблемой. difexacaw пишет: Это техника из виксов по сокрытию памяти Одним из первых vx-техники в коммерческом софте стал "использовать" Лёша Солодовников, когда заюзал двиги старого доброго Win32.Crypto (Prizzy/29A) и Win95.Marburg (GriYo/29A) в ASPack 2.11 и ASProtect 1.1. Так что тырить vx-наработки не новая идея у коммерсов ) ----- EnJoy! |
|
Создано: 17 ноября 2018 18:42 · Личное сообщение · #28 Jupiter Та версия PEP что у меня есть не трогает апи работы с ресурсами: LdrFindResource_U LdrEnumResources FindResoureA etc В образах не тронуты. Это было бы слишком круто, если бы протектор реализовал анклав на исключениях для подмены выборки. Такое было использовано как POC и наработанная техника, но практически даже в крипторах наверно не применялось, по крайней мере мне не известно. Можно ради интереса трекнуть события при доступе к секции ресурсов. ----- vx |
|
Создано: 17 ноября 2018 19:33 · Поправил: difexacaw · Личное сообщение · #29 Jupiter Лог по событиям. Обычное апп накрыто PEP, при запуске стартуем поток, он ожидает запуск апп, те полный анпак и обращается к ресурсам: Code:
Инициализация апп, это старт треда, затем он входит в ожидание. 0x10000000 база монитора(визора). 0x7C9.. это нэйтив. Тред выходит из ожидания и обращается к ресурсам. Последнее событие и есть тот доступ к ресурсу. Ресурс в памяти полностью распакован. 3596_17.11.2018_EXELAB.rU.tgz - pep.txt Добавлено спустя 7 минут Версия PEP взята с вашего сайта из раздела скачать. ----- vx |
|
Создано: 17 ноября 2018 22:07 · Личное сообщение · #30 |
. 1 . 2 . >> |
eXeL@B —› Вопросы новичков —› как найти CUSTOM RESОURCE в дампе exe vb6 vmprotect QuickUnpack |