PC-совместимый компьютер на К1810

16-битные ПЦ-совместимые компьютеры с процессорами 8086/8088/80286 работающие под управлением ДОС

Moderator: Shaos

lbodnar
Novelist
Posts: 39
Joined: 24 Dec 2004 13:58
Location: UK

Post by lbodnar »

Lavr wrote: Попробовал я эту идею... кроме 31 блока, на 3-х предыдущих такая КС не совпала...

PS. А на первых трёх блоках - совпала-таки во втором... С такой "контрольной суммой"
придется, видимо, проверять весь дамп визуально...
Попробуйте не байты а слова складывать.

P.S. Тогда не знаю что еще предложить

Могу помочь с визуальной проверкой - вспоминаются далекие годы набивки васика из журнала Радио.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

lbodnar wrote:Могу помочь с визуальной проверкой - вспоминаются далекие годы набивки васика из журнала Радио.
Спасибо! Я уже сам процентов 80 проверил - ошибки по 3...5 визуально нахожу.
В основном 8 <-> В... Суммы - суммами, но критерий всё ж дизассемблер! :lol:
Если б он не показал много бредятника, я бы и за суммы не побеспокоился.

Были ж у нас здесь случаи - оцифровывали и без КС... :wink:
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Дамп системной ПЗУ вычитан визуально и полностью соответствует распечатке в книге.

Для декомпиляции я обычно пользуюсь Sourcer Disassembler (хотя IDA PRO тоже у меня есть).

А никто не подскажет хороший адесок, есть что-то желание попробовать онлай-дизассемблер?
Я навскидку тут ткнул первый попавшийся, но он что-то затупил... :( (а может и я затупил :wink: ).
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

OOO - Sourcer...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:OOO - Sourcer...
Он не "OOO - Sourcer", а Sourcer Commenting Disassembler from V Communications... :wink:
iLavr
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Post by Tronix »

Да, Sourcer вещь. Юзаю тож переодически.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Tronix wrote:Да, Sourcer вещь. Юзаю тож переодически.
А не подскажешь тогда, как ему сказать, что это не *.com, не *.exe и не другой файл,
а bin-образ системной ПЗУ, которая жестко сидит в адресах 0FE000h ?

Я что-то раньше BIOS-ов не дизассемблировал, думал надо указать начальный адрес
ПЗУ FE00:0000, но Sourcer при этом дизассемблирует BIOS моего ноутбука! 8)

Но набрал НЕХ-дамп я с исправлениями, видимо, всё ж верно, поскольку, когда дизассемблирую как
*.com-файл, осмысленный код практически весь, а до этого было много нераспознанных областей
в виде НЕХ-данных.
Last edited by Lavr on 09 Oct 2014 14:27, edited 1 time in total.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Lavr wrote:А никто не подскажет хороший адесок, есть что-то желание попробовать онлай-дизассемблер?
А он-лайн дизассемблеры что-то оказались сыроватыми:
http://www.onlinedisassembler.com/odaweb/
https://pyms86.appspot.com/
Попробовал сегодня с работы весь набор новомодных браузеров, но не смог ни один из них
заставить работать. :(
iLavr
lbodnar
Novelist
Posts: 39
Joined: 24 Dec 2004 13:58
Location: UK

Post by lbodnar »

У меня ODA работает но очень медленно

И Pym's тоже работает

Если ни один браузер не работает то наверное какие-нибудь глобальные настройки скриптов или установки безопасности нужно проверить.
Last edited by lbodnar on 09 Oct 2014 14:48, edited 1 time in total.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

А у меня она хоть лопни, хоть тресни не загружает мой файл в меню File из-под любого браузера.

А сама-то ODA работает со своим примером, причем даже не так уж медленно.
Причем лучше всего под "Опера", а хуже всего под "Гугл хром".
iLavr
lbodnar
Novelist
Posts: 39
Joined: 24 Dec 2004 13:58
Location: UK

Post by lbodnar »

Я просто скопировал текст в окошко и адреса убрал.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

lbodnar wrote:Я просто скопировал текст в окошко и адреса убрал.
У меня "текст" как бы зело подлиннее (0-1FFFH), поэтому я этого делать не стал... :wink:
lbodnar wrote:Если ни один браузер не работает то наверное какие-нибудь глобальные настройки скриптов
или установки безопасности нужно проверить.
Нет, я выше объяснил в чем дело.

Я ж не говорю, что не работают эти дизассемблеры совсем, я говорю, что не смог их заставить
работать с моим файлом
.
iLavr
VGrad
Maniac
Posts: 208
Joined: 18 Nov 2013 15:15
Location: все оттуда ;)

Post by VGrad »

Lavr wrote:Я что-то раньше BIOS-ов не дизассемблировал, думал надо указать начальный адрес
ПЗУ FE00:0000, но Sourcer при этом дизассемблирует BIOS моего ноутбука! 8)
1. Я пользовался v.5 там был BIOS препроцессор.
2. SR 8.01 под Windows 7 x64 не инсталлируется.
3. Всё же IDA 6.5 Pro функциональнее, резвее и удобнее.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Что-то Sourcer местами странновато код декомпилирует:

Code: Select all

;*              AND     WORD PTR [BX],7
                DB       81H, 27H, 07H, 00H     ;  Fixup - byte match
...
;*              JMP     LOC_0037
                DB      0E9H,0A3H,0FFH          ;  Fixup - byte match
...
;*              JMP     SHORT LOC_0045          ;*
                DB      0EBH, 0CH               ;  Fixup - byte match
...
;*              JNZ     LOC_0045                ;*Jump if not zero
                DB       75H,0B3H               ;  Fixup - byte match
Раньше, я замечал, он так JMP FAR PTR записывал, а сейчас что-то много у него таких
НЕХ-эквивалентов команд повылезало... :-?
iLavr
User avatar
Stan
Banned
Posts: 397
Joined: 04 Jan 2013 10:09
Location: 95.24.178.158

Post by Stan »

Скачал я этот Sourcer 8.01 Commenting Disassembler и тоже попробовал это ПЗУ дизассемблировать.

Мне кажется, что Sourcer не понимает, что это образ ПЗУ, расположенного с адреса 0FE000H.

Поэтому он еще и внешние метки выкатывает те, которые, по идее, должны быть явно в теле ПЗУ:

Code: Select all

; The following equates show data references outside the range of the program.

DATA_0004E      EQU     0EA0H                   ;*
DATA_0005E      EQU     0EA4H                   ;*
DATA_0006E      EQU     0EA5H                   ;*
DATA_0007E      EQU     0EA6H                   ;*
DATA_0008E      EQU     0EA7H                   ;*
DATA_0009E      EQU     0EA8H                   ;*
DATA_0010E      EQU     0EB2H                   ;*
DATA_0011E      EQU     0EB8H                   ;*
DATA_0012E      EQU     0EBAH                   ;*
DATA_0013E      EQU     0EBCH                   ;*
DATA_0014E      EQU     0EBEH                   ;*
DATA_0015E      EQU     0EC0H                   ;*
DATA_0016E      EQU     0EC2H                   ;*
DATA_0017E      EQU     0ECAH                   ;*
DATA_0018E      EQU     0ECCH                   ;*
DATA_0019E      EQU     0ECEH                   ;*
DATA_0020E      EQU     0ED0H                   ;*
DATA_0021E      EQU     0ED2H                   ;*
DATA_0022E      EQU     0EDCH                   ;*
DATA_0023E      EQU     0EE0H                   ;*
DATA_0024E      EQU     0EE1H                   ;*
DATA_0025E      EQU     0EE2H                   ;*
DATA_0026E      EQU     0EECH                   ;*
Но вот подсказать ему, что это код фактически образ посторонней BIOS, я что-то явной возможности не увидел, в меню его выбора:

Code: Select all

Code fragment
Code device drivr
Code overlay
Code special
Code style .COM
Code style .EXE
Code zero start
Я выбирал Code zero start - тогда хоть дизассемблирует с начала образа.
Хотя, возможно, Code special можно попробовать, в HELP пояснений не нашел... :(

А BIOS PRE-PROCESSOR действительно нацеливается на собственные BIOS и видео-BIOS компьютера.

Image

И еще, как мне кажется, Sourcer-у никак не объяснить тот момент, что эта системная ПЗУ, размером 0000-1FFFH, по всей видимости "зеркалится" в силу особенностей аппаратной выборки по всем адресам реального BIOS .

Поэтому и дальний JMP на начало ПЗУ с адреса старта:

Code: Select all

F000h:FFF0      DB      0EAH, 00H, 00H, 00H, 0FEH
Sourcer не понимает. :(