MERCURY127
Platinum Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору akarman, влияет размер заголовка, как минимум. дальше что то надоело ковырять. да и нельзя же комманд жать... IFkO, ну что, будете пакованный мешный скандиск на дискеты, или сешным успокоимся... Добавлено: akarman, или, если очень хочется, нужно прибить чексумму. комманд открывает сам себя и проверяет часть своего кода на целостность. но что будет после прибития? ладно, если бы он каждый раз перезапускался с нуля — но нет, комманд — это резидентная оболочка, а ля нортон коммандер, итп. получив команду, он должен ее выполнить, предоставив программе максимум памяти. для этого он сам освобождает занимаемую собой память, оствляя небольшой свой кусочек — резидент, через который он, после завершения работы команды, возвращается в память, считывая транзиентную часть с диска. ИМЕННО СЧИТЫВАЕТ, а не запускает на исполнение с нуля! соответственно, с убитой чексуммой он считает упакованный код, не подозревая об этом, ну и соответственно, передаст управление хз куда... результат очень наглядно демонстрирует емм386, вопя каждый раз про исключение защиты, что и не мудрено, тк в упакованном коде, а по сути, мусоре, после передачи управления вполне может встретиться привилегированная инструкция. http://rghost.ru/private/6lWGlH8RT/2030e9cfa176f1c0e4e65e839da1527e вот запаковал, типа даже работает (кушает память и выводит приглашение) но только как вторичная копия, то есть только при запуске из оригинального комманд.ком, что ярко демонстрирует, что с.ехе в этом случае грузится и работает исключительно как резидентная часть, а транзиент читается из оригинального комманд.ком, если он найден. |