|
Subscribers H/PC Elite Posts: | 749 |
Location: | United States | Status: | |
| p.s. There is also some linkage from the exe to a DLL that contains tokens relating to the format of the files found in your "Catalog Data" folder you sent me. I think what happens is it parses catalog.xml for the links to those .dat/.png/.txt files and goes out and gets those to populate the catalog. So, it's also possible that the problem with my file is I'm using dummy values. |
|
|
|
Subscribers H/PC Elite Posts: | 749 |
Location: | United States | Status: | |
| Looking at this more now I'm thinking the "Description" "Preview" "EULA" and "Name" are supposed to be the default names of the files corresponding to the ones currently named "descript" "License" "Name" and "preview" in the "Customize Data" folders, not fields in the XML file. |
|
|
|
Subscribers H/PC Vanguard Posts: | 3,689 |
Location: | Japan | Status: | |
| thenzero - 2023-08-27 12:04 AM
Sorry I should have clarified- yes, the mobileCustom app will try to download whatever you specify in the box. Looking at the default, it should be pointing to the aforementioned catalog.xml.
Here's my current best guess at the format (still not working though):
<?xml version="1.0" encoding="utf-8"?>
<Item Name="Package A" Author="Some Dude" URL="http://google.com" Link="http://google.com" Type="1" Description="Yes it is" EULA="http://google.com" Mode="2"></Item>
<EndItem>mobileCustom</EndItem>
Being a Japanese, I think they didn’t use UTF-8 back then in the XML. I might be wrong, but we’ve used Shift_JIS a lot. Especially in Windows environment. Edited by stingraze 2023-08-26 3:35 PM
|
|
|
|
Subscribers H/PC Elite Posts: | 749 |
Location: | United States | Status: | |
| Oh! Thanks, great point |
|
|
|
Subscribers H/PC Vanguard Posts: | 3,689 |
Location: | Japan | Status: | |
| Good news. I think I found the schema.
cat 3001.dat
Date=2003-05-28
Size=673000
Name=Auto Web Recorder
URL=http://www.pdabiz.jp/mobileCustom/Catalog/CE.NET/XSC/3001/awebrecsig3.CAB
URL=http://www.pdabiz.jp/mobileCustom/Catalog/CE.NET/XSC/3001/License.txt
Author=http://www.aicon.co.jp/
Extend1=version="1.0"
EndItem=mobileCustom
I think that is the schema, located in
~/Default/Catalog Data/AppInst
Each .dat has this file structure, so if we can convert it to XML that will be cool.
(Not all .dat numbered as 3xxx seem to have the data in txt for some reason though )
-stingraze Edited by stingraze 2023-08-26 11:45 PM
|
|
|
|
Subscribers H/PC Elite Posts: | 749 |
Location: | United States | Status: | |
| Unfortunately I think that is the schema of the files that are supposed to be pointed to by catalog.xml. If you look up thread, I discovered that the catMENU.exe links to a DLL that will read that exact format as is (no XML) with the brackets and everything. I'm almost 100% sure that the schema is as I posted earlier in the thread, I'm just not sure of the data types, order, etc.
p.s. Try this experiment: create catalog.xml. Put something like
<?xml version="1.0" encoding="Shift_JIS"?>
<RandomXML>Woohoo random!</RandomXML>
<EndItem>mobileCustom</EndItem>
Point mobileCustom at it and hit "Download Catalog". It will download this fine and not complain because it's IGNORING "RandomXML" tag.
Now try the same experiment but change RandomXML to "Item". It will throw an error!
If I had an armv4 disassembler I could figure this out in a second. :-/ |
|
|
|
Subscribers H/PC Vanguard Posts: | 3,689 |
Location: | Japan | Status: | |
| Ok.
You could try this armv4 disassembler.
https://github.com/jsmolka/disarmv4t
Maybe I'll try strings command on the .exe file if I'm able to extract it from the ROM.
I also noticed that there is the "Size" (File Size ) in the Mobile Custom after proceeding from Open Catalog. I think it indeed points to that .dat file or else it has to compute the size each time, which I think couldn't or wouldn't be done with a device with 64MB of RAM. But I don't know... maybe the OS already calculates it? haha
https://www.quora.com/Why-does-Windows-calculate-file-sizes-twice-Getting-properties-on-a-folder-calculates-its-size-the-first-time-then-deleting-the-folder-it-inefficiently-does-so-a-second-time-Why-not-leave-a-breadcrumb-file-of-the
-stingraze Edited by stingraze 2023-08-27 12:16 AM
|
|
|
|
Subscribers H/PC Elite Posts: | 749 |
Location: | United States | Status: | |
| I ended up getting radare (https://github.com/radareorg/radare2/releases)! Seems pretty awesome.
I found this:
0x000185c0 hit5_0 .ItemModeExtend3Extend2Extend.
0x000185c8 hit5_1 .ModeExtend3Extend2Extend1Author.
0x000185d0 hit5_2 .Extend3Extend2Extend1AuthorURL\.
So that looks like Item, Mode, Extend3, Extend2, Extend1, Author, URL. |
|
|
|
Subscribers H/PC Vanguard Posts: | 3,689 |
Location: | Japan | Status: | |
| Cool. Nice work!
-stingraze
Update 8/27/2023 9:22AM JST: Running strings on the catMENU.exe produced these strings:
!This program cannot be run in DOS mode.
fRich.
.text
`.rdata
@.data
.pdata
@.rsrc
commctrl.dll
COREDLL.dll
lpngce.dll
DATA_GetPath
DATA_AddInfo
DATA_NewItem
DATA_ChkItem
DATA_DelItem
catDATA.dll
NET_GetErrMess
NET_StopSession
NET_SetCfgDlg
NET_SetHostName
NET_LoadWinInet
NET_FreeWinInet
NET_RasHangup
NET_ExitSession
NET_IsConnect
NET_GetCfgStr
NET_RasDialup
NET_WMNetConn
NET_GetURLFile
NET_InitSession
catNET.dll
REG_LoadInt
catREG.dll
TYPE_GetItem
TYPE_AddItem
TYPE_ChkItem
TYPE_GetPath
catTYPE.dll
XML_Free
XML_Parse
XML_MakeURL
XML_GetVal
XML_Search
catXML.dll
0W0_0
~0Y0K0
0L01YWeW0~0W0_0
D0~0Y0K0
1.2.3
EndItem
mobileCustom
/Item
Preview
EULA
O(u1
Description
Name
g-Ng0Y0
href
0-Ng0Y0
date
size
type
Item
Mode
Extend3
Extend2
Extend1
Author
inst
csel
0-Ng0Y0
Type
name
Link
0-Ng0Y0
0-Ng0Y0
0-Ng0Y0
0-Ng0Y0
DD@p
DDD@p
fdDD@p
fffDD@p
ffDD@p
ffd@
W0f0D0~0Y0
S0n0~0~0
}Q0~0Y0K0
}k01YWeW0_0K0
0_0_0
}g0M0~0[0
0g0W0_0
0k01YWeW0~0W0_0
0k01YWeW0~0W0_0
0k01YWeW0~0W0_0
0k01YWeW0~0W0_0
\Omi(u
Ok01YWeW0~0W0_0
Sk01YWeW0~0W0_0
0n0\O
bk01YWeW0~0W0_0
Edited by stingraze 2023-08-27 1:24 AM
|
|
|
|
Subscribers H/PC Elite Posts: | 749 |
Location: | United States | Status: | |
| The strings with all the W's and 0's are japanese messages from the dialogs etc
|
|
|
|
Subscribers H/PC Vanguard Posts: | 3,689 |
Location: | Japan | Status: | |
| I think there is a function called "XML_Parse" that parses the XML.
If we could look into that, maybe more clues.
-stingraze
Edited by stingraze 2023-08-27 2:35 AM
|
|
|
|
Subscribers H/PC Elite Posts: | 749 |
Location: | United States | Status: | |
| OK a few advances here-
1. After studying the disassembly, I have determined that the format is actually this:
<Item type="" uid="" size="" date="" href="" />
2. Part of the earlier confusion is because in the middle of reading the catalog.xml, the program jumps over to read in the .dat file so linked from the "href" tag; so just looking at the strings you see a jumble of the two! Also note that there is no "EndItem" tag in the catalog.xml as I previously believed, that is just part of the .dat file reading process. In fact there is nothing but <Item... as indicated above.
3. Here is a working-ish example:
<Item type="CAB" uid="3001" size="673000" date="2003-05-28" href="http://thenzerogames.com/Default/CatalogData/AppInst/3001.dat" />
I say "ish" because even though mobileCustom correctly parses this file now with no errors, it's still not actually showing anything in the catalog after it loads which leads me to....
4. This copy of the mobilecustom archive appears to be from an older or newer version of mobileCustom than the executable that I have. I say that because the executable appears to be looking for a "EULA" tag and a file called "EULA.eul" in the dat file, but what we have is a "URL" tag pointed at a "License.txt". So I think we're going to have to fix that somehow, by updating the .dat files and changing the name of the license file, maybe.
Edit: I have confirmed that with the above format, mobileCustom is now pulling the .dat file from my webserver instead of just the single file it's pointed to as before! Progress.
Edited by thenzero 2023-08-27 5:43 AM
|
|
|
|
Subscribers H/PC Elite Posts: | 749 |
Location: | United States | Status: | |
| The thought just occurred to me that type is probably supposed to be AppInst but I'll check further tomorrow. |
|
|
|
Subscribers H/PC Elite Posts: | 749 |
Location: | United States | Status: | |
| Confirmed. Type should be "AppInst" or "DeskTheme". Looking in the \Download Data folder, I'm now seeing your original folder structure being re-created! Must be where this archival copy came from in the first place.
p.s. Gonna try just copying your folders into that Download Data folder to see if mobileCustom will pick it up that way...
Edited by thenzero 2023-08-27 7:16 PM
|
|
|
|
Subscribers H/PC Elite Posts: | 749 |
Location: | United States | Status: | |
| Haha that did work :-D |
|
|