технически утилита должна уметь выдать вот такой или подобный ему листинг
Код:
# ./bkdecmd lm -sha1 ANSYS.IMG
Утилита работы с дисками БК BKDEcmd на основе кода BKDE [May 19 2024 22:43:42]
Команда: lm
Образ диска: ANSYS.IMG
Формат: ANDOS Размер: 819,200 Режим: RW
SHA1: a38bea6fa0bb006c05015c09c197f36f0c6adb9b
Attributes Size Addr Date Time SHA1 Name
----------- --------- ------ -------- ----- ---------------------------------------- ----
....... 4852 001000 94-08-12 00:00 57d5f0674a03f5f000eb58254734b5ea4891c48a УТИЛИТЫ/ANFORMAT.3
....... 1968 001000 94-08-12 00:00 18a88141bbcac3b5eae93868987ee84a9860fa1f УТИЛИТЫ/ANSETUP.3
....... 6129 000720 94-11-21 00:00 98bf3d5f016528f4d61f770b02c3261a0534e514 УТИЛИТЫ/COMPRESS
....... 2652 001000 94-05-20 00:00 1b1fe72924dca17fe4054b26a49f1479db9afec1 УТИЛИТЫ/ANKEY
....... 892 001000 94-07-18 00:00 4456e5157e026e215121f7ce9323b7d24044486e УТИЛИТЫ/ARC3
....... 8882 001000 00-00-00 00:00 20c15c683c22978422b04be56a63bbf26ed83a5d УТИЛИТЫ/CHEKIT
....... 8782 000760 94-11-19 00:00 1414a7215876a41e275b0dec454ffdbb001250df УТИЛИТЫ/H-DISK
....... 1648 001000 94-07-25 00:00 7348ed6f8447d6e41a6add2fc6ff38e8f8f3207d УТИЛИТЫ/CONTXT
....... 898 001000 00-00-00 00:00 b311a1a2f522f29367f03e8590234e15aad763e9 УТИЛИТЫ/COPDEV2
....... 2776 031000 94-11-19 00:00 0126c0bd95e706044180275ffc8e15c5d16795a5 УТИЛИТЫ/NOR
....... 3700 001000 00-00-00 00:00 75789b6de43634dee135f5b053e1f87e38f56642 УТИЛИТЫ/MKPACK
....... 1837 000720 94-11-19 00:00 d48c21f56a4915e25047740c3b34675d41930e18 УТИЛИТЫ/SET4143
....... 9973 001000 94-11-19 00:00 ac614827cd044b15f92ae74cbe987d9202b2b671 УТИЛИТЫ/XEROX.2
....... 1212 001000 94-07-31 00:00 f7e2e1477a958f46ec8de7f49cf6e6d5370d7ecd УТИЛИТЫ/UNERASE
....... 3912 126500 00-00-00 00:00 901df40b895144a5cf8099185ef81ac81fb361bc УТИЛИТЫ/ANCAS
....... 9483 024002 94-11-22 00:00 7ccf374189732d40b6cd49b634569223f50f5e58 УТИЛИТЫ/ing.VXT
....... 13302 000760 95-01-24 00:00 49744eed3105f461b6c94829326540eecc676e1c УТИЛИТЫ/PAGECOPY
....... 10752 001000 94-11-07 00:00 1619f0817aa84d9266ab6f570f5735e577d479f3 УТИЛИТЫ/CHEKIT.NEW
....... 4363 001000 00-00-00 00:00 866665a87720996b8e8ba850b4d33add98db89c3 ASM/ASS/MSW$
....... 3360 001000 00-00-00 00:00 956727684b8e3ed1f72a95b964f0387b1121e2d1 ASM/ASS/ART2
....... 1468 001000 00-00-00 00:00 94ed3b4ccdcf393b74b010d86328f52306b5fdc4 ASM/ASS/LSW#
....... 1596 001000 00-00-00 00:00 9a27cad82f0c29bc8ad240f034b9a6f30808b376 ASM/ASS/LSW#.1
....... 384 001000 00-00-00 00:00 29a13ae557d8ac79221ace6faa44c20c2b928916 ASM/ASS/SOBJ#
....... 2875 001000 00-00-00 00:00 a05bd86370caacb0c4da8b94f0f9f3d3a95050f8 ASM/ASS/ASMTR$
....... 4826 001000 00-00-00 00:00 a4833358553761ee75ed9882ab296cbd6876739a ASM/ASS/TURBO
....... 4864 001000 95-01-20 00:00 cc256151ac7ce2d26ac339e1e40cc4f61c30a3e9 ASM/ASS/TURBO5
....... 5906 001000 00-00-00 00:00 7574da846b1e880f48234b72c97b22eefdc4a105 ASM/ASS/T6
....... 5906 001000 00-00-00 00:00 7574da846b1e880f48234b72c97b22eefdc4a105 ASM/ASS/Turbo6M
....... 1136 001000 00-00-00 00:00 048cd322f094c26612f64692eced808efa2efa02 ASM/ASS/ARIFM6.OBJ
....... 3072 001000 00-00-00 00:00 03b4d00be185f53ce5ba7c77e95e3e4fdabcfb48 ASM/ASS/DIZAS.WSK
....... 3920 013000 00-00-00 00:00 1c81ad442c0c93fea2cee2aeb27e1853a4d02c1d ASM/ASS/ARPAC
....... 9755 000700 00-00-00 00:00 7c4538bc35047e7985a303437c8849c3abcf282a ASM/ASS/ARPAC.DOC
....... 9173 000760 00-00-00 00:00 c9d9b6c0caafd961678e48fc5f7ed0ac7c9fce4f ASM/ASS/TURBO6.DC1
....... 9607 000760 00-00-00 00:00 e3c04df1157c78809ba659d521b0495d78e74812 ASM/ASS/TURBO6.DC2
....... 3996 026000 00-00-00 00:00 9676917e8dadab965dc7c228de248a531a116495 ASM/MIRAGE_PAR/MIRAGE26
....... 4081 066000 00-00-00 00:00 b32efc57c485b90f90a35df519746493de6a1e6e ASM/MIRAGE_PAR/MIRAGE66
....... 4355 026000 00-00-00 00:00 3e8104569263921746b6a0b55b2580386284ed90 ASM/MIRAGE_PAR/PAR11D
....... 4094 000760 00-00-00 00:00 6f3611769e036ecf0a82f66e073b2d23d85b9322 ASM/MIRAGE_PAR/PARLINK
....... 1500 023044 00-00-00 00:00 3bcb0be279aaac3272002d5a2f3baaa2606234bd ASM/MIRAGE_PAR/SPRITE.PAR
....... 66 025676 00-00-00 00:00 916fba3ee12a57c534993749936f2da3cfd618de ASM/MIRAGE_PAR/ARBK11.PAR
....... 290 025336 00-00-00 00:00 7585e0a7f1374b1e90927348a3b9fad5b56389ff ASM/MIRAGE_PAR/STRACE.PAR
....... 176 025520 00-00-00 00:00 9ff372ad95b32e5a095c4f3e4e902c4b23ac8819 ASM/MIRAGE_PAR/DISKWR.PAR
....... 1348 023274 00-00-00 00:00 b21e234c028b01a9f5adc2d91b9c8e0f0347a6a9 ASM/MIRAGE_PAR/ARITHM.PAR
....... 542 024742 00-00-00 00:00 2417b9e8c14d21dceb2986a4caa29ed9b9044c69 ASM/MIRAGE_PAR/TRACER.PAR
....... 1280 063400 00-00-00 00:00 d42deebfefacc32722b3d3a9127faa4cca384238 ASM/MIRAGE_PAR/WINDOW.PAR
....... 454 025072 00-00-00 00:00 3b2fd0e730b7842f0c9cefa9af9cb992d6acd8e1 ASM/MIRAGE_PAR/SEARCH.PAR
....... 90 025646 00-00-00 00:00 59d2db00c1be9790da246b04495d88fa219e77b7 ASM/MIRAGE_PAR/EMTDIS.PAR
....... 5849 062174 00-00-00 00:00 6bc2e095021936f0e3ea3a5ba7bf819d5e31c460 ASM/MIRAGE_PAR/PAR_WST.PSC
....... 5848 022174 00-00-00 00:00 d5456299ac07096c44547724a39b169af8cad910 ASM/MIRAGE_PAR/PAR_WST.P
....... 6624 063040 00-00-00 00:00 250309315142f5c3f3e83037c7364c50ebe5b060 ASM/MIRAGE_PAR/PAR_SPR
....... 8212 057754 00-00-00 00:00 d2d9a90e31be196cc0bbeab2c234714c4ae7147c ASM/MIRAGE_PAR/Paradise.!!!
....... 2728 004100 96-01-20 00:00 214a77511f786a3decc8c8b5c6e23dbed658842f ASM_TXT/MAGN86.EXE
....... 12195 007500 00-00-00 00:00 d69d61c0a27b2d8836bfbd61052c0f7322bcbd44 ASM_TXT/MAGN86.ASM
....... 3832 057770 96-01-20 00:00 88377ed5b7a754816246c21738b7f00792a55fc5 ASM_TXT/MAGN86.OBJ
....... 8011 000776 94-08-01 00:00 550f8d1a6cd2ba12d98e0412ef0f766a6c517928 BASIC&FOCAL/ANFOCAL8
....... 8069 000776 94-08-01 00:00 2102dc93fc20a8457d49777494ff80ddf745365e BASIC&FOCAL/ANFOCAL8.D
....... 8632 001000 94-11-08 00:00 00a257923e6b2d1f42087d06671780202954e6a3 BASIC&FOCAL/BASIC11M
....... 214 001000 00-00-00 00:00 ba121d481462b9362670d66b59791fd3c7207fd8 BASIC&FOCAL/DBASIC
....... 3948 002440 94-07-31 00:00 aa4b89977de3a98f0036ce797d8ced8d379fc2ee BASIC&FOCAL/DBASIC.EDP
....... 320 001000 00-00-00 00:00 5794494065538d231aa3d2f3951e2e9002abea86 BASIC&FOCAL/ПОЛОНЕЗ
....... 11929 000760 00-00-00 00:00 1681ccad2fed9daacc221a18d6b3ee274b47ac3d DESS/DESS
....... 236 001000 00-00-00 00:00 e0481e080dc042aee1e20afcfafdc2f811373332 DESS/ASSEMB.DSS
....... 3910 012400 95-01-27 00:00 4bde394b17049bab44f5c9ab7a6e13eb82585e81 DESS/FATER.DSS
....... 228 001000 00-00-00 00:00 cc2bf62a37465071ebb1283d623abd6555965fd3 DESS/FILES.DSS
....... 342 001000 00-00-00 00:00 b7016686225c88d830a70d9129bc85aa0a2a5589 DESS/MACRO.DSS
....... 1154 001000 00-00-00 00:00 b018954e2021c732dd54c65845b337be4c5ddd52 DESS/RADIX.DSS
....... 8258 000760 00-00-00 00:00 42dc1aeea7e5df2d7f446b219c3d71786a070f2d DESS/FATER.DOC
....... 5764 024002 95-01-27 00:00 0f4c13c87f182969fa99641c7a050f803bb552d5 DESS/FATER.VXT
....... 3771 030000 94-07-26 00:00 47ca8c504e50c89d2b08471cb1c359598cb3c790 М-ФАЙЛЫ/HELP.M
....... 126 137000 94-05-01 00:00 c96953d3efa81b802a7dd07829c094ab9a996914 М-ФАЙЛЫ/ADR.M
....... 2048 030000 94-06-02 00:00 7c571b93558beab4c97a4a371b3e18564281dfe5 М-ФАЙЛЫ/USER.M
....... 1690 030000 94-07-31 00:00 8ff785d9751ca6b166501b0008fd2a8f690cb85c М-ФАЙЛЫ/VIEW.M
....... 390 137000 94-06-20 00:00 0565917e3c7f27d58367ba88cf50c373fefe0e7b М-ФАЙЛЫ/DATE.M
....... 392 137000 94-05-16 00:00 8bba7dfc0c756d2dc691788f734872d10f0b6be8 М-ФАЙЛЫ/PRID.M
....... 1864 030000 94-08-11 00:00 17ffbbe1bf5a9272f4b27771ae3168b821a23ab8 М-ФАЙЛЫ/SVD.M
....... 998 030000 94-06-20 00:00 f674141c14b930e5b0260bbf366ff5413d880f9e М-ФАЙЛЫ/LP.M
....... 2212 126500 00-00-00 00:00 776f90ba99001c523768f136bbfe66676cb9a689 ПРИЛАДЫ/GRASP20
....... 4260 001000 00-00-00 00:00 e97818fca93a37abd8705190b46c54aa9632d1f4 VCAD/VCAD
....... 4144 001000 00-00-00 00:00 e22f99ab5cf7da911cd036eda3714950af04a4a8 VCAD/VCADcom0
....... 4154 001000 00-00-00 00:00 8d683526fb91f0386fea2f9cb3d104a6cfcfa6d2 VCAD/VCADcom1
....... 3313 001000 00-00-00 00:00 3aa1c2b341c9ef5fb5452181c43261674b159b3c VCAD/VCADediT
....... 5006 001000 00-00-00 00:00 ae5d32115d3961b0ce96a9d57730eb517e3a1b51 VCAD/VCADediB
....... 198 025614 00-00-00 00:00 a6631e25162a6a75ff8bac5c45a83873dadbd8d0 VCAD/VCADlib1
....... 62 001010 00-00-00 00:00 227ea1670f951d870bd05bd2e002c8e70f0c6a84 VCAD/VCADinit
....... 3413 001000 00-00-00 00:00 1eeb11b1abd4f81efec6840172180d8f761cad9c VCAD/SCREN
....... 6216 001000 00-00-00 00:00 626a018e5bd4dae3d0838ce205ccc4b02721844d VCAD/LIB
....... 1049 017350 00-00-00 00:00 c6ec9900b3a96cdfa5323561254cad3008c1c714 VCAD/HELP.TXT
....... 690 017350 94-12-20 00:00 958e80289b8dcd389c61bf4687c99d585dacb316 VCAD/VOLIME.TXT
....... 16384 040000 95-02-04 00:00 b885ea0dfada4373d3c79d7f6a0af034682ab4a3 VCAD/VOLIME.MAP
....... 16384 040000 95-01-06 00:00 2109100e4be5fb7edb4bbf6ae0fecf5917d548e3 VCAD/VOLIME.PLT
....... 12911 000760 00-00-00 00:00 f5f01552cc5c0557f43549de5036bb9b8a39b6d7 GAMES/MAH JONG
....... 15276 000400 00-00-00 00:00 2385fd83fb6f6d05c7407990aa190814c210464b GAMES/NATONE.CRK
....... 2759 000760 95-01-03 00:00 87ae18b85abac8fccd5b25decdde673bc1dec58a GAMES/XONIX.C01
....... 140 001000 00-00-00 00:00 59840a1dd9f083a7dd0b7c0672588919e310d078 GAMES/G3
....... 32767 177777 94-08-12 00:00 a80699910418bf84c3824c62f8079c495a04cd90 ANDOS.SYS
....... 3740 040000 95-08-16 00:00 91cc77d2cedfe8e20f8cae82f72e0909349a5c8f КАБАЧКИ.VXT
....... 3412 001000 95-08-20 00:00 56a75f696a2838548f0dfd849bcb88ab1162fe46 INT
....... 2936 001000 95-11-13 00:00 bf6e72124522ed9b4befb612d45de0964768aff3 EXDOS
....... 997 024034 95-03-13 00:00 861a3d39a2e810cafc458dfc137e07d7711e8637 FANTA.VXT
....... 1094 001000 95-03-13 00:00 b9c5ba6d0d0c0977e516eedaf5fcc34ba29f608a PIP.TXT
....... 1094 001000 95-04-29 00:00 4f2cddf118a113dd93a65692a259c0830a5eeacf EE.TXT
----------- --------- ------ -------- ----- ---------------------------------------- ----
Done.
далее я просто добавляю в табличку правила парсинга и можно запускать
важно! утилита не должна впадать в безумие если ей будет дан чужой образ или битый образ
форматирование желательно позиционное - те чтобы длины ДО имен/путей файлов не плавали
если SHA1 не получилось извлечь - ставим NULL и пробелами добиваем до длины SHA1
язык на котором может быть написана утилита - предпочтительнее СИ
но можно питон или ява
работать все будет под Linux x86-64