· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.RESEARCH —› Специальные upx by Quantum/Volodya

<< . 1 . 2 . 3 . 4 . >>

Посл.отвђт Сообщенiе


Дата: Янв 26, 2004 20:45:05

мля, ну не ставить же мне теперь из-за этого win98 :-)


Дата: Янв 26, 2004 20:55:32

WELL12

Ладно, я может попробую его по LoadLibrary на ImageBase==0x400000 загрузить и распаковать, тогда он загрузится в Win98, завтра пришлю распакованный если что-нибудь из этого выйдет..


Дата: Янв 26, 2004 21:15:03

Quantum

Ты попробуй скомпили какой-нить exe'шник с ключами:
/fixed /base:0x100000
и увидишь что тебе link'ер напишет...


Дата: Янв 27, 2004 01:39:49

Кстати, ничего с LoadLibrary не вышло =)


Дата: Янв 27, 2004 09:13:17

Asterix
Второй тоже не запускается :(
Но если первый вызывал ошибку в самом себе, то второй вызывает ошибку в KERNEL32.DLL


Дата: Янв 27, 2004 11:24:25 · Поправил: Asterix

Да у меня и не было особых иллюзий по поводу второго файла :-(

Распакуй прогу под 98, тогда она везде запустится, это долбаное ограничение на адрес загрузки, 98-я грузит файл на imagebase==0x400000


Дата: Янв 27, 2004 19:20:25

Короче я провел такой экспиримент.
Скачал с wasm.ru UPX-Ripper 1.3
Зажал им в 98-й винде левую прогу.
Затем распаковал им же эту прогу.
В 98-й она загрузилась, но в ХР - нет.
Потом эту же прогу я зажал UPX-Ripper 1.3 из под ХР.
Затем им же разжал.
В ХР она запустилась, а в 98-й - нет.
Получается отсюда вывод: автор Dosprn v1.73 зажал эту прогу UPX-Ripper 1.3 из под ХР. Поэтому в 98-й она не загружается. Это косяк UPX-Ripper 1.3.
А вот почему все это происходит я не знаю :)
Может кто подскажет ?


Дата: Янв 27, 2004 19:54:51

Блин, ты понимаешь что у этой проги ImageBase=0x100000 или не понимаешь, win98 такие файлы грузить НЕ МОЖЕТ!!!!!!!, поэтому exe'шник содержит секцию РЕЛОКОВ для того чтобы 98-я могла его грузить на imagebase=0x400000, она его туда и грузит, о чём кстати и говорят приведённые тобой адреса где оно падает, поэтому и только поэтому такие траблы.
Чтобы решить эти проблемы раз и навсегда нужно распаковать сам файл под win98, где он будет загружен на imagebase=0x400000, потом в дампе прописать этот ImageBase, там делов на пару минут!
Я сегодня пытался впихнуть win98 себе на e:\ раздел но она что-то отказалась грузится, хотя я её уговаривал хитрым способом, поэтому в распаковке помочь не могу, может Quantum распакует у него точно есть 9x ;-)))

p.s. киляй нафиг этот UPX-Ripper 1.3.......


Дата: Янв 27, 2004 23:19:30

В Win 2K/XP есть функция RestoreLastError, полностью идентичная функции SetLastError. В Win9x нет функции RestoreLastError, а функция SetLastError есть.
В списке определенных функциий, в окне ImpREC'a, найти функцию RestoreLastError и заменить ее на SetLastError, после чего можно восстанавливать импорт сдампленному файлу.


Дата: Янв 27, 2004 23:45:09

Ну и при чём тут это........


Дата: Янв 28, 2004 00:01:20

Он import не может сделать, возможно из-за этого!


Дата: Янв 28, 2004 00:04:33

В файле, обсуждаемом в этом топике, ImpRec импорт не находит, там нужно руками найти, вот он и не может, была бы у меня сейчас win98 этот топик давно бы закрылся.


Дата: Янв 28, 2004 00:06:39

Хошь я тебе её на мыло пошлю....


Дата: Янв 28, 2004 00:15:47

[i][/i]
Come and take a trip with me to Future World


Дата: Янв 28, 2004 01:43:37

Asterix
Ты совершенно прав! Причём добавление релоков делу не помогло, даже rebase на 400000 не катит. Загрузчик начинает ругаться на неправильный формат экзешника. Единственное решение - снятие дампа в 9x, но размер дампа получается на 100Кб больше чем в оригинальном файле. Такие вот дела.

<< . 1 . 2 . 3 . 4 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.110