Сейчас на форуме: kris_sexy, ==DJ==[ZLO], Wenzel (+4 невидимых)

 eXeL@B —› Крэки, обсуждения —› Почему может не запускаться DLL в 98й?
Посл.ответ Сообщение

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

Создано: 25 апреля 2006 15:36
· Личное сообщение · #1

Привет всем!

Итак. PEVerify не выдает никаких предупреждений. RestoreLastError нет в IAT. Под XP все отлично работает. Жал пакерами для проверки PE заголовка - UPXу все понравилось, ругаться не стал.

Уже не знаю, что делать...

Кто-нибудь сталкивался с этим?

-----
MicroSoft? Is it some kind of a toilet paper?




Ранг: 186.8 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 25 апреля 2006 16:19
· Личное сообщение · #2

Посмотри в импорте кернеловские функции ***LastError. Да и погугли на эту тему, почему после распаковки че-нить может не работать в 9х. А вообще причин может быть море.



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

Создано: 25 апреля 2006 16:20
· Личное сообщение · #3

Понятно... Потому что в IAT есть левые импорты... Я их в ImpRec'е удалял... а как оказалось напрасно...

Теперь вопрос: как удалить их из IAT? (по-человечески)

-----
MicroSoft? Is it some kind of a toilet paper?




Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 25 апреля 2006 17:04
· Личное сообщение · #4

Как удалить - не знаю. А гугулить - гуглил. Чтобы Xenus без DVD запустить
www.reng.ru/board/viewtopic.php?t=1736&sid=68b806be9af0778232278dc19a9650d3
ImpRec v1.6 Final (равно, как и предыдущие) на XP-шнике вместо SetLastError вставляет RestoreLastError.



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

Создано: 25 апреля 2006 18:29
· Личное сообщение · #5

tundra37 пишет:
вместо SetLastError вставляет RestoreLastError

да знаю я об этом. почему невнимательно читаете??

Tim пишет:
RestoreLastError нет в IAT


-----
MicroSoft? Is it some kind of a toilet paper?




Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 25 апреля 2006 19:09
· Личное сообщение · #6

Tim пишет:
RestoreLastError нет в IAT

Tim пишет:
почему невнимательно читаете??

Я понял так, что в 98-м не находит RestoreLastError.
Разве есть сообщение про IAT? В 2000-м сообщает не найдена точка входа RestoreLastError
в kernel32.dll Не исключено, что твоя ошибка - это другой глюк IMPREC или чего ты использовал.



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

Создано: 25 апреля 2006 21:33
· Личное сообщение · #7

tundra37 пишет:
Я понял так, что в 98-м не находит RestoreLastError.

Да нет такой функции в IAT. Это значит, что DLL не использует функцию SetLastError, которую ImpRec в NT системах определяет как RestoreLastError. Проблема в чем-то другом...

Жду конструктивных предложений.

-----
MicroSoft? Is it some kind of a toilet paper?





Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 25 апреля 2006 21:39
· Личное сообщение · #8

Tim
Ну а в отладчике смотрел, где именно падает-то? Как этот участок кода выполняется на другой оси?



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

Создано: 25 апреля 2006 21:47
· Личное сообщение · #9

Вот ведь блин! Сейчас посмотрел файло через Быстрый просмотр (была такая прога в 9x). Так он мне на месте импорта такую кашу выдал... что это? Глюк Быстрого просмотра? Или что-то другое? Ведь через HIEW и все другие проги (специально восьмью прогами тестил) импорт - конфетка просто.

Такое впечатление, как будто формат IAT изменили... но это ведь бред.

-----
MicroSoft? Is it some kind of a toilet paper?





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 26 апреля 2006 06:02
· Личное сообщение · #10

Приаттачил бы длл, у меня 98 специально для этих целей стоит, может помогу...

-----
Yann Tiersen best and do not fuck




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

Создано: 26 апреля 2006 09:06
· Личное сообщение · #11

Вот DLL. Я ее заNULLил, чтобы меньше было качать. Проблема в таблице импорта. Ничего, кроме нее нет.

1506_26.04.2006_CRACKLAB.rU.tgz - dll.zip

-----
MicroSoft? Is it some kind of a toilet paper?




Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 26 апреля 2006 10:52 · Поправил: tundra37
· Личное сообщение · #12

В 98-м в ntdll.dll нет входов

RtlDeleteCriticalSection
RtlEnterCriticalSection

Их там вообще нигде нет, есть только в kernel32.dll

DeleteCriticalSection
EnterCriticalSection




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 26 апреля 2006 11:07
· Личное сообщение · #13

Tim и вообще, всегда отсекай (редиректь) ntdll, если хочешь, чтобы под другими виндами работало.

-----
Yann Tiersen best and do not fuck




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

Создано: 26 апреля 2006 11:30
· Личное сообщение · #14

PE_Kill пишет:
ntdll

вот ведь собака! а я грешил на IAT... хотя, по сути, так и есть...

-----
MicroSoft? Is it some kind of a toilet paper?



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


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