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

 eXeL@B —› Вопросы новичков —› Помогите с Олькой - как поставить брик
Посл.ответ Сообщение

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

Создано: 11 декабря 2007 17:01
· Личное сообщение · #1

Есть ситуация:
есть ДЛЛ закриптованная EXECryptor.

То, что уже делал:
1) просто пусканул прогу которая ее грузит (не в debugger'е).
2) зделал дамп LordPE
3) подуплил (Olly, IDA) - нашел original entry point (т.к. либа писана на дельфи - то зделал пустую либу, поглядел ее entry point и поискал в дампе закриптованной)
4) по найденному original entry point'у ImpREC прекрасно восстанавливает таблицу импорта

Собственно теперь мне (насколько я понимаю) надо поставить на original entry point брик, и зделать еще раз дамп, шоб переменные были в тех значениях, в которых они должны изначально быть. Потом еще раз восстановить таблицу импорта и защита будет снята.

1) запускаю прогу в Olly, оно материться - Themida.
2) поюзал поиск по форуму, нашел как же запустить все же прогу. Скачал плюгин PhantOm.
3) прога уже запускаеться.
4) после открытия файла нужной либы в списке модулей нету. т.е. насколько я понимаю она потом догружаеться динамически.

Как поставить брик в нужном мне месте???
Понимаю, ламерский вопрос, но... недогнал я этого. Сори не судить строго, раньше никогда этим не занимался и вообще програмлю на PHP.



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 11 декабря 2007 18:19
· Личное сообщение · #2

В форуме несколько раз отвечали на этот вопрос.
Вкратце, нужно в опциях Олли выставить "Останавливаться на загрузке dll", и потом нужную dll распаковывать.



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

Создано: 11 декабря 2007 20:56
· Личное сообщение · #3

Ну я сделал hardware break на original entry point. вот так у меня это вышло.
Вроде распаковал. Восстановил ImpREC таблицу импорта.
Вот тока прога после этого не работает.

В чем может быть причина?



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 12 декабря 2007 00:54
· Личное сообщение · #4

Причин может быть очень много...
Хочу уточнить, что понимается под original entry point? Распаковка dll накрытой Екзкриптором - не самая тривиальная задача, попробуйте распаковать dll запакованную upx, что бы хотя бы понимать основы разпаковки dll.



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

Создано: 12 декабря 2007 04:12
· Личное сообщение · #5

tempread пишет:
Хочу уточнить, что понимается под original entry point?


Под original entry point понимается адрес, с которого начинаеться код, идентичный тому, который Delphi собачит в program entry point. Также если ввести этот адрес в поле OEP проги ImpREC и нажать на "IAT Autosearch" то тулза говорит что все гуд, находит по "Get Imports" таблицу импорта.

А не работает оно собстно вот как (прога - клиент LineageII C4):

1) прога запускаеться. не вылетает. но конектиться к серваку не хочет (симптомы как все равно сработала антибот-защита серва, которая как раз в это ДЛЛ). Ну типа пишет из серии "попробуйте войти позже".
С оригинальной ДЛЛ прога пускается и заходит в игру.

2) еще заметил такую "странность": есть плюгин к Total Commander, который просматривает PE формат и показывает импорт и т.д. Так вот на "нормальных" ДЛЛ он показывает имена функций, а на этой вместо имен функций:

ordinal 106
ordinal 106
ordinal 123
ordinal 123
ordinal 144
ordinal 144
ordinal 145
ordinal 176

Вот собстно такая фигня.




Ранг: 154.2 (ветеран), 66thx
Активность: 0.080
Статус: Участник
REVENGE Crew

Создано: 12 декабря 2007 09:59 · Поправил: kioresk
· Личное сообщение · #6

H1dden,

далеко не уйдешь, если будешь практиковаться не ознакомившись с теорией.

Если хочешь разобраться что к чему, то ознакомься со следующими темами:

Unpacker ExeCryptor 2.x.x. (версия для печати)
EXECryptor (Туторы, скрипты, плагины, ...) (версия для печати)

Если не хочешь, то выложи библиотеку или воспользуйся сервисом по распаковке файлов:

Unpacker AsProtect and ExeCryptor (версия для печати)



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 12 декабря 2007 12:10
· Личное сообщение · #7

H1dden
Это original entry point ПРОГРАММЫ, к dll это не имеет отношения! dll распаковываются не так как программы, как я уже писал, подучите самую простую теорию по распаковке dll, а потом почитайте ссылки,что дал kioresk



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 12 декабря 2007 12:14 · Поправил: tempread
· Личное сообщение · #8

kioresk
или воспользуйся сервисом по распаковке файлов

ТС хочет распаковывать dll'ку, а RSI недавно говорил,что только хочет прикрутить в будущих версиях своей проги распаковку dll.




Ранг: 154.2 (ветеран), 66thx
Активность: 0.080
Статус: Участник
REVENGE Crew

Создано: 12 декабря 2007 12:53
· Личное сообщение · #9

tempread,

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



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

Создано: 13 декабря 2007 04:39
· Личное сообщение · #10

kioresk пишет:
кто знает, может ее вручную распакуют, поскольку защищенных EXECryptor'ом библиотек встречается не очень много.


Ок, выкладываю ее.
www.download-zone.org/46123



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

Создано: 13 декабря 2007 04:48
· Личное сообщение · #11

tempread пишет:
ТС хочет распаковывать dll'ку, а RSI недавно говорил,что только хочет прикрутить в будущих версиях своей проги распаковку dll.


tempread пишет:
Это original entry point ПРОГРАММЫ, к dll это не имеет отношения!


А я думал что в ДЛЛ тоже самое указывает на APIENTRY DllMain () - наверное был не прав.

А читать как это делать я читал вот по этому: www.dotfix.net/module.php?module=@6e786b366a717062776f70606168

На этом форуме именно тутора (не обсуждений) не нашел (может херово смотрел).



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

Создано: 13 декабря 2007 04:52
· Личное сообщение · #12

И еще один вопрос не по теме:

Есть a.exe и есть b.dll.
DLL прилинкована СТАТИЧЕСКИ к a.exe.

Если я хочу шоб она была c.dll - естесно винда не пускает прогу и говорит "приложению не удалось запуститься поскольку b.dll не был найден. ..."

Есть какие-нить тулзы, шоб поправить *.exe и оно смогло грузиться с c.dll?




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 13 декабря 2007 07:42
· Личное сообщение · #13

H1dden поправь в импорте название библы и все. Можно сделать любым HEX редактором.

-----
StarForce и Themida ацтой!





Ранг: 154.2 (ветеран), 66thx
Активность: 0.080
Статус: Участник
REVENGE Crew

Создано: 13 декабря 2007 13:31
· Личное сообщение · #14

H1dden,

лови распакованную библиотеку:

http://www.box.net/shared/g9al0l6q71 http://www.box.net/shared/g9al0l6q71 (7-Zip, 350 Кбайт)

Проверить работоспособность не могу, т.к. у меня нет клиента Lineage II, но по идее все должно быть в порядке.




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 13 декабря 2007 18:08
· Личное сообщение · #15

kioresk эммм... замутил бы хоть тутор кто что ли по dll. Ибо мне кажется там все везде одинаково.

-----
StarForce и Themida ацтой!





Ранг: 154.2 (ветеран), 66thx
Активность: 0.080
Статус: Участник
REVENGE Crew

Создано: 14 декабря 2007 11:50
· Личное сообщение · #16

Maximus,

правильно кажется, распаковка накрытой EXECryptor'ом библиотеки отличается только необходимостью восстановления таблицы перемещений (релоков), о чем уже вкратце говорили:

Unpacker ExeCryptor 2.x.x. (12-я страница)

Остальное — аналогично распаковке исполняемого модуля.


На выходных подробнее опишу в своем блоге...



Ранг: 6.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 31 декабря 2007 10:52 · Поправил: pycha
· Личное сообщение · #17

Может я не туда пишу то извините. Вот уже пару дней мучаюсь с такой проблемой. Скачал олю 1.10 пробую запустить а она пишет "udd directory " doesn't exits. Please specify valid path in options ......" Поиском пользовался ничего не нашел. Что же надо сделать чтобы оля заработала нормально не выдавая это сообщение?




Ранг: 88.4 (постоянный)
Активность: 0.080
Статус: Участник

Создано: 31 декабря 2007 11:42
· Личное сообщение · #18

pycha
Зайди в меню отладчика
Options - Appearance - Directories
И поставь там пути на соответсвующие папки.


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


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