| Сейчас на форуме: Adler, asfa, bartolomeo (+8 невидимых) | 
| eXeL@B —› Вопросы новичков —› Как найти OEP для запакованной библиотеки DLL | 
| Посл.ответ | Сообщение | 
| 
 | 
Создано: 10 июня 2012 20:06 · Поправил: StarXruk  · Личное сообщение · #1 С помощью программы GeTaOEP в режиме external dll loader получаются такие результаты: Dll has been injected into the target process at base address 0x10000000 Processing... Target imagebase: 0x00160000 Approximate OEP RVA: 0x000375D5 VA: 0x001975D5 Target process has been terminated Как теперь найти в отладчике,когда запущен основной процесс,этот адрес? По адресу 001975D5 ничего нет При загрузке программы,модуль этой Dll занимает область памяти: 00330000 - 00392000 ![]()  | 
| 
 | 
Создано: 10 июня 2012 20:15  · Личное сообщение · #2  | 
| 
 | 
Создано: 10 июня 2012 21:35  · Личное сообщение · #3  | 
| 
 | 
Создано: 10 июня 2012 21:41  · Личное сообщение · #4 Значит GeTaOEP нашла неверный OEP ----- Nulla aetas ad discendum sera   | Сообщение посчитали полезным: hlmadip | 
| 
 | 
Создано: 10 июня 2012 21:47 · Поправил: -=AkaBOSS=-  · Личное сообщение · #5 ну вот ![]() можно ведь просто скопировать нужный участок и оформить тегом кода во-первых, OEP находится там, где вызывается процедура, на которой у тебя открыт отладчик во-вторых, IAT далеко не всегда можно найти автоматически. посмотри, где у тебя начало блока с адресами импорта и впиши всё ручками ![]() Flint не, OEP походу правильный (почти, чуть назад надо вернуться) стандартный код для MSVC++ 8.0 /ADD: упс, и то верно. забыл, что это длл.  
![]()  | 
| 
 | 
Создано: 10 июня 2012 21:58  · Личное сообщение · #6 -=AkaBOSS=- пишет: во-первых, OEP находится там, где вызывается процедура, на которой у тебя открыт отладчик OEP длл это начало DllMain, где практически всегда есть проверка на DLL_PROCESS_ATTACH, что в отладчике выглядит как CMP DWORD PTR SS:[EBP+C],1 ----- Nulla aetas ad discendum sera   | Сообщение посчитали полезным: StarXruk, Svinovod | 
| 
 | 
Создано: 10 июня 2012 22:12  · Личное сообщение · #7 Flint пишет: OEP длл это начало DllMain, где практически всегда есть проверка на DLL_PROCESS_ATTACH, что в отладчике выглядит как CMP DWORD PTR SS:[EBP+C],1 Нет такого,вот только что есть: Code: 
 ![]()  | 
| 
 | 
Создано: 10 июня 2012 22:21 · Поправил: -=AkaBOSS=-  · Личное сообщение · #8  | 
| 
 | 
Создано: 10 июня 2012 22:42 · Поправил: StarXruk  · Личное сообщение · #9 Выше есть вот что: Code: 
 Но на адресе 338DA0 бряк не срабатывает и IAT не ищется. -=AkaBOSS=- пишет: а чем запаковано-то хоть? Frontline Protect Technology Starforce 4.70.8.0 Pro В аттаче сама библиотека,а вот дамп:   9a89_10.06.2012_EXELAB.rU.tgz - EventsLib.dll
![]()  | 
| 
 | 
Создано: 10 июня 2012 22:54  · Личное сообщение · #10  | 
| 
 | 
Создано: 10 июня 2012 22:58 · Поправил: StarXruk  · Личное сообщение · #11 Смысл здесь в том,что проверку диска переместили из exe-файла в эту библиотеку.Если распаковать сам исполняемый файл,восстановить импорт - он запускается,но проверяет диск. Поэтому,нужно распаковать dll - для этого надо найти точку входа DllEntryPoint. Откуда я узнал,что проверка в этой библиотеке? Да очень просто,по наличию секции .sforce3 ,которая однозначно говорит о том что файл упакован Старфорсом. ![]()  | 
| 
 | 
Создано: 10 июня 2012 23:07 · Поправил: -=AkaBOSS=-  · Личное сообщение · #12 дык писал уже: -=AkaBOSS=- пишет: посмотри, где у тебя начало блока с адресами импорта и впиши всё ручками у тебя на скрине явно видны команды вида jmp dword ptr ds:[xxxxxxxx] и call dword ptr ds:[xxxxxxxx] найди в дампе один из этих адресов, и просмотри вверх, где он начинается вычисли RVA этого адреса и введи его в поле RVA в импрек после просмотри вниз, где этот блок кончается... вычти из большего меньшее, получишь размер введешь его в поле Size в импрек, нажмешь Get Imports StarXruk пишет: проверку диска переместили из exe-файла в эту библиотеку нет, просто на неё тоже навесили Старфорс, и она тоже грузит protect.dll, которая уже работает с дровами и проверяет диск StarXruk пишет: надо найти точку входа DllEntryPoint. дык, нашли ж уже то, что там ничего не останавливается, еще ничего не значит стар мог скопировать часть кода и выполнить его гдето в другом месте   | Сообщение посчитали полезным: StarXruk, Svinovod | 
| 
 | 
Создано: 10 июня 2012 23:32  · Личное сообщение · #13  | 
| eXeL@B —› Вопросы новичков —› Как найти OEP для запакованной библиотеки DLL | 
| Эта тема закрыта. Ответы больше не принимаются. | 










 

 Для печати