Сейчас на форуме: igorcauret (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Распаковка DLL с VMProtect
Посл.ответ Сообщение

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

Создано: 16 июля 2014 23:29
· Личное сообщение · #1

Доброго времени суток.
Пытаюсь распаковать DLL, упакованную VMProtect. Распаковать я распаковал, да вот похоже что-то не то с моим DllMain. А конкретно DLL не может быть импортирована в соответствующей софтине.

О таргете:
DLLка является расширением для MetaTrader, используется в советнике. Защищена MqlLock. На сайте MqlLock хвастаются, что никто еще не смог сломать их защиту. Решил покончить с этой несправедливостью.

Коротко что конкретно было сделано:
1. Взял OllyDbg и VMprotect Ultra Unpacker.
2. Все шло хорошо (по туториалу VMP UU) вплоть до момента анализа CPUID & RDTSC. LoadDLL валится с ошибкой "unable to load dll", скрипт завершается.
3. Перед шагом с ошибкой все таки создается патченная DLL. Пробовал отдать ее MT4, говорит, что не может загрузить библиотеку.
4. Непатченная DLL не может загрузиться в LoadDLL.
5. Пробовал скормить патченную DLL ольге и выполнить DllMain – LoadDLL падает без окна с ошибкой. Хотя, если я не ошибаюсь, если LoadDLL запустился и я могу делать "Call DLL Export", то DllMain уже выполнился...
6. Имеется пример простой DLL для MT4 без защиты, пытался проанализировать его DllMain в сравнении с патченной дллкой – бесполезно. В LoadDLL этот пример спокойно загружается, могу выполнять экспортированные функции.

В общем, прошу о помощи. Что я делаю не так? Куда копать? Прикладываю все, что у меня есть.
https://www.dropbox.com/s/o30opdq36s4us9d/mqllock_hacks.zip




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

Создано: 17 июля 2014 08:15
· Личное сообщение · #2

и что эта тема достойна основного форума?
хотя достойного тутора по распаковке вмпрот-длл нету
и с помощью этого скрипта этого не сделать



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 17 июля 2014 08:30 · Поправил: SaNX
· Личное сообщение · #3

viivc58 пишет:
На сайте MqlLock хвастаются, что никто еще не смог сломать их защиту.

--> Link <--

-----
SaNX


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


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

Создано: 17 июля 2014 09:09
· Личное сообщение · #4

А вы хотели развернуть бумажку и взять конфетку? С вмпротом всё совсем не так...

-----
Everything is relative...




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

Создано: 17 июля 2014 16:21
· Личное сообщение · #5

Очень мудрые, наставнические советы. Спасибо.
За то, что ошибся форумом – извините, но на мой взгляд это не "простой вопрос", иначе существовал бы туториал или другие решения подобных задач, но поиск ничего не дал.



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

Создано: 17 июля 2014 17:01 · Поправил: tihiy_grom
· Личное сообщение · #6

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



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

Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 17 июля 2014 17:21
· Личное сообщение · #7

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

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

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

Создано: 17 июля 2014 17:35
· Личное сообщение · #8

Вот не лень вам столько букв писать, абсолютно бесполезных? Не хотите помогать – не помогайте. Не хотите отвечать – не отвечайте. А так только настроение портите и время тратите свое и мое.



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

Создано: 17 июля 2014 18:10 · Поправил: unknownproject
· Личное сообщение · #9

viivc58 пишет:
Вот не лень вам столько букв писать, абсолютно бесполезных? Не хотите помогать – не помогайте. Не хотите отвечать – не отвечайте. А так только настроение портите и время тратите свое и мое.

Товарищ, Вам никто ничего не должен.Все ищут инфу нужную сами, а Вам лень.Никто Вам разжевывать как птенчику ничего не будет.Привыкайте к самостоятельности, паразиты.Стабильно раз в неделю, а то и больше, наглецы с нулем знаний и практических навыков, которые получают люди годами, хотят ломать то, что не каждый спец вскрывает без труда.Для Вас, вероятно, эта ниша только открылась, а многие здесь занимаются распаковкой и вообще реверсингом уже поболее 5, а кто-то и 10 лет.Мы не волонтеры.

-----
TEST YOUR MIGHT


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

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

Создано: 17 июля 2014 19:14
· Личное сообщение · #10

unknownproject пишет:
Товарищ, Вам никто ничего не должен

Разве я говорил, что кто-то кому-то что-то должен?
Напоминаю, мои вопросы звучали так: "Что я делаю не так? Куда копать?". Разве в этих вопросах есть хоть намек на то, что я прошу кого-то сделать что-то за меня?
Я всего лишь удивляюсь, что спецы с огромным стажем тратят время на дерзости и опускание новичков.
Естественно я бы не стал заводить ветку на форуме, если бы не попытался найти хоть что-нибудь по данному сабжу. Искал я примерно так "dll vmprotect unpack", и ничего. Может быть у вас есть ресурс, где я могу что-то узнать? Собственно тема об этом.
Зачем вообще тогда нужен этот форум, если не для обмена опытом? Не понимаю.
Кстати за "паразита" отдельное "спасибо".



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

Создано: 17 июля 2014 19:43
· Личное сообщение · #11

mqllock ломался уже не один десяток раз, и не так как вы пытались вникнуть, ТС. Не надо ломать вмпрот на библиотеке а логику работы защиты. Часть функций просто обфускация, там ничего не надо менять. Часть функций это вызов инициализации библиотеки. Их нужно нагло пропускать и не давать им инициализироваться. Часть рипнутых из мэкээл функций содержит в начале вызов нечто подобное BOOL IsRegistered() вот тут и надо агрессивно вмешаться в ход событий. Раньше было проще, можно было нагло менять память библитеки. Сейчас по другому - вслух не скажу, после агрессивной атаки на сие поделие авторы усложнили защиту (как им показалось) поэтому не будем давать им подсказок.
Вам, ТС, надо разделить все экспорты на группы, где обфускация, где дополнительно встроена проверка isregistered. Обойти проверку регистрации не очень сложно, достаточно вникнуть как работает рег версия и то же самое но без реги. Классика одним словом. Самое сложное что будет это часть функций (не очень много) с вызовами isregistered накрытые вм. Что, впрочем, не мешало полностью избавиться от всего мкллока на исследуемом объекте.
По сабжу, вы слишком нагло себя ведете, если разделить весь путь исследования на 100 частей то вы не прошли и одной части.



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

Создано: 17 июля 2014 20:30
· Личное сообщение · #12

neprovad, спасибо за ответ.
По поводу моей наглости я все же не согласен. Не вижу ничего наглого в воем первом сообщении, да и в последующих. Дабы не раздувать тему, я ее закрою, так как я узнал все, что хотел. Всем спасибо.


 eXeL@B —› Вопросы новичков —› Распаковка DLL с VMProtect
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати