LisaList2

Advanced search  

News:

2022.06.03 added links to LisaList1 and LisaFAQ to the General Category

Pages: [1]   Go Down

Author Topic: new lisafsh-tool/libdc42 release  (Read 14025 times)

rayarachelian

  • Administrator
  • Hero Member
  • *****
  • Karma: +105/-0
  • Offline Offline
  • Posts: 772
  • writing the code,writing the code,writing the code
    • LisaEm
new lisafsh-tool/libdc42 release
« on: February 25, 2021, 10:16:21 pm »

https://github.com/rayarachelian/lisafsh-tool-libdc42.git
fixed the directory bug, now it shows a lot more info, extract will also pick up the new filenames.Aso disabled the cutting of the meta data to a separate file as it seems this isn't useful.
Also added some more tools such as the dc42-to-tar

This will be a part of the next LisaEm RC as usual, whenever that is.
Here's what the shiny new dir command looks like. The "O" and "C" flags match what's in LPW's file manager listing. There are other possible flags, they're just lowercase a-h until I figure out what they mean. DRM is the "bozo bits."
If a file has a Desktop DB name it will be listed underneath it (there are some in LPW that are one character off)
I'm not sure which size is the logical vs physical, they seem to be identical for the most part, so they're just presented there. If I can pin down which is which, I'll relabel.
I think the first one might be the logical. Looks like the "f" flag might be related to the bozo bits.

To build this:
Code: [Select]
git clone https://github.com/rayarachelian/lisafsh-tool-libdc42.gitcd lisafsh-tool-libdc42./build.shcd src/tools/binls -l
(Or you can do sudo ./build.sh install)

Here's a sample directory listing:
Code: [Select]
-----------------------------------------------------------------------------
MDDF Volume Name: "AOS 3.0"
Version 0x11: Hierarchial FS with B-Tree catalog Spring Release - 7/7
-----------------------------------------------------------------------------
lisafsh> dir

Extent   File Name                           Date Created     Date Modified    Last Access Date        filesizes        attr DRM
------------------------------------------------------------------------------------------------------------------------------
0024    CIBTNDATA                            1984.10.27-08:05 1987.02.23-08:12 1987.02.23-08:12        3072       3072           
0025    CNBTNDATA                            1984.05.11-11:35 1987.02.23-08:12 1987.02.23-08:12        2560       2560           
0026    DWBTNDATA                            1984.05.11-11:35 1987.02.23-08:12 1987.02.23-08:12        3072       3072           
003f    FONT.HEUR                            1984.12.12-07:20 1987.02.04-04:15 1987.02.23-10:56        1536       1536           
0040    FONT.LIB                             1984.04.17-14:41 1987.02.04-04:15 1987.02.23-10:57      264070     264192   C       
0027    INTRINSIC.LIB                        1984.11.26-12:14 1987.02.04-04:15 1987.02.23-10:56        4608       4608   C       
0013    IOSPASLIB.OBJ                        1984.06.15-07:58 1987.02.04-04:14 1987.02.23-10:57       24576      24576    O       
0015    LCORBGLIB.OBJ                        1984.11.20-14:00 1987.02.04-04:15 1987.02.04-04:15      123392     123392           
0016    OBJIOLIB.OBJ                         1984.06.15-08:05 1987.02.04-04:15 1987.02.04-04:15       23040      23040           
0028    PARBTNDATA                           1984.05.11-11:34 1987.02.23-10:57 1987.02.23-10:57        2560       2560           
0017    PRLIB.OBJ                            1984.06.15-08:06 1987.02.04-04:15 1987.02.23-10:57       16896      16896    O       
001f    QPLIB.OBJ                            1984.06.15-08:08 1987.02.04-04:15 1987.02.04-04:15       35328      35328           
004a    SCRAP1.FIGURES                       1987.02.04-04:20 1900.12.31-19:00 1987.02.23-10:57           0          0   CO       
004c    SCRAP2.FIGURES                       1987.02.04-04:20 1900.12.31-19:00 1987.02.23-10:57           0          0   CO       
004b    SCRAP2.LOTUS                         1987.02.04-04:20 1900.12.31-19:00 1987.02.23-10:57           0          0   CO       
0047    ScrapOne                             1987.02.04-04:20 1987.02.23-10:57 1987.02.23-10:57        1024       2048           
0046    ScrapTwo                             1987.02.04-04:20 1987.02.23-10:57 1987.02.23-10:57        1024       2048           
0029    shell.Office System                  1984.11.26-11:23 1987.02.04-04:15 1987.02.23-10:57      120832     120832    O       
0006    SYSTEM.BT_PROFILE                    1984.03.15-11:13 1987.02.04-04:14 1987.02.04-04:14       11776      11776           
002b    SYSTEM.BT_SONY                       1984.03.15-11:15 1987.02.04-04:15 1987.02.04-04:15       11776      11776           
0008    SYSTEM.CD_2 PORT CARD                1984.04.17-08:17 1987.02.04-04:14 1987.02.04-04:30        1024       1024           
0009    SYSTEM.CD_ARCHIVE TAPE               1984.04.17-08:16 1987.02.04-04:14 1987.02.04-04:14        4096       4096           
000a    SYSTEM.CD_CONSOLE                    1984.04.17-08:17 1987.02.04-04:14 1987.02.23-10:56        5120       5120           
002c    SYSTEM.CD_PARALLEL CABLE             1984.04.17-08:17 1987.02.04-04:15 1987.02.04-04:30        2560       2560           
000b    SYSTEM.CD_PRIAM CARD                 1984.04.17-08:15 1987.02.04-04:14 1987.02.04-04:14        2048       2048           
000c    SYSTEM.CD_PRIAM DISK                 1984.04.26-09:21 1987.02.04-04:14 1987.02.04-04:14        3584       3584           
0035    System.Print                         1984.06.15-08:08 1987.02.04-04:15 1987.02.23-10:57        8704       8704    O       
001a    system.pr_Daisy Wheel Printer        1984.11.20-14:01 1987.02.04-04:15 1987.02.23-08:12       15872      15872           
0036    system.PR_Imagewriter / || DMP       1984.12.13-06:33 1987.02.04-04:15 1987.02.23-08:12       17408      17408           
0037    system.pr_Ink Jet Printer            1984.06.15-08:08 1987.02.04-04:15 1987.02.23-08:12       14336      14336           
0038    system.shell                         1984.06.15-08:08 1987.02.04-04:15 1987.02.23-10:57        7680       7680    O       
        (1300) +->DocumentName: ell.Office System
0012    system.unpack                        1984.05.09-05:36 1987.02.04-04:14 1987.02.04-04:14        1024       1024           
0022    TK2LIB.OBJ                           1984.06.15-08:07 1987.02.04-04:15 1987.02.04-04:15       67584      67584           
0023    TKLIB.OBJ                            1984.06.15-08:07 1987.02.04-04:15 1987.02.04-04:15       75264      75264           
001b    tmp/ContinueOrAbort.text             1984.11.28-13:02 1987.02.04-04:15 1987.02.04-04:15        2048       2048           
001c    tmp/DoUpdate.text                    1984.11.28-06:49 1987.02.04-04:15 1987.02.04-04:15        5120       5120           
001d    tmp/GetDisk.text                     1984.11.28-13:11 1987.02.04-04:15 1987.02.04-04:15        2048       2048           
001e    tmp/yesnofunc.text                   1984.06.13-08:30 1987.02.04-04:15 1987.02.04-04:15        2048       2048           
0048    UTDSeg                               1987.02.23-08:12 1987.02.23-10:57 1987.02.23-10:57       10240      10240           
004f    {!CATALOG}                           1987.02.04-04:20 1987.02.23-10:57 1987.02.23-10:57        6656       6656           
004e    {!CATALOG}$R                         1987.02.04-04:20 1987.02.04-04:20 1987.02.04-04:20         512        512           
004d    {!DBBUFFER}                          1987.02.04-04:20 1987.02.23-10:57 1987.02.23-10:57       15360      15360           
0045    {!DmHeap}                            1987.02.04-04:20 1987.02.23-10:57 1987.02.23-10:57       20480      20480           
006c    {!SaveDesktop}                       1987.02.04-04:30 1987.02.23-10:57 1987.02.23-10:57          70        512           
0059    {D12T3}                              1987.02.04-04:21 1987.02.04-04:21 1987.02.04-04:21        4096       4096           
        (0000) +->DocumentName: Getting Started
005e    {D16T4}                              1987.02.04-04:21 1987.02.04-04:21 1987.02.04-04:21        1824       2048           
        (0000) +->DocumentName: Getting Started
0063    {D20T2}                              1987.02.04-04:21 1987.02.04-04:21 1987.02.04-04:21        4096       4096           
        (0000) +->DocumentName: Getting Started 
0068    {D24T5}                              1987.02.04-04:22 1987.02.04-04:22 1987.02.04-04:22        4608       4608           
        (0000) +->DocumentName: Getting Started
0069    {D24T5}$D                            1987.02.04-04:22 1987.02.04-04:22 1987.02.04-04:22        6656       6656           
006a    {D24T5}$R                            1987.02.04-04:22 1987.02.04-04:22 1987.02.04-04:22        2560       2560           
006b    {D24T5}$S                            1987.02.04-04:22 1900.12.31-19:00 1987.02.04-04:22           0          0           
0071    {D31T8}                              1987.02.04-04:27 1987.02.04-04:27 1987.02.04-04:27        2182       2560           
        (0000) +->DocumentName: Getting Started
0079    {D37T1}                              1987.02.11-12:45 1987.02.11-12:45 1987.02.11-12:45        2048       2048           
        (0000) +->DocumentName: Getting Started 
007a    {D38T1}                              1987.02.11-12:45 1987.02.11-12:45 1987.02.11-12:45        1024       1024           
        (0000) +->DocumentName: American Dictionary
007b    {D38T1}AmericanDict.data             1987.02.11-12:45 1987.02.11-12:45 1987.02.11-12:45      424960     424960           
0067    {F23}                                1987.02.04-04:22 1969.01.18-22:14 1987.02.04-04:22           0          0           
        (0000) +->DocumentName: LisaList Examples
0072                                         1984.01.06-04:54 1987.02.04-04:28 1987.02.04-04:28   779319667 1952804096           
        (0000) +->DocumentName: Test Spring
0007    OBJIOLIB.OBJ                         1984.01.27-06:04 1987.02.04-04:14 1987.02.23-10:56       23040      23040           
000e    StartUpdate.TEXT                     1984.04.17-08:16 1987.02.04-04:14 1987.02.23-10:56        3072       3072           
000f    tmp/ContinueOrAbort.text             1987.02.04-04:20 1900.12.31-19:00 1987.02.23-10:57        2048       2048           
0011    tmp/GetDisk.text                     1984.11.15-10:25 1987.02.04-04:14 1987.02.23-10:57        2048       2048           
000d    {!SaveDesktop}                       1984.04.17-08:16 1987.02.04-04:14 1987.02.04-04:14          14        512           
0041    p/{t11}.obj                          1984.04.17-08:18 1987.02.04-04:15 1987.02.04-04:15       31232      31232           
0062    p/{t12}.obj                          1987.02.04-04:21 1969.01.18-22:14 1987.02.04-04:21       23552      23552           
        (0000) +->DocumentName: LisaGraph Examples
0065    p/{t13}.obj                          1984.03.19-12:20 1987.02.04-04:22 1987.02.04-04:22       11264      11264           
0074    packtable.lib                        1984.03.20-05:54 1987.02.04-04:28 1987.02.04-04:28        1024       1024           
0014    QP/HARDWARE.OBJ                      1984.06.15-08:06 1987.02.04-04:15 1987.02.23-10:57        3584       3584           
0018    QP/UQPortSoroc.OBJ                   1984.11.29-09:34 1987.02.04-04:15 1987.02.04-04:15        1536       1536           
0019    QP/UQPortVT100.OBJ                   1984.06.15-08:05 1987.02.04-04:15 1987.02.23-10:57        1536       1536           
0020    SULIB.OBJ                            1984.06.15-08:08 1987.02.04-04:15 1987.02.04-04:15       13824      13824           
0021    SYS2LIB.OBJ                          1984.11.26-07:16 1987.02.04-04:15 1987.02.23-10:57       68608      68608    O       
002a    SYSTEM.BADPAGEMSG.LOTUS              1984.04.11-11:24 1987.02.04-04:15 1987.02.23-10:57        1024       1024   CO       
        (0000) +->DocumentName: LisaWrite Paper 04/11
0005    SYSTEM.BT_PRIAM DISK                 1984.04.17-08:13 1987.02.04-04:14 1987.02.04-04:14       11264      11264           
002d    SYSTEM.CD_SERIAL CABLE               1984.05.25-06:21 1987.02.04-04:15 1987.02.23-08:12        7168       7168           
002e    SYSTEM.CIALERTS.PHRASE               1984.06.07-07:17 1987.02.04-04:15 1987.02.23-08:12        2346       2560   C       
002f    SYSTEM.CNALERTS.PHRASE               1984.06.07-07:17 1987.02.04-04:15 1987.02.23-08:12        2114       2560   C       
0030    SYSTEM.DMALERTSPHRASE                1984.02.01-10:15 1987.02.04-04:15 1987.02.23-10:57       47012      47104   CO       
0031    SYSTEM.DW.PHRASE                     1984.06.07-07:17 1987.02.04-04:15 1987.02.23-08:12        2531       2560   C       
0010    SYSTEM.LLD                           1984.04.04-10:20 1987.02.04-04:14 1987.02.04-04:14       10240      10240           
0032    SYSTEM.PARENT.PHRASE                 1984.06.07-07:17 1987.02.04-04:15 1987.02.23-10:57        3483       3584   C       
0033    SYSTEM.PR.PHRASE                     1984.06.07-07:17 1987.02.04-04:15 1987.02.23-10:57        2459       2560   C       
0034    SYSTEM.PRD                           1984.04.17-12:19 1987.02.04-04:15 1987.02.23-08:12         402        512           
0044    System.PrData                        1987.02.04-04:20 1987.02.23-10:57 1987.02.23-10:57        2048       2048           
007f    {D39T1}                              1987.02.23-07:31 1987.02.23-07:31 1987.02.23-07:31        1024       1024           
        (0000) +->DocumentName: meow
007e    {D40T1}                              1987.02.23-07:36 1987.02.23-07:36 1987.02.23-07:36        1024       1024           
        (0000) +->DocumentName: meow2
0058    {F11}                                1987.02.04-04:21 1969.01.18-22:14 1987.02.04-04:21           0          0           
        (0000) +->DocumentName: LisaCalc Examples
005d    {F15}                                1987.02.04-04:21 1969.01.18-22:14 1987.02.04-04:21           0          0           
        (0000) +->DocumentName: LisaDraw Examples
006d    {F27}                                1987.02.04-04:23 1969.01.18-22:14 1987.02.04-04:23           0          0           
        (0000) +->DocumentName: tools
006e    {F28}                                1987.02.04-04:25 1969.01.18-22:14 1987.02.04-04:25           0          0           
        (0000) +->DocumentName: examples
0078    {F36}                                1987.02.11-12:45 1969.01.18-22:14 1987.02.11-12:45           0          0           
        (0000) +->DocumentName: LisaWrite Examples
006f    {F7}                                 1987.02.04-04:20 1969.01.18-22:14 1987.02.04-04:30           0          0           
        (0000) +->DocumentName: Empty Folders
0073    {T10}obj                             1984.06.15-10:30 1987.02.04-04:28 1987.02.04-04:28       55808      55808         f  bozo:0100
        (0000) +->DocumentName: LisaTerminal
0039    {T11}BUTTONS                         1984.05.01-06:18 1987.02.04-04:15 1987.02.04-04:15       41472      41472           
0042    {T11}obj                             1984.06.15-08:08 1987.02.04-04:15 1987.02.04-04:15       31232      31232           
        (0000) +->DocumentName: Preferences
003a    {T11}PHRASE                          1984.03.05-11:30 1987.02.04-04:15 1987.02.04-04:15       11209      11264           
0043    {T12}obj                             1984.06.15-08:09 1987.02.04-04:15 1987.02.04-04:15       23552      23552           
        (0000) +->DocumentName: Calculator
003b    {T12}PHRASE                          1984.02.28-12:35 1987.02.04-04:15 1987.02.04-04:15        4617       5120           
003c    {T13}obj                             1984.06.15-08:09 1987.02.04-04:15 1987.02.04-04:15       11264      11264           
        (0000) +->DocumentName: Clock
003d    {T13}obj1                            1984.06.15-08:09 1987.02.04-04:15 1987.02.04-04:15        2048       2048           
003e    {T13}PHRASE                          1984.03.01-07:31 1987.02.04-04:15 1987.02.04-04:15        2142       2560           
0070    {T1}dbox.text                        1984.01.22-08:42 1987.02.11-12:44 1987.02.11-12:44        2048       2048           
0075    {T1}OBJ                              1984.10.04-12:06 1987.02.11-12:44 1987.02.23-10:57      120320     120320    O       
        (0000) +->DocumentName: LisaWrite
0076    {T1}phrase                           1984.03.20-13:10 1987.02.11-12:44 1987.02.23-10:57       12613      12800   CO       
0077    {T1}search.lotus                     1983.08.29-10:31 1987.02.11-12:44 1987.02.23-10:57        1024       1024    O       
005f    {T2}obj                              1984.06.15-10:28 1987.02.04-04:21 1987.02.04-04:21       31744      31744         f  bozo:0100
        (0000) +->DocumentName: LisaGraph
0060    {T2}PHRASE                           1984.03.01-10:19 1987.02.04-04:21 1987.02.04-04:21       26117      26624           
0061    {T2}tables                           1983.10.03-11:40 1987.02.04-04:21 1987.02.04-04:21        3072       3072           
0050    {T3}CircleBox                        1983.11.23-09:53 1987.02.04-04:20 1987.02.04-04:20         512        512           
0051    {T3}FindBox                          1983.11.23-10:03 1987.02.04-04:20 1987.02.04-04:20         512        512           
0052    {T3}funchints                        1983.08.29-10:24 1987.02.04-04:20 1987.02.04-04:20       10240      10240           
0053    {T3}obj                              1984.06.15-10:28 1987.02.04-04:20 1987.02.04-04:20        3584       3584         f  bozo:0100
        (0000) +->DocumentName: LisaCalc
0054    {T3}PHRASE                           1984.03.01-10:17 1987.02.04-04:20 1987.02.04-04:20       27443      27648           
0055    {T3}PrintBox                         1983.11.23-11:56 1987.02.04-04:20 1987.02.04-04:20         512        512           
0056    {T3}StatusBox                        1984.03.27-13:46 1987.02.04-04:21 1987.02.04-04:21         512        512           
0057    {T3}tables                           1983.10.03-11:40 1987.02.04-04:21 1987.02.04-04:21        3072       3072           
005a    {T4}checkforms.text                  1984.03.22-10:34 1987.02.04-04:21 1987.02.04-04:21        3072       3072           
005b    {T4}obj                              1984.06.15-10:28 1987.02.04-04:21 1987.02.04-04:21      102400     102400         f  bozo:0100
        (0000) +->DocumentName: LisaDraw
005c    {T4}PHRASE                           1984.03.20-07:11 1987.02.04-04:21 1987.02.04-04:21        9437       9728           
0064    {T5}dbcPHRASE                        1984.03.19-12:18 1987.02.04-04:22 1987.02.04-04:22        4359       4608           
0066    {T5}obj                              1984.06.15-10:28 1987.02.04-04:22 1987.02.04-04:22      121856     121856         f  bozo:0100
        (0000) +->DocumentName: LisaList

lisafsh>
Logged
You don't know what it's like, you don't have a clue, if you did you'd find yourselves doing the same thing, too, Writing the code, Writing the code

stepleton

  • Sr. Member
  • ****
  • Karma: +127/-0
  • Offline Offline
  • Posts: 425
Re: new lisafsh-tool/libdc42 release
« Reply #1 on: February 26, 2021, 02:21:29 pm »

Congrats, Ray! Looks nice. Wish I had some good suggestions for you for your password puzzle...
Logged

rayarachelian

  • Administrator
  • Hero Member
  • *****
  • Karma: +105/-0
  • Offline Offline
  • Posts: 772
  • writing the code,writing the code,writing the code
    • LisaEm
Re: new lisafsh-tool/libdc42 release
« Reply #2 on: February 26, 2021, 04:17:30 pm »

Congrats, Ray! Looks nice. Wish I had some good suggestions for you for your password puzzle...

thx, I think it means that there's a set of universal desktop document libraries somewhere that every LOS Application uses for unified document saving/opening, and in there is key to this. It's an interesting implementation, no encryption, but it makes it useless for importing files into LOS without writing an LOS app.

It means that unless I just want to pass a plain text file to LPW, if I want to import something into LOS, I have to write some app in LOS that copies stuff to the clipboard so it can be pasted into things like LisaWrite. So that's a bit unfriendly.

It doesn't protect the files in a forensic way, you can still read the data, but good luck interpreting it.

I've used the tracelog to capture when LOS tries to open a passworded document, so I have the assembly dump somewhere, just have to read through ~300-500MB worth of logs to find it and then figure out the algorithm it uses. It doesn't seem to be complex, but still, externally from outside of LOS, it would need a lot of info to remove the password. I'd need to figure out all the data that's checkedsummed. Is it just the document bytes, or also parts of the extent, such as the dates? Is the file id also used? etc. Once I can generate a checksum externally, then I can overwrite the password entry and remove the password.

Since the password is also hashed, it may be possible to recover it if it's less than 7 chars, but maybe not.
Logged
You don't know what it's like, you don't have a clue, if you did you'd find yourselves doing the same thing, too, Writing the code, Writing the code

stepleton

  • Sr. Member
  • ****
  • Karma: +127/-0
  • Offline Offline
  • Posts: 425
Re: new lisafsh-tool/libdc42 release
« Reply #3 on: February 26, 2021, 04:45:47 pm »

Quote
if I want to import something into LOS, I have to write some app in LOS that copies stuff to the clipboard so it can be pasted into things like LisaWrite.

Note that one of the sample programs that comes with the Lisa Toolkit is a text file viewer that runs in the Office System. I don't remember if it lets you copy and paste, but if it does, that could be your temporary Workshop to Office System bridge. It's not all that user-friendly: you have to remember the path and filename of the file you want to open so that you can type it in by hand. (I guess the Workshop editor is no different, though!)
Logged

rayarachelian

  • Administrator
  • Hero Member
  • *****
  • Karma: +105/-0
  • Offline Offline
  • Posts: 772
  • writing the code,writing the code,writing the code
    • LisaEm
Re: new lisafsh-tool/libdc42 release
« Reply #4 on: February 26, 2021, 05:04:16 pm »

Note that one of the sample programs that comes with the Lisa Toolkit is a text file viewer that runs in the Office System. I don't remember if it lets you copy and paste, but if it does, that could be your temporary Workshop to Office System bridge. It's not all that user-friendly: you have to remember the path and filename of the file you want to open so that you can type it in by hand. (I guess the Workshop editor is no different, though!)

Sounds like that's the way to go. I recently tried, but couldn't reproduce it, but I recalled that the LPW Editor does have some sort of file picker in it, but I can't remember how to invoke it, whether it was for saving a few file with a new name, or to open an existing one while you're inside the Editor and not in the main LPW menu.

One of these days I'll have to read the Pascal/Workshop books and figure out how to write code for it. :) Can't be avoided no matter how much I dislike Pascal (or rather, I should say prefer C)
Logged
You don't know what it's like, you don't have a clue, if you did you'd find yourselves doing the same thing, too, Writing the code, Writing the code
Pages: [1]   Go Up