← All posts tagged acronis

OCTAGRAM

Последовал совету и–таки получилось расковырять TVGAScreen в старом Акронисе.
Первые результаты таковы: внутренний буфер имеет 4 байта на ячейку. Голубенький фон кодируется 16#00005320#, в которых 20 — это определённо пробел. Верхний левый угол окна кодируется 16#00C07120#, затем 16#00407141#, 16#00407163# и т. п. кодируют надпись на заголовке окна «Acronis: …», причём, эти буквы — белого цвета, с тенью и поверх текстуры заголовка. При этом старший бит цвета символа в TDOSScreen используется, чтобы сделать 512 символов в текстовом режиме, но этот функционал и в графическом режиме TVGAScreen дублируется. Номер символа, таким образом, 9битный, разорванный на 1+8бит, как и в 512–символьном текстовом режиме. Красный крестик сверху справа у окна кодируется 16#00401F3B#, 16#00401F3C# — вот как раз, похоже, из доп.символов с номерами выше 256. Левая граница окна кодируется 16#00401D09#, правая — 16#00401D0A#. Серый фон окна — 16#00000520#. Левая нижняя граница — 16#00401D0F#, нижняя — 16#00401D06#, правая нижняя — 16#00401D10#.
Поставил несколько экспериментов. Гипотеза с цветами подтвердилась, но не совсем. Если я правильно интерпретирую наблюдения, старшие биты — это цвет символа, а младшие биты — цвет фона. А в реализации TDOSScreen, надо полагать, в знакогенераторе всем символам шрифт инвертировали, и, таким образом, в режиме 512 символов получили возможность использовать 16 цветов для символов и 8 для фона, а не наоборот, как будет, если просто поставить разные шрифты для разных значений старшего бита цвета символа. Ну и заварили же кашу кулхацкеры в этом вашем SWSoft''е! Могли бы выложить сорцы, чтоб не пропадали, всё равно у Acronis уже другой движок.
Эксперимент 1 с байтом цвета.
Вот так представлена в консольном буфере TVGAScreen панель инструментов
А это — выбранная линия с круглым краем, другой край не вошёл
А здесь — нижние кнопки, правда, одна из них, наверное, должна быть активной. Я перехватываю момент отрисовки, и в этот момент в буфере уже должна быть кнопка с фокусом на ней, а не экране DOSBox она ещё не отрисована.

Мне кажется, вот такая незамысловатая графика была бы для админов хорошей золотой серединой между суровостью tty и жирностью x11, vnc и т. п.

OCTAGRAM

В продолжение #1684510 и #1685110
Пробовал когда–то давно зареверсить Acronis в IDA, но там много виртуальных вызовов, которые не пойми, куда ведут. Надо в отладчике смотреть. А программа досовская (DPMI), графическая, так просто не докопаться. Была идея в DOSBox сделать виртуальный серийный порт, на котором бы слушал отладочный сервер Watcom, а снаружи подключиться удалённым отладчиком к TCP порту, который открывает DOSBox. Ничего не получилось. Отладчик висит с пустым чёрным окном без какого–либо прогресса, ну разве что, если окно DOSBox закрыть, отладчик жалуется на разорванную связь и завершается.
Остаётся ещё две идеи, как можно подсмотреть устройство движка псевдотекстового режима. Либо между двумя DOSBox поднять IPXNET, в одном окне Acronis, в другом окне отладчик. Либо запустить Acronis в bochs и применить встроенный отладчик bochs, что довольно хардкорно последний раз, как я им пользовался. Ни тебе шагнуть через, ни наружу. Память смотреть неудобно, только через абсолютные смещения.

OCTAGRAM

octagram.name
Моя гипотеза о расширенном псевдотекстовом режиме подтверждается. При пониженном cpu cycles можно видеть, как движок перерисовывает изменившийся участок по сетке, клетка за клеткой, а не строчка за строчкой, например.

Вот таким бы стоило видеть расширенный терминал. Текстовый, с сеткой, плюс немного графики

OCTAGRAM

octagram.name

Собрал на пощупать запускалку FDISK внутри DOSBox для Windows. FDISK наиболее богат интерфейсом среди всех программ Акрониса, что мне удалось запустить в DOSBox. Автоматом монтируется пустой 10Мб образ жёсткого диска, чтобы было, на чём тестить пользовательский интерфейс. Можно вызвать справку и заценить встроенный простенький HTML браузер

OCTAGRAM

aspldr — это, похоже, сильно урезанная версия Acronis. Настолько сильно, что можно глянуть на proof of concept, но элементов управления там немного, и псевдотекстовый режим не оценить. aspldr представляет из себя, похоже, каким–то хитрым образом завёрнутый exe'шник bootmenu.exe из Акрониса, но в самом Акронисе этих exe'шников больше. Каждый exe'шник скомпилирован WATCOM C++ и упакован UPX'ом. Самое интересное реализовано, похоже, в двух классах: TDOSScreen и TVGAScreen, плюс, всякие TCheckbox. Судя по тому, что гуглёжке эти имена не поддаются, движок так и не открывали.

Из Acronis OS Selector 8.0 вытащил файлы: octagram.name
Напрямую (например, из DOSBox) эти exe не запускаются почему–то