![]() |
eXeL@B —› Вопросы новичков —› Привязка импорта к операционной системе - как правильно исправить "переходники"? |
Посл.ответ | Сообщение |
|
Создано: 08 декабря 2012 22:54 · Личное сообщение · #1 Ситуация такая: если анпакаем файл например на ХР, восстанавливаем импорт - всё работает ОК. На любых системах выше 5.1 вылазит ошибка 0хс0000005. Знакомый программист подсказал,что проблема в так называемых "переходниках" - мол,они зависят от конкретной ОС. Но по-моему когда я анпакаю файл на Семерке,то дамп с импортом работает на всех системах без исключения. Подскажите,что это за переходники и как их устранить (направить на путь истинный,вернее на валидный адрес) ![]() |
|
Создано: 08 декабря 2012 23:17 · Поправил: ARCHANGEL · Личное сообщение · #2 Во-первых, что анпакаете? Файл бы в студию. Во-вторых, переходники в импорте принесут проблемы даже на семёрке (если они не были восстановлены), ибо ASLR может загрузить библиотеку из таблицы импорта по другому ImageBase при следующем запуске, в этом плане ХР, наоборот, даёт вам кажуюся стабильность. В-третьих, переходники не зависят от конкретной ОС, они зависят от того, какой адрес выделила VirtualAlloc под код этих самых переходников, т.е. могут разниться, опять-таки, от запуска к запуску. В-четвёртых, устраняются переходники патчем кода в памяти либо скриптом, либо иными танцами с бубном (плагинами, собственными приложениями). ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 09 декабря 2012 03:16 · Поправил: Модератор · Личное сообщение · #3 |
|
Создано: 09 декабря 2012 03:19 · Личное сообщение · #4 normanCRC пишет: Анпакаю ExeCryptor, есть статейка по поводу того как импорт подогнать под любую Windows? ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. ![]() |
|
Создано: 09 декабря 2012 09:13 · Личное сообщение · #5 |
|
Создано: 09 декабря 2012 14:12 · Личное сообщение · #6 Восстанавливаю ImpRec 1.7 .Крашится по адресу 7c802530 Code:
В отладчике это выглядит так: ![]() ![]() |
|
Создано: 09 декабря 2012 14:26 · Личное сообщение · #7 |
|
Создано: 09 декабря 2012 14:50 · Личное сообщение · #8 Vovan666 пишет: 99,9% что импорт восстанавливается по ординалу, а не по имени. Если вызов происходит в VM_ExeCryptor'a то api дёргается из кода протектора и этот файл будет работать только на той машине где сняли дамп.... ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. ![]() |
|
Создано: 09 декабря 2012 15:09 · Личное сообщение · #9 ClockMan Ну у меня похоже на этот случай как раз.Только даже на 1 и том же компьютере ведет себя по-разному на разных ОС: на 2х ХР работает, на 3-ей ошибка, на Висте,Семерке тоже ошибка. Какая-то привязка идет к версии kernel32 мне кажется. А если я импорт буду по ординалам восстанавливать,то проблема исчезнет? ![]() |
|
Создано: 09 декабря 2012 15:13 · Личное сообщение · #10 |
|
Создано: 09 декабря 2012 16:44 · Личное сообщение · #11 |
![]() |
eXeL@B —› Вопросы новичков —› Привязка импорта к операционной системе - как правильно исправить "переходники"? |