RENG.RU

RE/System Programming
Текущее время: 16 дек 2017, 03:02

Часовой пояс: UTC + 6 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Постоянный rebase dll
СообщениеДобавлено: 20 ноя 2005, 14:52 
Не в сети

Зарегистрирован: 19 янв 2003, 02:51
Сообщения: 30
Помогите, пожалуйста.
Исследуется dll, написанная на C++, которая используется из exe, написанного на C#. При попытке посмотреть работу функции dll в отладчике IDA, он (IDA) каждый раз пытается сделать "Rebase to address ..." и потом падает. Пробовал самостоятельно сделать rebase с помощью PETools. Но после этого IDA пытается сделать rebase уже на другой адрес. И так далее :(

Кто-нибудь встречался с такой фигней? Что тут можно сделать (кроме использования другого отладчика)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Постоянный rebase dll
СообщениеДобавлено: 20 ноя 2005, 20:04 
Не в сети

Зарегистрирован: 05 авг 2002, 19:03
Сообщения: 397
novice2 писал(а):
Кто-нибудь встречался с такой фигней? Что тут можно сделать (кроме использования другого отладчика)?


О какой версии IDA идет речь? Помнится такое было, но в первых версиях с отладчиком, т.е. v4.5 - 4.6. Потом все поправили.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 20 ноя 2005, 23:33 
Не в сети

Зарегистрирован: 19 янв 2003, 02:51
Сообщения: 30
это 4.8. видимо надо откатываться на 4.7 ? как бы этот rebase запретить... базу жалко.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 21 ноя 2005, 00:00 
Не в сети

Зарегистрирован: 05 авг 2002, 19:03
Сообщения: 397
novice2 писал(а):
это 4.8. видимо надо откатываться на 4.7 ? как бы этот rebase запретить... базу жалко.


Попробовать конечно можно, но вряд ли поможет. Скорее пробовать надо на 4.9.

Вообще есть еще одна идея. Сделать rebase в IDA, предварительно отловив куда она грузит DLL.

И потом из своего плагина

// Rebase the whole program by 'delta' bytes
// delta - number of bytes to move the program
// flags - combination of MFS_... constants
// it is recommended to use MSF_FIXONCE so that the loader takes
// care of global variables it stored in the database
// returns: error code MOVE_SEGM_...

idaman int ida_export rebase_program(adiff_t delta, int flags);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 21 ноя 2005, 17:36 
Не в сети

Зарегистрирован: 19 янв 2003, 02:51
Сообщения: 30
nikita@work писал(а):
Попробовать конечно можно, но вряд ли поможет.

Мда... Не помогло :(

nikita@work писал(а):
предварительно отловив куда она грузит DLL.

А как это можно сделать. Куда бы я не делал rebase, IDA при отладке всегда делает его на другой адрес.
А потом падает, т.к. pe.wll -> error 989 can't load dll (или 998, по памяти)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 6 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB