16
Casio Calculators / Re: Extract Prizm OS 1.03+ from the updater
« on: September 21, 2012, 09:47:35 am »Quote
ISSetupFile.SetupFile3 is detected as having the same file format as a g3a add-in, so it must be our OS.
Well, you are wrong. This is the Geometry add-in version 1.01
It seems as if it is automatically updated when updating the OS; however, the OS is still encrypted inside the OSupdateDLL file... but no more: I asked Goplat to add support for newer DLL files, asked him to give me the source code, but he didn't respond. And that's why I called my friend the disassembler and we did it!
So here we go...
+++ Overview of encrypted Casio setups and compatible extraction tools +++
Explanation: The legacy setups contained the two resources UpdateExe.bin and UpdateCode.bin
- UpdateExe.bin is the on-calc OS updater taking over control during the update process
- UpdateCode.bin is the calculator OS image without user flash storage area
UpdateExe.bin is only a few kilobytes large, whereas UpdateCode.bin is about 12 megabytes for Prizm OSes and 2.5 megabytes for fx-9860G/GII OSes.
To use these tools, copy the "OSupdateDLL.dll" file obtained from your %temp% directory while the Casio setup was running, to the same directory as the executable file.
fx-CG 10 OS 1.02 Setup
- resource 3063 (0x0BF7), magic byte: 0x7F, UpdateExe.bin
- resource 3064 (0x0BF8), magic byte: 0x08, UpdateCode.bin
- file "extract_cg10_102.exe"
Code: [Select]
Changes to Goplat's tool:
None
fx-CG 10 OS 1.03 Setup
- resource 3081 (0x0C09), magic byte: 0x7F, UpdateExe.bin
- resource 3084 (0x0C0C), magic byte: 0x08, UpdateCode.bin
- file "extract_cg10_103.exe"
Code: [Select]
Changes to Goplat's tool:
0x0732 : 0xF70B -> 0x090C
0x07C7 : 0xF70B -> 0x090C
0x07DA : 0xF80B -> 0x0C0C
0x090D : 0xF90B -> 0x0D0C
fx-CG 20 OS 1.03 Setup
fx-CG 10/20 OS 1.04 Setup
- resource 3069 (0x0BFD), magic byte: 0x7F, UpdateExe.bin
- resource 3070 (0x0BFE), magic byte: 0x08, UpdateCode.bin
- file "extract_cg1020_10x.exe"
Code: [Select]
Changes to Goplat's tool:
0x0732 : 0xF70B -> 0xFD0B
0x07C7 : 0xF70B -> 0xFD0B
0x07DA : 0xF80B -> 0xFE0B
0x090D : 0xF90B -> 0xFF0B
fx-9860G OS 2.01 Setup
fx-9860G AU OS 2.01 Setup
GRAPH 85 OS 2.01 Setup
- resource 3037 (0x0BDD), magic byte: 0x39, UpdateExe.bin
- resource 3040 (0x0BE0), magic byte: 0x34, UpdateCode.bin
- resource 3041 (0x0BE1), magic byte: 0xD8, UpdateCode.bin
- file "extract0_9860g_201.exe"
Code: [Select]
Changes to Goplat's tool:
0x0732 : 0xF70B -> 0xDD0B
0x07C7 : 0xF70B -> 0xDD0B
0x07CC : 0x0A -> 0x22
0x090D : 0xF90B -> 0xDE0B
0x1078 : 0x7F -> 0x39
- file "extract_9860g_201.exe"
Code: [Select]
Changes to Goplat's tool:
0x0732 : 0xF70B -> 0xE00B
0x07C7 : 0xF70B -> 0xE00B
0x07DA : 0xF80B -> 0xE10B
0x090D : 0xF90B -> 0xE20B
0x1078 : 0x7F -> 0x34
0x107A : 0x08 -> 0xD8
fx-9860GII OS 2.01 Setup
fx-9860G AU PLUS OS 2.01 Setup
GRAPH 75/95 OS 2.01 Setup
- resource 3078 (0x0C06), magic byte: 0xAE, UpdateExe.bin
- resource 3071 (0x0BFF), magic byte: 0xD3, UpdateCode.bin
- resource 3073 (0x0C01), magic byte: 0xD3, UpdateCode.bin
- resource 3074 (0x0C02), magic byte: 0x33, UpdateCode.bin
- file "extract0_9860g2_201.exe"
Code: [Select]
Changes to Goplat's tool:
0x0732 : 0xF70B -> 0xFF0B
0x07C7 : 0xF70B -> 0x060C
0x07DA : 0xF80B -> 0xFF0B
0x090D : 0xF90B -> 0x070C
0x1078 : 0x7F -> 0xAE
0x107A : 0x08 -> 0xD3
- file "extract_9860g2_201.exe"
Code: [Select]
Changes to Goplat's tool:
0x0732 : 0xF70B -> 0x010C
0x07C7 : 0xF70B -> 0x010C
0x07DA : 0xF80B -> 0x020C
0x090D : 0xF90B -> 0x030C
0x1078 : 0x7F -> 0xD3
0x107A : 0x08 -> 0x33