Скачал со scene.org несколько файлов (1k, 4k intro). Они чем-то сжаты/зашифрованы. При этом при запуске у меня сразу слетают (Win 10 x64 Pro). Начинаются все одинаково в Entry Point. Подскажите, чем они сжаты и как распаковать?
дос-екзе формат, может поэтому вылетает с 64-битной десятки, у неё-же нету ntvdm. у меня под хрюшей файло не запускается, но из под дискеты с чистым досом - нормально. дос-екзе короче они....
Это не DOS EXE формат, это нормальный PE EXE, у него есть заголовок по смещению +4 ('PE\0\0'). NTVDM тут ни при чём. К тому же, если запустить COM-файл, то винда выдаст сообщение, что то, что эту прогу запустить нельзя. А тут прога просто зависает и всё, грузя процессор и вися в списке процессов (из консольной версии можно выйти с помощью Ctrl+C). Причём, когда я запускаю её из Far' встроенный виндовый Диспетчер задач её не видит (типа это Far грузить камень), приходится убивать её Process Explorer'ом. Сейчас попробую запустить в виртуалке VMware на 7 x86 и XP, отпишусь...
От заголовка там только сигнатура. Количество секций = 0. Виндовый загрузчик просто обязан такой файл забраковать. А что, он у кого-нибудь запустился? В какой Windows?
На 7 x86 и XP Pro всё то же самое. Это я пишу про прогу, которая выводит MessageBox "Hello World" и выходит. Сам слинковал скачанной пару дней назад версией "Crinkler 2.0 (Jul 28 2015)" А если запускать интрухи, то на 10 и XP они просто слетают с ошибкой (без кода) и предложеием запустить отладчик или отправить отчёт. А на 7-ке в "humppatunneli" только играет музыка и посередине мигает белый квадратик. А в "Shoot The Core 1K" начинает играть музыка и секунд через 5-10 прога завершается (без сообщений). Обе на чёрном экране (вторая ещё заполняет фон тёмным цветом). А у вас нормально всё работает? И какая система?
У вас-то что происходит? Виндовый загрузчик должен вывести сообщение, что файл запустить не удаётся. А он запускается и виснет, грузя проц. Если запустить через x64dbg, то он показывает исключение, ещё до Entry Point. А если через Олю, то прога загружается (в Entry Point, совпадающий с тем, что выдаёт HIEW), её можно запустить, но эффект тот же – завис и загруз проца. если напустить трассировку с анимацией, то она у меня работает уже минут 10 и что-то распаковывает как будто бы... Вот моя прога, кстати (исходники + EXE). Попробуйте... p.s. Чувак в группе (Telegram) пишет, что интры работают нормально у него...
Может, я как-то не так линкую? Или в исходник надо что-то добавить? Или параметр какой-то для ml задать ещё? На ноуте попробовал – humppatunneli работает, Shoot – нет. Моя тоже нет. У чувака, у которого всё работает, моя тоже не пашет...
Итак, снова про компиляцию моей тестовой Hello World проги. Вот примеры (на fasm, nasm, masm, uasm с bat-никами для компиляции через link и crinkler, результаты в папке out): https://cloud.mail.ru/public/EeVT/qXJHCEBfp (пытался прикрепить к сообщению, не прикрепляется... может, долго загружает, конечно, хотя файл меньше 2 Мб). Пробовал на 2-х компах с Win10 x64, а также в VMware с Win7 x86, WinXP. Не работает ни один из примеров (кроме слинкованных обычным link'ом, разумеется). Повторю, что x64dbg вызывает исключение ещё до entry point, а Оля при запуске анимации бесконечно крутиться в разных циклах (распаковывает? хеширует?) Вообще, странная штука. Если я меняю в entry point (определяемом hiew) первую инструкцию на int3, ud2 или cli, прога либо слетает (в Win10, причём втихую), либо просто молча висит в процессах (Win7). Только XP ругается (сбрасывает прогу с сообщением об исключении). При зависании (Win7) проц уже не грузится и объём занятой памяти вместо 100 Мб всего 100 Кб. Установка опций /hashtries:1 /hashsize:1 (или /hashtries:0), отключение антивиря и запуск от админа не помогают... Вернее, так: при установке опции /hashsize:1 (/hashtries на это не влияет) примерно через 10 происходит следующее (тут я только вожу мышкой, ничего не нажимаю). https://cloud.mail.ru/public/Jd4Q/xtE76eyak При запуске на XP (VMware) с ключом /hashsize:1 через несколько секунд получаем исключение, см. скрины.
Понятно... 10-ка почему-то при встрече с ud2 вообще не выдаёт исключений. И в Process Explorer'е происходит то же самое, что и на видео... Короче, тупо слетает прога через 10 секунд при задании ключа /hashsize:1 и всё...
И 7-ка (установленная на VMware) тоже молчит при встрече с ud2 (не уничтожаю процесс). Так что, с entry point и PE-форматом всё ок, прога нормально загружается, нормально запускается...
Хм... вроде сообщений было гораздо больше...? В общем, ответ найден! Проблема была в lib'ах от MASM32. Надо просто заменить путь на "C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\um\x86" (или т.п.) И всё заработало! Ппц...
можно вот это попробовать распаковать, с OllyDbg ничего не получилось, в тот раз, как я пытался поковырять демку: http://www.pouet.net/prod.php?which=57410 ( DL link http://web.archive.org/web/20130914131807/http://howisbabbyformed.info/snq/nyancat1k.zip ) на ВинХР32сп3 запускается ОК.
Jin X, > Виндовый загрузчик должен вывести сообщение, что файл запустить не удаётся. По дефолту он никакие сообщения не выводит(что бы не гадить в отладочный вывод, а у данного логгера он огромный), даже при активном отладчике, логгер нужно включить принудительно https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/show-loader-snaps
Indy_, ну вот я, к примеру, пытаюсь запустить EXE-файл c содержимым "MZ20PEHelloWorld!" Получаю вот такую картинку. Ничего не включал (10-ка).
Indy_, ничего не отвалилось. Вчера переустановил систему (10-ку x64, прежняя накрылась), сейчас записал в EXE то же самое, запустил – получил то же сообщение. Дистриб системы официальный.