Сейчас на форуме: Magister Yoda, rtsgreg1989 (+10 невидимых) |
![]() |
eXeL@B —› Основной форум —› Помогите чайнику ламеродному!!! |
Посл.ответ | Сообщение |
|
Создано: 19 июня 2005 21:52 · Личное сообщение · #1 Значит суть проблемы такова: После запуска проги сделан переход на примерно такой код. 803D38A50010FF cmp b,[1000A538],0FF 7513 jne .010017226 Так выглядит при написании этого куска в Hiew. После запуска проги адрес 1000A538 должен поменятся на 025BA538 (для примера) а реально он остается 1000A538 и соответственно прога падает. В чем мой косяк? Спасибо. ![]() |
|
Создано: 19 июня 2005 21:59 · Личное сообщение · #2 |
|
Создано: 19 июня 2005 22:04 · Поправил: Federal · Личное сообщение · #3 |
|
Создано: 19 июня 2005 22:22 · Личное сообщение · #4 |
|
Создано: 19 июня 2005 22:26 · Поправил: Federal · Личное сообщение · #5 |
|
Создано: 19 июня 2005 22:34 · Личное сообщение · #6 |
|
Создано: 19 июня 2005 22:37 · Личное сообщение · #7 |
|
Создано: 19 июня 2005 22:44 · Личное сообщение · #8 |
|
Создано: 19 июня 2005 22:45 · Личное сообщение · #9 |
|
Создано: 19 июня 2005 22:48 · Личное сообщение · #10 |
|
Создано: 20 июня 2005 03:32 · Личное сообщение · #11 |
|
Создано: 20 июня 2005 04:53 · Личное сообщение · #12 Federal Я, кажется, догадался, в чём у тебя грабли. ![]() DLL - это динамическая библиотека, ты ведь и сам написал что адреса должны меняться. Значит должен быть механизм их перемещений. Скорее всего, ты при патче задел фксаповые байты. Если у тебя hiew 7.х то он выделяет эти байты цветом (если в ini-файле от hiew'a прописано). Если нету семёрки, посмотри в Olly, она такие байты выделяет подчёркиванием (если настройки не менял). Если я прав, то тебе нужно подправить таблицу перемещений (relocation table) или по другому патчить. В hiew'e релоки можно руками исправить (f4 > f8 >f10 > fixups) а как устроена таблица, читай по статьям про PE-формат. ЗЫ Если ты будешь так задавать вопросы - я тебе больше отвечать не буду, и, наверное, не только я. Так что если я не прав в своих догадках ты уж постарайся сформулировать. ----- Всем привет, я вернулся ![]() |
|
Создано: 20 июня 2005 10:53 · Личное сообщение · #13 Bitfry пишет: Если у тебя hiew 7.х то он выделяет эти байты цветом (если в ini-файле от hiew'a прописано). Нет, фиксаповые байты не задел. Bitfry пишет: Если я прав, то тебе нужно подправить таблицу перемещений (relocation table) или по другому патчить. В hiew'e релоки можно руками исправить (f4 > f8 >f10 > fixups) а как устроена таблица, читай по статьям про PE-формат. Скорее всего ты прав. Были подозрения, что надо подправить.... вот только что не знал. Спасибо вечером попробую. Bitfry пишет: ЗЫ Если ты будешь так задавать вопросы - я тебе больше отвечать не буду, и, наверное, не только я. Так что если я не прав в своих догадках ты уж постарайся сформулировать. Я исправлюсь ![]() ![]() |
![]() |
eXeL@B —› Основной форум —› Помогите чайнику ламеродному!!! |