LisaList2
General Category => LisaList2 => Topic started by: rayarachelian on February 25, 2021, 10:16:21 pm
-
https://github.com/rayarachelian/lisafsh-tool-libdc42.git (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: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:
-----------------------------------------------------------------------------
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>
-
Congrats, Ray! Looks nice. Wish I had some good suggestions for you for your password puzzle...
-
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.
-
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!)
-
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)