![]() |
eXeL@B —› Вопросы новичков —› x86 Dos программа пром оборудования. |
Посл.ответ | Сообщение |
|
Создано: 16 июля 2018 11:59 · Поправил: Artificia · Личное сообщение · #1 Добрый день! Cуществует измерительная платформа Bryle&Kjare На основе x86 процессора. Из интерфейсов 2 х PCMCA + 1х COM порты, процессор 086mob, операционка DOS 5.?? Принцип работы : Производитель наделяет устройство базовым функционалом, И продаёт (продавал) дополнения (ну как и везде). Дополнения, в виде установочных файлов (даже удалось распаковать), и дамп системного диска (с базовым функционалом) могу предоставить. Само устройство древнее, и производитель уже давно его не поддерживает, но вот спортивный интерес, раскрыть все его возможности есть. По слухам, был специальный аппаратный ключ инсталлятора (LPT или COM) и/ИЛИ (PCMCA внешний накопительный модуль с возможностью апгрейда девайса). Есть ещё инсталятор для ПК, требующий подключить в COM порт (у меня его нет) Необходимо разобраться, как была построена защита, и её обойти. Возможна привязка к серийному номеру прибора в момент инсталяции. Так как я использую не родной системный диск(с другого аналогичного устройства), и одна из доп. плюшек, работавшая на старом приборе, при установке диска на новый прибор, перестала работать. Пробовал "внаглую" скопировать распакованные инсталяторы доп. плюшек на карту памяти, но устройство, после попытки запуска, не хочет их загружать. При этом "внаглую" скопированное обновление базовой функции (новая версия) заработала.. Можно конечно смотреть, и каждый раз сравнивать файлы в папках на предмет изменений, но постоянные сборки-разборки устройства скорее всего приведут к его поломке. ![]() |
|
Создано: 16 июля 2018 12:16 · Поправил: f13nd · Личное сообщение · #2 Если я все правильно понял, устанавливались модули через rs-232, в эту сторону и надо копать, с инсталлятором для ПК (наличие com порта бы это упростило, но можно попробовать поэмулировть). Высока вероятность, что там какой-нибудь стандартный протокол типа AT команд. Ну а дальше по обстоятельствам. ----- 2 оттенка серого ![]() |
|
Создано: 16 июля 2018 12:26 · Поправил: Artificia · Личное сообщение · #3 Да возможна установка и через 232 порт, но там скорее всего нужен будет аппаратный ключ. В данный момент ни ключа ни порта у меня нет. Программа установки доступна здесь https://www.bksv.com/en/Service/downloads/2260-Maintenance/Firmware-Installation-Program. Доп плюшки которые я хочу установить вот здесь https://www.bksv.com/en/Service/downloads (устройство 2260) Мне наиболее интересно именно с защитой самих плюшек разобраться, повторяю основную функцию, распаковал 7зипом и скопировал в папку с установленной предыдущей версией, всё запустилось и заработало, тоесть есть шанс, что виндовая программа+ КОМ порт можно обойти простым копированием. Но плюшки запускаться не хотят, только основной функционал. ![]() |
|
Создано: 16 июля 2018 13:09 · Личное сообщение · #4 |
|
Создано: 16 июля 2018 13:10 · Личное сообщение · #5 Artificia пишет: Пробовал "внаглую" скопировать распакованные инсталяторы доп. плюшек на карту памяти, но устройство, после попытки запуска, не хочет их загружать. А куда вы копируете? Судя по содержимому архивов, там разные каталоги есть. Возможно именно в них и нужно положить модули. Качнул какой-то sound analysis. Файлы BZ*.exe - обычные ZIP-SFX. И вот внутри видны папки DATA, SET-UP, SOFTWARE, со своими подпапками и так далее. То есть вам нужно именно в таком виде и подожить всё на карту. В архивах BL*.exe - файлы помощи. Возможно их тоже надо с таким же путям положить. В любом случае в этих архивах в SOFTWARE\SYSTEM\PROGRAM\2260COM.INI указан путь. Проверьте там ли у вас всё лежит? ![]() |
|
Создано: 16 июля 2018 13:49 · Поправил: f13nd · Личное сообщение · #6 |
|
Создано: 16 июля 2018 14:13 · Поправил: Artificia · Личное сообщение · #7 копирую их в те каталоги, которые и указаны в путях инсталяционных архивов. Правильность действий подтверждает то, что базовый BZ7210 пакет, обновился, простым копированием, запускается и работает.. После первого запуска (с момента копирования плюшек) я вижу на дисплее новые установленнные плюшки (Sound analysis SW .... ), как они и должны быть.. НО после попытки запуска любой из доп плюшек, они и видятся системой как (Operating system 06).. ...так, интереснее, щас гляну рабочий дамп, нет там похоже только последний загруженный модуль, как я понял.. M:C:\SOFTWARE\BZ7206\PROGRAM,BZ7206 A:C:\SOFTWARE\BZ7206\PROGRAM,BZ7206 дык LCN файлы есть в инсталяторах файл BLxxx exe распаковать Сегодня больше постить не могу, буду отвечать в этом посте.. К сожалению @занопывание JNZ мне ничего не говорит, не владею инструментарием и жаргоном, вижу что дизассемблирование идёт.. Чем файл правите? Если можно, ссылку на программу или выкладывайте правленный файл в готовом виде. ..достал устройство с антресолей, доп. приложения как-бы запускаются (идёт заставка) и выбрасывает опять в системную графическую оболочку. При нажатии аппаратной клавиши измерений, пишет WARRING Function is not awailible in this menu Да поменял на 90 90.. щас пишу на диск.. записал, стартую.. Проходит пост, логотип появляется, после разрешение экрана меняется и абракадабра на нём похоже мигает курсор, или просто изображение мигает... Так как это полностью их разработка, и аппаратная часть и програмная, то я не исключаю защиты вплоть до записи/чтения контрольных сумм в БИОС/ спец ПЗУ.. Всётаки имхо нужен углублённый анализ алгоритма, а не выключение первой похожей строки..[/u] hypn0, переписываюсь здесь, грузил, заливал, спецэффекты описал... UpD Вроде не крашится второй файл, лью софтину.. Залил, стартует, видит доп программы, но работает также как и с родным загрузчиком, видимо вылетает при загрузке, и после этого в основном меню названия доп программ меняется на Operating system c последними двумя цифрами от BZ названия программы... Работают только 7219 и 7210 (которые и работали из коробки) Скопировал полностью содержимое флеш диска до запуска устройства, и после того как загрузил устройство и попытался запустить модули (некоторые были деинсталированны автоматом -пустые папки) http://sendfile.su/1430980 f13nd пишет: У тебя даже до проверки серийника не доходит, потому что серийника нету, создай их вручную. Какой формат файла?, что он опрашивает?, серийник у меня есть 2234545, в хардваре конфиге лежит видимо от старого прибора. Наделал много файлов- лицензий, поменял название и первые 4 цифры, все точно также прибор загружается, при попытке вызова доп программы вылетает в систему.. BZ7206 лицензия от старого прибора лежит, этот модуль не запускается, актуальный серийник 2234545, но можно-ли его просто поменять.. Менял и с одним, и с другим серийником ведёт себя точно так-же, некоторые пакеты блочит, некоторые стирает.. Удаляюсь до завтра.. ![]() ![]() |
|
Создано: 16 июля 2018 14:19 · Поправил: f13nd · Личное сообщение · #8 Да не, должна быть там лицензия где-то. В проге есть функция "Move Application", которая говорит "No License Mover VP 0647 connected to your printer port (or USB)". Я бы даже сказал .lcn файл. Code:
Возможно даже занопывание этого jnz решило бы эту проблему в BZLOADER.EXE, ибо тут функция возвращает 1, а в той ветке строчка "invalid key" ![]() Code:
Code:
Добавлено спустя 45 минут Artificia пишет: К сожалению @занопывание JNZ мне ничего не говорит, не владею инструментарием и жаргоном, вижу что дизассемблирование идёт.. В нех редакторе открой, пройди по E040 и замени там 75 07 на 90 90 http://sendfile.su/1430930 Добавлено спустя 1 час 11 минут Artificia пишет: Проходит пост, логотип появляется, после разрешение экрана меняется и абракадабра на нём... Это либо кс файла, либо по-другому надо. Но проверка лицензии вот она. Мне надо отлучиться, надеюсь кракеры помогут дальше ![]() ----- 2 оттенка серого ![]() |
|
Создано: 16 июля 2018 16:34 · Личное сообщение · #9 |
|
Создано: 16 июля 2018 19:40 · Поправил: f13nd · Личное сообщение · #10 seg007:0957 скорей всего получение актуального серийника (феерический праздник xor'ов) seg007:08D4 вроде как printf 16 байт в нех seg007:08E6 memcmp (две строки до терминаторов 0) и если успех, 1 на выходе Проблема видимо в том, что seg007:0957 вызывается в 2 местах. Это надо сидеть и пробовать тупо, без отладки и методом Кашпировского тяжело. Попробую подсунуть серийник 276E567F3E6E5E413907686467690053 в эту функцию (чтобы он стал универсальным серийником на всё), но уверенности нету, что поможет. http://sendfile.su/1430962 Отдай лучше железку кому-нибудь кто возьмется за это. Если конечно сильно надо. Добавлено спустя 51 минуту Artificia пишет: Залил, стартует, видит доп программы, но работает также как и с родным загрузчиком Если я правильно понимаю разработчиков, серийный номер для модуля в .lcn генерируется на основе серийного номера твоего устройства, оно не должно сразу начать видеть и работать с новыми модулями, если для них даже лицензии нету. Наверное можно сломать и так, но это уже с самой железякой под рукой и jtag-отладчиком, основная проблема в этом. А проверка контрольных сумм файлов в биосе - маловероятно. Если что и есть, то в самих исполняемых файлах. Тут вам не там, как говорится. Хотели бы жестить, использовали бы совсем другой чип, с совсем другим уровнем безопасности. Добавлено спустя 1 час 18 минут Artificia пишет: Скопировал полностью содержимое флеш диска до запуска устройства, и после того как загрузил устройство и попытался запустить модули (некоторые были деинсталированны автоматом -пустые папки) Я это и пытаюсь объяснить, модулей ты вручную накопировал, а лицензия у тебя только на BZ7206, она должна генерироваться либо инсталлятором для пк, либо инсталлятором с карты при помощи LPT-свистка, в дистрибутиве ее быть не может по определению. У тебя даже до проверки серийника не доходит, потому что серийника нету, создай их вручную. Добавлено спустя 1 час 42 минуты Artificia пишет: Какой формат файла, что он опрашивает Формат текстовый, я ж показывал \SOFTWARE\SYSTEM\PROGRAM\BZ7206.LCN Code:
Добавлено спустя 2 часа 10 минут Artificia пишет: Наделал много файлов- лицензий, поменял название и первые 4 цифры, все точно также прибор загружается, при попытке вызова доп программы вылетает в систему.. BZ7206 лицензия от старого прибора лежит, этот модуль не запускается, актуальный серийник 2234545, но можно-ли его просто поменять.. seg007:058A получает на входе имя модуля, подставляет к нему .lcn, читает этот файл, выбирает из него эти строки в seg007:0278, вроде как обязательное только "permanent". Если все нормально, передает их seg007:0957, сюда же скорей всего идет серийный номер самого прибора, функция тупо ксорит каждый байт с каждым у 6 строк, на выходе должны получиться 16 байт, очевидно "276E567F3E6E5E413907686467690053", они преобразуются в НЕХ и сравниваются с тем, что в файле. Если совпало - бинго, иначе "invalid key". Возможно другие поля еще на что-то влияют, но на этом этапе по идее пофигу. ----- 2 оттенка серого ![]() |
|
Создано: 17 июля 2018 05:42 · Поправил: Artificia · Личное сообщение · #11 |
|
Создано: 17 июля 2018 09:21 · Поправил: f13nd · Личное сообщение · #12 Artificia пишет: Сможете пересчитать 16 байт от серийника 2234545 Пересчитать без дебаггера не могу. Есть еще такой вариант http://sendfile.su/1431049, мало ли. Я бы сначала со стоковым загрузчиком добился сообщения invalid key в окне или в логе где-то, куда он его выводит, чтоб быть уверенным, что серийник реально проверяется, а не отсекается на какой-то проверке выше. ----- 2 оттенка серого ![]() |
|
Создано: 18 июля 2018 05:41 · Поправил: Artificia · Личное сообщение · #13 |
|
Создано: 18 июля 2018 11:59 · Личное сообщение · #14 Artificia пишет: Посмотрите сами подгружаемые модули, может в них причина, скорее всего. Лицензия в них не проверяется, какая еще может быть причина не представляю. Можно так до бесконечности пробовать на прокатит/не прокатит, но это так не делается. По крайней мере надо знать куда программа сообщает об ошибках, чтоб хотя бы знать что ей на этот раз не понравилось. А еще лучше припаять несколько проводов к плате и посмотреть где она сворачивает не туда. ----- 2 оттенка серого ![]() |
|
Создано: 18 июля 2018 19:37 · Поправил: Artificia · Личное сообщение · #15 куда-то сообщает ![]() А серийник в Биосе хранится скорее всего? f13nd пишет: "Я это и пытаюсь объяснить, модулей ты вручную накопировал, а лицензия у тебя только на BZ7206, она должна генерироваться либо инсталлятором для пк, либо инсталлятором с карты при помощи LPT-свистка, в дистрибутиве ее быть не может по определению. У тебя даже до проверки серийника не доходит, потому что серийника нету, создай их вручную.".. Лицензия от BZ7206 для другого прибора, с которого я снял "HDD" с системой. И на текущем приборе, с той лицензией, что есть, он тоже не запускается.. Мож ты меня неправильно понял, и пытаешься под 06 лицензию всё привести.. У текущего прибора серийник 2234545. Я вот что думаю, мож Биос считать, да серийник подправить? Безусловно стартует только BZ7210 как базовая функция. ![]() |
|
Создано: 18 июля 2018 19:54 · Личное сообщение · #16 Artificia пишет: Я вот что думаю, мож Биос считать, да серийник подправить? Если он там, то это поможет приобретенные лицензии со старого устройства на него посадить. Artificia пишет: Мож ты меня неправильно понял, и пытаешься под 06 лицензию всё привести.. Я пытался случайно выбранный серийный номер модуля сделать валидным всегда, при любом серийном номере устройства и всех прочих условиях. То есть теоретически вписываешь его в любую лицензию и с ним все работает. ----- 2 оттенка серого ![]() |
|
Создано: 18 июля 2018 22:24 · Личное сообщение · #17 Artificia Вот нам бы сам прибор, проблем бы не было. Я пробовал запускать исполняемые файлы - всё дохнет. Правда я под Win98 пробовал запускать и без драйверов, которые в config.sys указаны. В общем конечно можно чистый дос в виртуальной машине сделать, и драйверы какие надо загружать, будут ли эти модули хоть как-то загружаться, не знаю. В принципе должны. Прибор они опрашивать должны уже после загрузки. В любом случае, огласите насколько вам это нужно? Если очень нужно и жить без этого не можете, тогда размещайте объявление в разделе "поиск специалиста". Но даже там вам не смогут помочь, если всё завязано на железячки и прогу нельзя запустить в виртуалке. ![]() |
|
Создано: 19 июля 2018 12:21 · Поправил: Artificia · Личное сообщение · #18 Да, там стоят спец DSP для преобразований Фурье.. просто 086 не потянул-бы.. Дисплей свой, проприетарный, клавиатура своя.. Видимо поэтому и не запускается в симуляторе. Интерес чисто познавательский, никаких финансовых выгод я не получу. Я готов потратить на это немного свободного времени, но чтобы серьезно платить за это, вряд-ли.. Думал может кому интересно покопаться, в качестве некоторой нестандартной задачи. Дос, ассемблер, все дела... UPD: Получу доступ к второму прибору- он физически повреждён, попробую сменить биос.. ![]() |
|
Создано: 19 июля 2018 12:51 · Личное сообщение · #19 Artificia пишет: Видимо поэтому и не запускается в симуляторе. Небязательно. По части дисплея/клавиатуры как раз скорей всего досовские прерывания нормально совпадают. Это общая проблема всей подобной тематики - проверки всей периферии при старте, а хоть бы и тот же серийник забрать не может и привет. Копание в дизассемблере всегда крайняя мера, когда по всем остальным направлениям тупик. Знакомые иногда недоумённо смотрят: -а ты разве не всю прошивку разобрал? -нет, подели 2 мегабайта на среднюю длину инструкции и догадайся почему. Тем более ассемблерный листинг не повествовательный текст, это скорей граф, некоторые небольшие участки которого можно изучить за приемлемое время. Есть также instruction set simulator'ы, но это тоже полумера, прошивку в них не запустишь толком. ----- 2 оттенка серого ![]() |
|
Создано: 19 июля 2018 12:58 · Личное сообщение · #20 Artificia Да нее... В эмуляторе всё должно запуститься, если драйверы нужные загрузить. Все эти чипы DSP там как отдельные устройства и сам "компьютер" с ними общается скорее всего через порты. Так как если бы для их управления нужны были бы специальные команды, то проц бы там стандартный не стоял. ![]() То есть в эмуляторе всё должно запуститься, просто прога не сможет получить ответ от этих устройств. А дисплеи/клавиатуры должны соответствовать стандарту, иначе ничего бы не заработало. То есть разработчики конечно могли бы взять проц и придумать всю остальную обвязку сами, но сомневаюсь, что при этом там MSDOS запустился бы. Да и денег и времени бы это стоило очень много. А если запускается и обычный MSDOS, то значит от обычного компьютера отличается только чипами (дополнительными устройствами). В принципе еще драйвер может не стартануть, если устройство не увидит. Конечно нестандартные устройства на x86-процах бывают и их достаточно много. У меня на работе был широкоформатный сканер Vidar. В нем стоял проц 80486, и на этом всё. Но и никакого ДОСа там не было. ![]() |
![]() |
eXeL@B —› Вопросы новичков —› x86 Dos программа пром оборудования. |