|
|
| Посл.отвђт | Сообщен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Кб больше чем в оригинальном файле. Такие вот дела. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.110 |