Ещё можно проверить на файлах-загрузках в КЦГД и в периферийный процессор УКНЦ. Там могут оказаться ещё какие-нибудь проблемы.
Ещё можно проверить на файлах-загрузках в КЦГД и в периферийный процессор УКНЦ. Там могут оказаться ещё какие-нибудь проблемы.
Ну это если образ памяти грузится отдельной программой...
Я, очень давно, пытался дизассемблировать загрузки в КЦГД. Там большая часть программ(что были у меня) была одним файлом. Была прикольная программа, которая запускала в КЦГД часы и более ничего. Автор мне неведом... KCTIME(дай бог памяти). Небольшая. Брала время из системы и запускала в КЦГД мелкую программку, которая в углу экрана показывала время. Для меня интерес представлял механизм работы со штатным ПЗУ. И естественно автор программы не смог удержаться от защиты от дизассемблирования Он просто сдвинул тело программы-загрузки на один байт. До меня долго доходило что там не так... В конце-концов написал утилитку вытаскивающую программу-загрузку из исходного файла и уж её дизассемблировал. А формально файл вполне .SAV
Наверное вдохновился "независимым" временем на "фрязинском" дисплее(КСМ)
Ещё сталкивался с тем, что адреса в этим загрузках в КЦГД накладывались на адреса загружающей программы. В результате получался винегрет по меткам
Было у меня подозрение, что для этих программ писали программы загружатель и непосредственно загрузку по отдельности. Потом или утилитой, либо утилитой и ручками собирали в один файл.
Последний раз редактировалось Alex; 07.04.2021 в 14:33.
Безусловно, пока такой вариант защищённой программы не будет дизассемблирован Но вот с ходу я даже не скажу - а можно ли сделать такой вариант защиты штатными средствами - то есть есть исходник, мы его MAC-им, LINK-им и на выходе получаем идентичный .SAV. То есть собрать ДВА .SAV-а, а потом их смержить - без вопросов - этот метод реализуем. А вот так, что бы с одним .SAV-ом и сразу после LINK идентичный...
Уф... Автоматическое тестирование - обязательно
Начал переделку под работу и из командной строки - начал смотреть, как очередные изменения влияют на дизасм других типов файлов. И тест процессора KDJ11-B преподнёс ошибку - DisAsm сваливался по переполнению стека. Сначала подумал, кто это декодирование инструкций (был у меня там рекурсивный вызов - заодно его хакнул), а оказывается - автоматическая перерисовка при изменении формата ячеек. Я с ней давно ковыряюсь, но вот последнее время уделял внимание только .SAV формату, а последствия изменения программы на других форматах (а точнее - файлах) и не проверял. Оказывается - зря
Глубоко не копал, но сваливалось оно в ситуации когда ячейки прямо или косвенно ссылаются друг на дружку Код поправил, но там полуэвристическое правило - надо будет ещё поглядеть на результат. По сути, это важно только при рассматривании кода в программе, если генерируется .MAC файл - то для кода генерации картинка по ячейкам - статическая, так что никакого влияния автоматическая перерисовка не окажет. Но хочется, что бы на экране всё сразу как надо отрисовывалось
Добавлен нужный (мне ) функционал
Встали на ячейку - видим все адреса, которые на неё ссылаются. Выбираем, щёлкаем JumpTo...
... и она выбрана в (основном) окне дизасма
- - - Добавлено - - -
Вдогонку Если показывается всего один адрес в этих двух списках (верхний - ссылка на чётный байт, нижний - на нечётный) - то можно и не выбирать Кнопки абсолютно идентичны, сделано три, что бы мышку меньше двигать. Возможно, повешу и шорт-кат
Последний раз редактировалось Hunta; 08.04.2021 в 11:32.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Код:K:\PDP\Soft.Not Recoded\0.WorkDir2>test.cmd K:\PDP\Soft.Not Recoded\0.WorkDir2>dir stalk.* Volume in drive K is Temp A Volume Serial Number is D289-BED8 Directory of K:\PDP\Soft.Not Recoded\0.WorkDir2 06.04.2021 00:00 512 STALK.COM 04.04.2021 00:00 25 088 STALK.SRC 2 File(s) 25 600 bytes 0 Dir(s) 425 474 093 056 bytes free K:\PDP\Soft.Not Recoded\0.WorkDir2>DisAsm11.exe /SAV "K:\PDP\Soft.Not Recoded\0.WorkDir2\STALK.SRC" /Generate K:\PDP\Soft.Not Recoded\0.WorkDir2>K:\PDP\Emul\RTP\RT11.exe MACRO/LIST:STALK STALK K:\PDP\Soft.Not Recoded\0.WorkDir2>K:\PDP\Emul\RTP\RT11.exe LINK STALK K:\PDP\Soft.Not Recoded\0.WorkDir2>K:\PDP\Emul\RTP\RT11.exe DIFF/BIN STALK.SAV STALK.SRC ?BINCOM-I-No differences found K:\PDP\Soft.Not Recoded\0.WorkDir2>dir stalk.* Volume in drive K is Temp A Volume Serial Number is D289-BED8 Directory of K:\PDP\Soft.Not Recoded\0.WorkDir2 06.04.2021 00:00 512 STALK.COM 08.04.2021 22:53 472 209 STALK.LST 08.04.2021 22:53 151 380 STALK.MAC 08.04.2021 22:53 26 624 STALK.OBJ 08.04.2021 22:53 25 088 STALK.SAV 04.04.2021 00:00 25 088 STALK.SRC 6 File(s) 700 901 bytes 0 Dir(s) 425 473 409 024 bytes free K:\PDP\Soft.Not Recoded\0.WorkDir2>
Строго говоря, это не будет правильный результат дизасм-а программы. Будет результат дизасма загрузчика-дешифратора И такой результат будет совсем не интересен
По этому поводу есть у меня мысли, но это точно будет не сейчас пробоваться к реализации - есть более приоритетные задумки и надо поиграться подольше с программой
Ну и так далееКод:DisAsm11.exe /cha ZKDJV2.BIC /g DisAsm11.exe /image dos_rk.bin /generate /base 0 /start 0 DisAsm11.exe /image "DEC-11-L2PC-PO Absolute Loader.ptap" /base 0 /start 6 /generate "DEC-11-L2PC-PO Absolute Loader.mac"
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)