|
Комментарии | #1 Автор: Nika (2013.10.12 21:44) | Перемещено. |
#2 Автор: elerent (2014.03.18 01:26) | Версия 1.0А не запускается. Вполне вероятно, оригинальный дистрибутив защищен от копирования. |
#3 Автор: SokilOff (2015.06.19 00:06, изменений: 1, 2015.06.19 00:12) | elerent, Именно так, версия 1.0a шла с защитой от копирования. Копия программы, залитая на эту страницу, работать не будет.
Хотя нашлась рекомендация:
123.exe 0000AAA9: CD 90 0000AAAA: 13 90
Работает или нет - не знаю, не проверял.
|
#4 Автор: Nika (2015.06.19 00:51, изменений: 1, 2015.06.19 00:54) | Проверил - версия 1.0А работает после патчения. Запускалась в чистой DOS 7.1 (от Win98).
|
#5 Автор: SokilOff (2015.06.19 14:13) | Ну и славно. |
#6 Автор: Nika (2015.06.19 16:25) | Кстати, обратите внимание на отображение даты на скриншоте "Logo v.1.0A" - - это называется "Ошибка 2000". |
#7 Автор: SokilOff (2015.06.20 15:02) | В 1983 году никто из авторов программы и предположить не мог, что её кто-то захочет запустить через столько лет =) |
#8 Автор: SokilOff (2015.06.20 17:33) | >Рекомендуется сделать патч против защиты от копирования: 123.exe 0000AAAA: 13 03
А зачем int 3 вообще вызывать ??? |
#9 Автор: Nika (2015.06.20 17:52, изменений: 2, 2015.06.20 17:55) | Это стандартный способ отменить вызов прерывания. Заодно и отладчик всплывёт в интересующем месте. Достоинства очевидны - плюс только один байт правки, ибо отладочный останов всегда <db 0CCh>, а если фигурирует <db 0cdh,3>, тогда сразу ясно, что имеем дело с правкой. Впрочем, дело вкуса. Тот, кто полезет править код в HIEW, разберётся, что имелось в виду. Можно и просто занопить прерывание.
В DOS стандартный обработчик int3 состоит из одной команды <iret>. Так что правка вполне нормальная. По желанию можно забить и <nop>'ами, как в приведенном выше патче, но тогда, во-первых, 2 байта правки, а во-вторых, впоследствии неочевидно, что именно правилось. Дело вкуса, повторяю.
P.S. Поправил описание |
#10 Автор: SokilOff (2015.06.20 18:09, изменений: 1, 2015.06.20 18:10) | Ясно. Ну это да, дело вкуса.
Что касается правок, я обычно предпочитаю непатченный оригинал + текст, описывающий необходимую правку. Догадываться по коду программы, где и что было запатчено - это уже перебор.
Ну и про количество байт в патче. Там можно и в один бит уложиться: 0000AAAF: 01 00 С тем же результатом.
|
#11 Автор: Nika (2015.06.20 18:59, изменений: 5, 2015.06.20 19:07) | >> Там можно и в один бит уложиться: 0000AAAF: 01 00
-- Нет. Дело в том, что нельзя В ПРИНЦИПЕ допускать вызов <int 13h> в программе. Это низкоуровневый доступ к "железу" - от использования таких вещей в пользовательских приложениях всегда справедливо предостерегали. А вот <int3> это вполне безопасная инструкция, штатная, если можно так сказать.
>> Что касается правок, я обычно предпочитаю непатченный оригинал + текст, описывающий необходимую правку.
-- Согласен, с той поправкой, что предпочитаю ПАТЧЕННЫЙ оригинал + текст, описывающий ВЫПОЛНЕННУЮ правку. Чтобы в будущем не заморачиваться при всяких установках/переустановках.
P.S. Как вариант - наличие патчера-анпатчера, например, как в случае с IDA v.2.09: http://old-dos.ru/index.php?page=files&mode=files&do=show&id=2202
Правда, тут дилема: патчер должен быть в каком формате? - пока для DOS-программ использую COM-формат для патчеров. С Win32-программами нужен PE-патчер, устраивающих меня нету, а сделать собственный руки пока не доходят |
#12 Автор: SokilOff (2015.06.20 21:39) | >-- Нет. Дело в том, что нельзя В ПРИНЦИПЕ допускать вызов <int 13h> в программе. Ой-ё... да, моя ошибка. В погоне за "красотой" патча совсем забыл про прямое обращение к диску.
>А вот <int3> это вполне безопасная инструкция, штатная, если можно так сказать. При условии, что в фоне не загружен отладчик или софт, "болезненно" реагирующий на вызовы отладочного прерывания. Поэтому лучше избегать этого вообще.
>Это низкоуровневый доступ к "железу" - от использования таких вещей в пользовательских приложениях всегда справедливо предостерегали. Для программ начала 80-х, защищенных от копирования, это был один из самых стандартных трюков.
|
#13 Автор: Nika (2015.06.20 23:25, изменений: 3, 2015.06.21 01:31) | >> При условии, что в фоне не загружен отладчик или софт, "болезненно" реагирующий на вызовы отладочного прерывания. Поэтому лучше избегать этого вообще.
-- Ну, это да. Так что "чище" будет всёже занопить вызов прерывания.
>> Для программ начала 80-х, защищенных от копирования, это был один из самых стандартных трюков.
-- Это к тому же считалось крутостью - как же, программа-дескать "работает напрямую с диском".. Вдобавок считалось, что операции с диском таким образом кардинально ускоряются. Но я не считаю, что намного. А в результате это программу от ковыряния не спасало, зато порождало проблемы на современном железе. Я считаю, что прикладная программа должна корректно работать на всей линейке базовой машины, не взирая не свой возраст. Из таких программ могу упомянуть VolkovCommander и Multi-Edit. А вот AutoCad, к сожаленю, мудрит с диском на низком уровне (сравнительно низком, FAT), из-за этого я не могу сейчас под WinXP использовать его версию 10 для DOS, а было бы полезно для небольших чертежей.
|
#14 Автор: SokilOff (2015.06.21 00:31) | Ну в 1983 году вариантов сделать защиту от копирования было крайне мало: - нестандартный формат отдельных треков - намеренные физические повреждения в заданных областях, а иногда не физические (псевдобэдблоки) и, соответственно, проверка на них - привязка к BIOS конкретного производителя
Реализация была, как правило, крайне примитивной. Но при этом работа с железом напрямую становилась не прихотью, а неизбежностью. Про то, как программа поведёт себя на "железе будущего", никто не задумывался.
Что касается корректной работы на всей базовой линейке. Возьмем ряд вендоров того времени: Apricot, Zenith, Osborn, Texas Instruments, TeleVideo Systems, Columbia Data Products и т.д. (их был вагон и маленькая тележка). "Соперники" IBM PC были основаны на той же платформе Intel, но при этом не полностью совместимы с IBM PC, и вдобавок попарно не особо совместимы друг с другом. Проще говоря её - базовой линейки - просто не было. Был "первобытный бульон".
Я согласен, что защита от копирования - зло. Но такие вещи в крупных компаниях вроде Lotus решали менеджеры, а не программисты. |
#15 Автор: Nika (2015.06.21 01:31) | >> такие вещи в крупных компаниях вроде Lotus решали менеджеры, а не программисты.
-- На то и похоже. Хуже, когда у программеров случается заскок и они начинают творить шо попало.. |
#16 Автор: qwert (2016.05.16 17:17) | Объясните, что это за файлы типа IMG, IMA. Или это негодные архивы. |
#17 Автор: Nika (2016.05.16 17:55) | Это образы дискет. Своего рода архивы. Читаются с помощью программы WinImage. |
#18 Автор: wondersnails (2021.05.09 20:22) | Есть русская версия 2.2 - коробка с книжками и 5-дюймовыми дискетами в запаянном пакетике. И коробка поменьше (ненамного) - апдейт с версии 2.2 на версию 2.3 ;-)))))))))))))))))))))) ...не знаю насчёт самих программ, но книжки документации - на русском!
Насчёт того ,что с этим всем делать, есть два мнения - одно, что вскрывать пакеты не стоит (типа так сказать - "капсула времени"),второе - вскрывать нужно обязательно, так как дискеты со временем могут размагнититься.
В общем ,этот вопрос я выношу на голосование местных подписчиков.
|
#19 Автор: German (2021.05.10 09:05, изменений: 1, 2021.05.10 09:34) | wondersnails, вообще, оригинальные образы локализованного софта мы видеть очень хотим. Но, вскрывать/не вскрывать, зависит чисто от Вас. Думаю, в любом случае, стоит сначала прошерстить Интернет, может, эти версии где-то есть.
UPD. Я недавно столкнулся с такой же проблемой. Купил на Авито комплект: MS-DOS Guide, а с ним в комплекте три запечатанные дискеты (конверт с бумажной пломбой). Две из них содержат MS-DOS 3.30 LASER OEM, а третья подписала Russian Keyboard Driver. Третья дискета названа довольно интригующе. Посоветовался с коллегами, решил не вскрывать. Как вариант, бросьте клич где-нибудь на Призраках, может, у кого есть такой же распечатанный комплект. А там или выкупите его, или попросите владельца оцифровать. Думаю, русскую версию в России найти реально. P.S. Поделитесь, пожалуйста, фотографиями комплектов. Интересно, как оно выглядит. Скажу еще свое мнение. Вскрывать имеет смысл только в двух случаях: – Если на руках есть два ИДЕНТИЧНЫХ комплекта. – Если есть 100% уверенность, что в комплекте чрезвычайно редкая программа, второго экземпляра которой может не существовать. При вскрытии имеет смысл сделать это аккуратно, оцифровать, и потом в таком же виде запаять. |
#20 Автор: wondersnails (2021.05.16 16:54) | 2 qwert: .ima,.img,.dsk - как правило это просто посекторные образы дискет. Записать на дискеты их можно с помощью ,например, программы LOADDSKF, в Norton Commander 5.x есть пункт copy disk в меню disk. Бывают еще файлы .ddi и .TDx (x - цифра от 0 до 9), это файлы в формате программ DiskDupe и Teledisk (есть на сайте). Где-то был драйвер LD.SYS ,который позволяет монтировать образа дисков как логические диски в DOS, что очень удобно. Если найду - выложу.
|
#21 Автор: SokilOff (2022.02.16 04:16) | wondersnails, >Есть русская версия 2.2 - коробка с книжками и 5-дюймовыми дискетами в запаянном пакетике. И коробка поменьше (ненамного) - апдейт с версии 2.2 на версию 2.3
Версия 2.2 точно была защищена от копирования, даже английская, 2.3 уже вроде нет (хотя опять же, за русскую не поручусь). Если снимать образы, то, как минимум, с помощью Teledisk в td0. Более простые форматы тут мимо кассы. |
#22 Автор: yadovit (2023.10.16 23:02) | ADK взят отсюда - https://habr.com/ru/articles/767592/ |
| |
|