Mac Pro 5.1 Rom / Firmware Backup Beschreibung und technischer Hintergrund

Hallo @Macschrauber , verstehe ich das richtig, daß der Dumper grundsätzlich auch mit anderen Macs mit Intel als den Mac Pros funktionieren sollte? Ich frage, da ich nicht so tief in der Materie stehe wie Du. Gerne würde ich für dich einen Test mit dem Dumper auf meinem iMac machen, wenn das Sinn macht. Bevor ich da aber etwas falsch mache, und mein iMac danach nicht mehr zu gebrauchen ist, frage ich lieber erst einmal.

Die Daten zu meinem iMac siehst du im Foto. Big Sur mit OCLP. Mit einer externen HDD könnte ich den Test auch mit El Capitan machen, dem letzten System, das den iMac offiziell unterstützt.

Die 2009er sollten auszulesen sein. Beim Auslesen passiert in der Regel nichts. Vom iMac 2011 hab ich gehört dass der beim Auslesen hart abschmiert. Deshalb hab ich eine Warnung programmiert.

Flashen unterstütze ich mit dem Dumper auf nicht - Mac Pros sowieso nicht. Ich möchte nicht verantwortlich sein wenn da was schief geht. Den Mac Pro kann ich reparieren, die anderen Kisten möchte ich nicht anfassen. Keine Lust auf geklebte Gehäuse oder Rechner wo man durch den Monitor zum Board kommen muss.
 
  • Gefällt mir
Reaktionen: dg2rbf und Freeez
@Macschrauber , auslesen muss ich für mich selber nicht unbedingt. Da dachte ich eher daran, daß die Daten für dich interessant wären, weil du um Tests auf "nicht Mac Pros" gebeten hast. Mal sehen, vielleicht werde ich in nächster Zeit den iMac auslesen. Wenn es soweit ist, melde ich mich noch einmal.
 
@Macschrauber , auslesen muss ich für mich selber nicht unbedingt. Da dachte ich eher daran, daß die Daten für dich interessant wären, weil du um Tests auf "nicht Mac Pros" gebeten hast. Mal sehen, vielleicht werde ich in nächster Zeit den iMac auslesen.
Das kann für jeden interessant sein wenn das Bootrom eines Macs um plusminus 2010 MS Zertifikate bekommt. Die Arbeitsweise ist die Gleiche und ungesund ist das für die anderen Macs genauso.

Nur werden naturgemäß auf einem Rechner wo man nicht mit einem Handgriff Laufwerke einstecken kann weniger "Fremd"Systeme wie Windows installiert.
 
Das kann für jeden interessant sein wenn das Bootrom eines Macs um plusminus 2010 MS Zertifikate bekommt. Die Arbeitsweise ist die Gleiche und ungesund ist das für die anderen Macs genauso.

Aha, da habe ich wieder etwas dazugelernt. Dann werde ich demnächst den Test durchführen und mich wieder melden, damit Du die Daten bekommst.
 
Neue Version vom Dumper (26-5-2023)

-> Fehlerbehebung:
- "falsche" Firmware durch OpenCore war wieder in den Filenamen, behoben.
- Im ch341a mode wurde der SST25VF032B spi flash chip nicht erkannt, behoben.
Fehler in Mavericks, nach Fashen von generischer Firmware ohne Identität (Seriennummer, Board ID etc) wurde der Mac Pro nicht über die SMC Version erkannt, behoben.

-> neu:
MacBook Air 1,1 auslesen
einige Macs sind in einer Positivliste nachdem nachgewiesen wurde das Flashrom / DosDude's Rom Tool sie auslesen können.
 
Neue Version vom Dumper (2-6-2023)

-> Änderungen / Neuerungen:
- nur noch eine Version von MacOs 10.6 bis 13
. Da ich die alt-Taste für das Flashen nicht mehr brauche hab ich die Tastenkombinationen (Shift, Alt, Cmd etc) aufgegeben. Wurden eh so gut wie nie verwendet. Der Unterschied bei den zwei Versionen war nur das Auswerten der Tasten.

- Auswerten der OCBt00xx Variable. Ich hatte ein gebricktes Board wo diese Variablen Amok liefen. Jetzt meldet der Dumper es hoffentlich rechtzeitig.

- MacMini 2,1 auslesen

- Fehler im Log durch das display notification Kommando in Systemen älter als Mountain Lion. Der Error -1750 bei uralten Systemen (10.5, 10.6, 10.7) bleibt am Ende. Rein kosmetisch. Wen es stört: die Zeile mit «event sysonotf» entfernen oder auskommentieren.

- Auf Wunsch (mit einem extra Tool): Verschlüsseltes Speichern des Admin Passwortes, notwendig für RomTool und DIrectHW.
Ist an das Startvolume gebunden. Der Mac kann wechseln, wenn das Startvolume gewechselt wird kann man den Key neu generieren.


Dropbox geht wieder (mal schaun wie lange). Der alte Link war leider nicht mehr wieder zu aktivieren).
 
  • Gefällt mir
Reaktionen: Freeez
Der Dumper und die Tools im Hintergrund (Flashrom, Scanvss, UefiExtract, Macserial) laufen unter Mac Os 14 Sonoma

Dumper on Sonoma.png
 
  • Gefällt mir
Reaktionen: Freeez
Neue Version vom Dumper (18-6-2023)



-> Sonoma support


-> Warnung bei Überschreitung des NVRAM Variablen Limits, Farben für test_nvram im Terminalmodus, Anzeige normaler/gelöschter Varsiablen nach VSSx healthy, ein ESP-Tool für das mounten von ESPs mit detaillierten Informationen über das Laufwerk und die physikalische Position des Datenträgers.



Screenshot 2023-06-18 at 17.08.51.png



Screenshot 2023-06-16 at 14.20.22.png

eines der ESP Tools in Tweaks/ESP Tools


die Links:

https://forums.macrumors.com/thread...es.2333460/page-4?post=32055801#post-32055801
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: dg2rbf, Freeez, Retroniks und 2 andere
Aktualisierung vom 10.07.2023

Neuerungen in der aktuellen Version:

-> Bootxxxx, OCBtxxxx, BootOrder, OCBtOrder-Anzeige: Es werden die Bootvariablen und ihre Reihenfolge angezeigt und auch ihre Häufigkeit erfasst. Ich hatte erst ein Backplane mit Firmwaredefekt wo sich diese Variablen wild vermehrt haben. Der Dialog wurde dadurch deutlich größer und passt sich bei Bedarf an und zeigt den Inhalt auch in mehreren Teilen, wenn nötig.

Falls die Firmware Bootvariablen für UEFI Windows enthält, erhält der Benutzer einen Hinweis die Firmware vor dem Schreiben von Zertifikaten zu schützen.

-> Dumpen mit eficheck: Auf einigen Maschinen kann Eficheck die Firmware sichern. Leider nicht auf Mac Pros 1.1 bis 5.1. Wenn System Integrity Protection (SIP) für kext signing aktiv ist verwendet der Dumper Eficheck auf unterstützten Macs.

-> Das Hintergrund-Shell-Skript unterstützt noch mehr andere Macs: Im Hintergrund wurden zahlreiche zusätzliche Ausgaben für non-Mac Pros eingebaut. Bei Verwendung des Shell-Skripts als Befehlszeilentool erhält man mehr sensible und detailliertere Informationen. Die werden in der GUI nicht dargestellt weil die Erfahrung zeigt dass die Leute Screenshots unreflektiert posten.

-> Das Test_nvram Droplet wurde entfernt. Der Dumper übernimmt diese Funktion. Eine oder mehrere Dateien können in den Dumper gezogen und ausgewertet werden. Dies funktioniert nicht mit der .dmg, dazu die Anwendung in einen Ordner ohne Schreibschutz kopieren.



Screenshot 2023-07-10 at 22.27.28.png




Screenshot 2023-07-11 at 01.03.37.png





die Links:

https://c.gmx.net/@899644307915413392/EtnIwRTSSrujO4HOP60pag

https://forums.macrumors.com/thread...es.2333460/page-4?post=32055801#post-32055801
 
  • Gefällt mir
Reaktionen: Freeez, DL8LAQ, razormax und 4 andere
"kleines" Update vom Dumper (14-7-2023)


Anpassung der Darstellung VSS1 / VSS2 bei Firmwares neuer ~ 2013

Das NVRAM von nicht Classic Mac Pros bzw. von Macs ca. ab Baujahr 2013 unterscheidet sich im Aufbau und Verwendung:

Die beiden VSS Streams werden abwechselnd benutzt und haben entsprechende Header um den aktiven Stream zu markieren. Das Backup wird mit aktiven und gelöschten Variablen gefüllt bis es proppenvoll ist. Warum auch nicht, wäre ja Verschwendung.

Im Gegensatz zum NVRAM vom 5.1, dort ist das Backup (VSS2) immer auf dem zweiten Stream und er schreibt ständig auf den Zellen des ersten Stream (VSS1). Der zweite Stream wird nur einmal kurz als Puffer / Backup während der Garbage Collection benutzt.

Der Dumper bzw das Shell Script weiß das jetzt und ordnet VSS1 und VSS2 dem jeweils gültigen Stream zu.


Korrekte Firmwareversion für alle vom Dumper auslesbaren Firmwares

Nebenbei wurde einiges im Shell Skript hauptsächlich für nicht Mac Pros überarbeitet. Die Firmwareversionen werden so angezeigt wie der System Profiler sie zeigt und als Bios String. Wo möglich wird das Kompilierungsdatum (built date) mit angezeigt. Ist ein Anhaltspunkt ob die Firmware aktuell sein könnte.



Die Links:

https://c.gmx.net/@899644307915413392/EtnIwRTSSrujO4HOP60pag

https://forums.macrumors.com/thread...es.2333460/page-4?post=32055801#post-32055801
 
  • Gefällt mir
Reaktionen: DL8LAQ und Elebato
Bei manchen Systemen kommt die Meldung

Screenshot 2023-07-21 at 19.23.32.png


Lösung:

Kopiere die App zum Beipiel nach Dienstprogramme

und dann im Terminal:

Code:
xattr -cr /Applications/Utilities/RomDump\ Macschrauber.app

Ich vermute dass Apple's Malware Protection durch Flashrom getriggert wird. Das ist im Dumper enthalten und in den falschen Händen kann man damit ernsthaften Schaden anrichten.

Es schlagen auch andere Malwaretools / Virenscanner an. Dosdude hat das gleiche Problem mit Flashrom, deshalb verschlüsselt er den Download.
Bis jetzt hat das Verpacken in einer DMG genügt.

Bei nächster Revision schau ich ob man das abstellen kann.

und die DropBox ärgert auch wieder...
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Freeez
Update vom 23-7-2023

Was ist neu in der letzten Version:

-> das Shell-Skript kann jetzt mit Flashrom und mit Eficheck (für kompatible Macs, nicht Mac Pro 4,1/5,1) dumpen.

daher gibt es ein kleines Installer-Skript, um das Shell-Skript und die verwendeten Tools zu installieren. Dies ist optional, der Dumper funktioniert wie bisher. Mit diesem Shell-Skript können Dinge automatisiert werden, wie z.B. die Überprüfung des freien NVRAM-Speicherplatzes nach jedem Neustart.

Achtet darauf, die Seriennummern und IDs sehr privat zu halten, es könnte ein ernstes Sicherheitsproblem sein, sie zu veröffentlichen.



dumping mit Flashrom auf dem Mac Pro 5,1
Code:
MacPro51:~ username$ test_nvram -dump -MX25L3205D
...Requesting load of /users/username/Library/Application Support/Macschrauber/DirectHW.kext.
/users/username/Library/Application Support/Macschrauber/DirectHW.kext loaded successfully (or already loaded).

...reading /users/username/Downloads/23.07.2023_19-20-19_MX25L3205D_dump.bin
.../users/username/Downloads/23.07.2023_19-20-19_MX25L3205D_dump.bin was created
.../users/username/Downloads/23.07.2023_19-20-19_MX25L3205D_dump.bin.log was created

...com.coresystems.DirectHW unloaded and personalities removed.
===================================================
test_nvram_shell_script 23-Jul-2023 by Macschrauber
scanning: /users/username/Downloads/23.07.2023_19-20-19_MX25L3205D_dump.bin

Firmware 144.0.0.0.0 (latest) built on Fri Apr 12 12:43:00 2019
Bios Version: MP51.88Z.F000.B00.1904121248
MP51, Serial from firmware: CKxxxxxxEUG
LBSN: J5xxxxxxBH9A   BD: xxyyzzxxyyzz
hwc: EUG   son: 000xxxxxxxxxxxxxxxx
EnableGop 1.3 EFI module identified
CRC32 checksums: ok
Bootblock of 144.0.0.0.0 (rebuilt firmware)
Base_21 hardware descriptor
Boot000x is EFI\OC\OpenCore.efi (LauncherOption: Full)
OCLP: 0.6.8 | -allow_fv -allow_amfi | MacPro5,1
fmm-computer-name: MacPro51 (2)
boot-args: -no_compat_check keepsyms=1 debug=0x100 -lilubetaall -btlfxallowanyaddr ipc_control_port_options=0 -nokcmismatchpanic -disable_sidecar_mac
BootOrder: 1:Boot0080
Boot0080: \31F61C0A-1EAA-4D9B-BDD4-9786D5D5A009\System\Library\CoreServices\boot.efi
BootFFFF: \31F61C0A-1EAA-4D9B-BDD4-9786D5D5A009\System\Library\CoreServices\boot.efi
OCBtOrder: 1:OCBt0080
OCBt0080: \31F61C0A-1EAA-4D9B-BDD4-9786D5D5A009\System\Library\CoreServices\boot.efi
OCBt0081: Mac OS X \31F61C0A-1EAA-4D9B-BDD4-9786D5D5A009\System\Library\CoreServices\boot.efi
OCBtFFFF: \31F61C0A-1EAA-4D9B-BDD4-9786D5D5A009\System\Library\CoreServices\boot.efi
5 boots since last garbage collection, MTC counter: 106 - 111
VSS1                   VSS2
6 (1 active)           1 Memory Configs g (ok)
6 (1 active)           1 Memory Configs h (ok)
1 (1 active)           1 Memory Configs i (ok)
1 (1 active)           1 Memory Configs j (ok)
11 (11 active)         11 Kernel Panic dumps type B: Compressed (caution)
6 (1 active)           1 Kernel Panic dumps type A: Pointer type (ok)
0                      0 Microsoft certificates (ok)
1 (1 active)           1 BluetoothActiveControllerInfos (ok)
6 (1 active)           1 Boot PathProperties0000 (ok)
1 (1 active)           1 NVRAM PathProperties0000 (ok)
16854 bytes free space of 65464
VSS1 (Formatted) (Healthy), found 96 variables (58 valid, 38 deleted)
VSS2 (Formatted) (Healthy), found 58 variables (58 valid)
...renamed: 23.07.2023_19-20-19_MX25L3205D_dump.bin to MP51_144.0.0.0.0_CKxxxxxxEUG_EnableGop_1.3_23.07.2023_19-20-19.bin
...renamed: /users/username/Downloads/23.07.2023_19-20-19_MX25L3205D_dump.bin.log to /users/username/Downloads/MP51_144.0.0.0.0_CKxxxxxxEUG_EnableGop_1.3_23.07.2023_19-20-19.log


dumping mit eficheck auf dem MacBook Air 6,2
Code:
~ % test_nvram -dump -chip:eficheck
...reading /users/user/Downloads/23.07.2023_18-22-32_eficheck_dump.bin
Password:
.../users/user/Downloads/23.07.2023_18-22-32_eficheck_dump.bin was created

===================================================
test_nvram_shell_script 23-Jul-2023 by Macschrauber
scanning: /users/user/Downloads/23.07.2023_18-22-32_eficheck_dump.bin

8MB file detected, analysing in progress
Firmware 478.0.0.0.0 built on Fri Jan 13 17:47:58 PST 2023
Bios Version: MBA61.88Z.F000.B00.2301131747
MBA62, Serial from firmware: C17xxxxxxxxxx
hwc: G085   son: MD760D/
CRC32 checksums: ok
Base_18 hardware descriptor
fmm-computer-name: MacBook Air from user
BootOrder: 1:Boot0080
Boot0080: \7AFD3F6D-2719-4CA3-B821-FA9B4D74770B\System\Library\CoreServices\boot.efi
Boot0082: \7AFD3F6D-2719-4CA3-B821-FA9B4D74770B\System\Library\CoreServices\boot.efi
BootFFFF: \pDZ\A20E739E-78F6-3924-A686-272E77E54C35\System\Library\CoreServices\boot.efi
15 boots since last garbage collection, MTC counter: 86 - 101
VSS1                   VSS2
1 (1 active)           1 (1 active) Memory Configs g
1 (1 active)           1 (1 active) Memory Configs h
1 (1 active)           1 (1 active) Kernel Panic dumps type A: Pointer type (ok)
0                      0 Microsoft certificates (ok)
26 (1 active)          42 (1 active) Boot PathProperties0000 (ok)
11 (1 active)          12 (1 active) NVRAM PathProperties0000 (ok)
VSS1: found 177 variables (47 valid, 130 deleted)
VSS2: found 264 variables (50 valid, 214 deleted)
17785 bytes free space of 65456 in VSS1
416 bytes free space of 65456 in VSS2
...renamed: 23.07.2023_18-22-32_eficheck_dump.bin to MBA62_478.0.0.0.0_C17xxxxxxxx_23.07.2023_18-22-32.bin

voller Scan mit dem CLI Tool
Code:
Last login: Sun Jul 23 23:29:33 on ttys000
MacPro51:~ user$ test_nvram /Users/user/Downloads/CKxxxxxCEUG_144.0.0.0.0_gop_1.3_MX25L3205D_23.07.2023_23-34-10.bin -showall
===================================================
test_nvram_shell_script 23-Jul-2023 by Macschrauber
scanning: /Users/user/Downloads/CKxxxxxCEUG_144.0.0.0.0_gop_1.3_MX25L3205D_23.07.2023_23-34-10.bin
Firmware 144.0.0.0.0 (latest) built on Fri Apr 12 12:43:00 2019
Bios Version: MP51.88Z.F000.B00.1904121248
MP51, Serial from firmware: CKxxxxxCEUG
LBSN: J5xxxxxBH9A   BD: 10xxxx10xxxx
hwc: EUG   son: 00031xxxxxxxx
EnableGop 1.3 EFI module identified
CRC32 checksums: ok
Bootblock of 144.0.0.0.0 (rebuilt firmware)
Base_21 hardware descriptor
Boot000x is EFI\OC\OpenCore.efi (LauncherOption: Full)
OCLP: 0.6.8 | -allow_fv -allow_amfi | MacPro5,1
fmm-computer-name: MacPro51 (2)
MTC count (VSS1, Normal): 111
MTC count (VSS2, Normal): 106
MTC counts VSS1 (DELETED) (1): 106
MTC counts VSS1 (DELETED) (2): 107
MTC counts VSS1 (DELETED) (3): 108
MTC counts VSS1 (DELETED) (4): 109
MTC counts VSS1 (DELETED) (5): 110
boot-args: -no_compat_check keepsyms=1 debug=0x100 -lilubetaall -btlfxallowanyaddr ipc_control_port_options=0 -nokcmismatchpanic -disable_sidecar_mac
BootOrder: 1:Boot0080
Boot0080: \31F61C0A-1EAA-4D9B-BDD4-9786D5D5A009\System\Library\CoreServices\boot.efi
BootFFFF: \31F61C0A-1EAA-4D9B-BDD4-9786D5D5A009\System\Library\CoreServices\boot.efi
OCBtOrder: 1:OCBt0080
OCBt0080: \31F61C0A-1EAA-4D9B-BDD4-9786D5D5A009\System\Library\CoreServices\boot.efi
OCBt0081: Mac OS X \31F61C0A-1EAA-4D9B-BDD4-9786D5D5A009\System\Library\CoreServices\boot.efi
OCBtFFFF: \31F61C0A-1EAA-4D9B-BDD4-9786D5D5A009\System\Library\CoreServices\boot.efi
5 boots since last garbage collection, MTC counter: 106 - 111
VSS1                   VSS2
6 (1 active)           1 Memory Configs g (ok)
6 (1 active)           1 Memory Configs h (ok)
1 (1 active)           1 Memory Configs i (ok)
1 (1 active)           1 Memory Configs j (ok)
6 (1 active)           1 Kernel Panic dumps type A: Pointer type
11 (11 active)         11 Kernel Panic dumps type B: Compressed (caution)
0                      0 Microsoft certificates (ok)
1 (1 active)           1 BluetoothActiveControllerInfos (ok)
6 (1 active)           1 Boot PathProperties0000 (ok)
1 (1 active)           1 NVRAM PathProperties0000 (ok)
2 (2 active)           2 Boot00xx variables
2 (2 active)           2 OCbt00xx variables
16854 bytes free space of 65464
VSS1 (Formatted) (Healthy), found 96 variables (58 valid, 38 deleted)
VSS2 (Formatted) (Healthy), found 58 variables (58 valid)
---------------------
all variables in VSS1:
1 (ACPI Variable):AcpiGlobalVariable (Normal)
1 (Apple Backup Boot Variable):Boot0080 (Normal)
1 (Apple Backup Boot Variable):BootOrder (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0000 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0001 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0002 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0003 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0004 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0005 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0006 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0007 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0008 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0009 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo000K (Normal)
1 (Apple Boot Variable):AAPL,PanicInfoLog (Normal)
1 (Apple Boot Variable):AAPL,PathProperties0000 (Normal)
1 (Apple Boot Variable):EFIBluetoothDelay (Normal)
1 (Apple Boot Variable):IDInstallerDataV2 (Normal)
1 (Apple Boot Variable):LocationServicesEnabled (Normal)
1 (Apple Boot Variable):SystemAudioVolume (Normal)
1 (Apple Boot Variable):SystemAudioVolumeDB (Normal)
1 (Apple Boot Variable):_kdp_ipstr (Normal)
1 (Apple Boot Variable):bluetoothActiveControllerInfo (Normal)
1 (Apple Boot Variable):boot-args (Normal)
1 (Apple Boot Variable):csr-active-config (Normal)
1 (Apple Boot Variable):fmm-computer-name (Normal)
1 (Apple Boot Variable):ignition-failure-boot (Normal)
1 (Apple Boot Variable):ignition-failure-reason (Normal)
1 (Apple Boot Variable):prev-lang-diags:kbd (Normal)
1 (Apple Boot Variable):run-efi-updater (Normal)
1 (Apple NVRAM Variable):AAPL,PathProperties0000 (Normal)
1 (Apple NVRAM Variable):security-key (Normal)
1 (Apple Wireless Network Variable):preferred-count (Normal)
1 (Apple Wireless Network Variable):preferred-networks (Normal)
1 (EFI Global):Boot0001 (Normal)
1 (EFI Global):Boot0080 (Normal)
1 (EFI Global):BootFFFF (Normal)
1 (EFI Global):BootOrder (Normal)
1 (EFI Global):ConOutDev (Normal)
1 (EFI Global):Lang (Normal)
1 (EFI Global):MemoryConfig (Normal)
1 (EFI Global):MemoryConfih (Normal)
1 (EFI Global):MemoryConfii (Normal)
1 (EFI Global):MemoryConfij (Normal)
1 (EFI Global):PlatformLang (Normal)
1 (MTC variable):MTC (Normal)
1 (OpenCore Variable):OCBt0080 (Normal)
1 (OpenCore Variable):OCBt0081 (Normal)
1 (OpenCore Variable):OCBtFFFF (Normal)
1 (OpenCore Variable):OCBtOrder (Normal)
1 (OpenCore Variable):OCLP-Model (Normal)
1 (OpenCore Variable):OCLP-Settings (Normal)
1 (OpenCore Variable):OCLP-Version (Normal)
1 (OpenCore Variable):revblock (Normal)
1 (OpenCore Variable):revpatch (Normal)
1 (Setup Variable):Setup (Normal)
1 4c024000-2802-4a2a-8880-4a4088108c00:@@AB%` (Normal)
1 62bf9b1c-8568-48ee-85dc-dd3057660863:boot-feature-usage (Normal)
---------------------
4 (Apple Boot Variable):SystemAudioVolume (DELETED)
4 (Apple Boot Variable):SystemAudioVolumeDB (DELETED)
5 (Apple Boot Variable):AAPL,PanicInfoLog (DELETED)
5 (Apple Boot Variable):AAPL,PathProperties0000 (DELETED)
5 (EFI Global):MemoryConfig (DELETED)
5 (EFI Global):MemoryConfih (DELETED)
5 (EFI Global):_AGP_DISABLED (DELETED)
5 (MTC variable):MTC (DELETED)
---------------------
all variables in VSS2:
1 (ACPI Variable):AcpiGlobalVariable (Normal)
1 (Apple Backup Boot Variable):Boot0080 (Normal)
1 (Apple Backup Boot Variable):BootOrder (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0000 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0001 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0002 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0003 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0004 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0005 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0006 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0007 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0008 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo0009 (Normal)
1 (Apple Boot Variable):AAPL,PanicInfo000K (Normal)
1 (Apple Boot Variable):AAPL,PanicInfoLog (Normal)
1 (Apple Boot Variable):AAPL,PathProperties0000 (Normal)
1 (Apple Boot Variable):EFIBluetoothDelay (Normal)
1 (Apple Boot Variable):IDInstallerDataV2 (Normal)
1 (Apple Boot Variable):LocationServicesEnabled (Normal)
1 (Apple Boot Variable):SystemAudioVolume (Normal)
1 (Apple Boot Variable):SystemAudioVolumeDB (Normal)
1 (Apple Boot Variable):_kdp_ipstr (Normal)
1 (Apple Boot Variable):bluetoothActiveControllerInfo (Normal)
1 (Apple Boot Variable):boot-args (Normal)
1 (Apple Boot Variable):csr-active-config (Normal)
1 (Apple Boot Variable):fmm-computer-name (Normal)
1 (Apple Boot Variable):ignition-failure-boot (Normal)
1 (Apple Boot Variable):ignition-failure-reason (Normal)
1 (Apple Boot Variable):prev-lang-diags:kbd (Normal)
1 (Apple Boot Variable):run-efi-updater (Normal)
1 (Apple NVRAM Variable):AAPL,PathProperties0000 (Normal)
1 (Apple NVRAM Variable):security-key (Normal)
1 (Apple Wireless Network Variable):preferred-count (Normal)
1 (Apple Wireless Network Variable):preferred-networks (Normal)
1 (EFI Global):Boot0001 (Normal)
1 (EFI Global):Boot0080 (Normal)
1 (EFI Global):BootFFFF (Normal)
1 (EFI Global):BootOrder (Normal)
1 (EFI Global):ConOutDev (Normal)
1 (EFI Global):Lang (Normal)
1 (EFI Global):MemoryConfig (Normal)
1 (EFI Global):MemoryConfih (Normal)
1 (EFI Global):MemoryConfii (Normal)
1 (EFI Global):MemoryConfij (Normal)
1 (EFI Global):PlatformLang (Normal)
1 (MTC variable):MTC (Normal)
1 (OpenCore Variable):OCBt0080 (Normal)
1 (OpenCore Variable):OCBt0081 (Normal)
1 (OpenCore Variable):OCBtFFFF (Normal)
1 (OpenCore Variable):OCBtOrder (Normal)
1 (OpenCore Variable):OCLP-Model (Normal)
1 (OpenCore Variable):OCLP-Settings (Normal)
1 (OpenCore Variable):OCLP-Version (Normal)
1 (OpenCore Variable):revblock (Normal)
1 (OpenCore Variable):revpatch (Normal)
1 (Setup Variable):Setup (Normal)
1 4c024000-2802-4a2a-8880-4a4088108c00:@@AB%` (Normal)
1 62bf9b1c-8568-48ee-85dc-dd3057660863:boot-feature-usage (Normal)


und etliche Erweiterungen im Shell Script, die meisten haben damit zu tun nicht-Mac Pros auszuwerten.


Screenshot 2023-07-23 at 23.34.47.png


Inzwischen macht es am meisten Sinn den Downloader zu verlinken:

https://www.dropbox.com/s/t5k7j4gxj8n9pj2/Download Macschrauber's CMP Rom Dump.zip?dl=1
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Freeez
Update vom 27-8-2023

-> Bootvars zeigen, wo das System / der Bootlader / die Recovery / ... physisch gespeichert sind.

Gibt, wenn möglich, den tatsächlichen Pfad, den Produktnamen der Platte/SSD/USB-Stick/... und die physische Position und den Anschluß an.

Beispiel: Boot001: OpenCore |EFI|disk0s1 (PCI Extern: APPLE SSD SM0256G) /EFI/OC/OpenCore.efi

Bootvars with physical positions.png


mehr Details im anderen Beispiel:

Code:
BootOrder: 1:Boot0080
Boot0001: OpenCore |EFI|disk3s1 (SATA Bay 3:ST1000DM003-1ER162)|EFI|EFI\OC_OCLP031\OpenCore.efi
Boot0080: Mac OS X |Apple_APFS|disk2s2 (SATA Bay 1:Samsung SSD 850 PRO 256GB)|\x-EC79-4675-96B4-786E627FCA06\System\Library\CoreServices\boot.efi
Boot0080 is MacOs 10.14.6, label: Mojave
Boot0081: Recovery OS \x-98B6-49D7-9BAF-0E6A2928C527\boot.efi
Boot0082: |Apple_APFS|disk2s2 (SATA Bay 1:Samsung SSD 850 PRO 256GB)|\x-EC79-4675-96B4-786E627FCA06\System\Library\CoreServices\boot.efi
Boot0082 is MacOs 10.14.6, label: Mojave
BootFFFF: |EFI|disk3s1 (SATA Bay 3:ST1000DM003-1ER162)|EFI|\EFI\BOOT\BOOTX64.efi
OCBtOrder: 1:OCBt0080
OCBt0080: Mac OS X [USB] \x-9D33-4C33-86EE-B3C893C0C765\System\Library\CoreServices\boot.efi
OCBt0081: Mac OS X \x-66D5-4532-99D9-7711AAE353F5\System\Library\CoreServices\boot.efi

BootOrder: 1:Boot0080 -> Als erstes wird das geladen was in Boot0080 eingetragen ist.
Boot0080 -> Mojave, es ist auf einer Samsung 850 Pro. Die steckt im Tray #1 und hat im BootPicker den Namen: Mojave
Boot0001 -> OpenCore ist im Tray #3 auf einer ST1000DM003 im Pfad: EFI\OC_OCLP031\OpenCore.efi

Auf diesem Rechner war OpenCore installiert, die Booteinträge sind noch da, aber nicht mehr aktiv. Hier im Verbund mit RefindPlus, deshalb der ungewöhnliche Pfad.

---------------------------------------------------------------------

-> Battery-Health zeigt an MacBooks die das Unterstützen die gespeicherten Akkudaten an soweit die Kapazität vom NVRAM das zuslässt. Einige Wochen bis Monate, je nach Anzahl der Neustarts oder das Aufwecken aus Hibernatemode 25 .
Code:
$ test_nvram MBA61.88Z.F000.B00.2301131747_N25Q064_10.07.2023_10-00-08.bin -showbathealth
===================================================
test_nvram_shell_script 1-Aug-2023 by Macschrauber
scanning: MBA61.88Z.F000.B00.2301131747_N25Q064_10.07.2023_10-00-08.bin

8MB file detected, analysing in progress
Firmware 478.0.0.0.0 built on Fri Jan 13 17:47:58 PST 2023
Bios Version: MBA61.88Z.F000.B00.2301131747
MBA62, Serial from firmware: xxxxxxxxxxxx85
hwc: G085   son: MD760D/
CRC32 checksums: ok
Battery-Health (VSS1, normal):
"seed1":6758
"seed0":6758
"fccDaySampleAvg":6658
"version":65536
"Battery Service State":0
"waitFc":0
"nccAvg":6668
"fccDaySampleAvgAlt":6658
"nccAvgAlt":6668
"ncc":94
"fccDaySampleCount":2
"Maximum Capacity Percent":97
"seedTs":1682957818
"Battery Service Flags":3
"Battery Serial":"xxxxxxxxxxxxxxxx"
"ts":1688974424
"fccAvgHistoryCount":10
"tsPrev":1688664656
"nccAlt":94
------------------------------------------
battery-health (VSS1, normal):        "Maximum Capacity Percent": 97   ts:  10.07.2023 09:33:44  tsPrev:  06.07.2023 19:30:56  seedTs:  01.05.2023 18:16:58
battery-health (VSS2, normal):        "Maximum Capacity Percent": 97   ts:  30.06.2023 08:15:01  tsPrev:  28.06.2023 10:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS2, deleted) (1):   "Maximum Capacity Percent": 99   ts:  28.04.2023 20:05:40                                seedTs:  28.04.2023 20:05:40
battery-health (VSS2, deleted) (2):   "Maximum Capacity Percent": 99   ts:  28.04.2023 20:05:40                                seedTs:  28.04.2023 20:05:40
battery-health (VSS2, deleted) (3):   "Maximum Capacity Percent": 99   ts:  28.04.2023 20:05:40                                seedTs:  28.04.2023 20:05:40
battery-health (VSS2, deleted) (4):   "Maximum Capacity Percent": 99   ts:  28.04.2023 20:05:40                                seedTs:  28.04.2023 20:05:40
battery-health (VSS2, deleted) (5):   "Maximum Capacity Percent": 99   ts:  28.04.2023 20:05:40                                seedTs:  28.04.2023 20:05:40
battery-health (VSS2, deleted) (6):   "Maximum Capacity Percent": 98   ts:  01.05.2023 18:16:58  tsPrev:  28.04.2023 20:05:40  seedTs:  01.05.2023 18:16:58
battery-health (VSS2, deleted) (7):   "Maximum Capacity Percent": 98   ts:  24.06.2023 14:18:06  tsPrev:  01.05.2023 18:16:58  seedTs:  01.05.2023 18:16:58
battery-health (VSS2, deleted) (8):   "Maximum Capacity Percent": 98   ts:  24.06.2023 14:18:06  tsPrev:  01.05.2023 18:16:58  seedTs:  01.05.2023 18:16:58
battery-health (VSS2, deleted) (9):   "Maximum Capacity Percent": 98   ts:  24.06.2023 14:18:06  tsPrev:  01.05.2023 18:16:58  seedTs:  01.05.2023 18:16:58
battery-health (VSS2, deleted) (10):  "Maximum Capacity Percent": 98   ts:  26.06.2023 12:15:01  tsPrev:  24.06.2023 14:18:06  seedTs:  01.05.2023 18:16:58
battery-health (VSS2, deleted) (11):  "Maximum Capacity Percent": 98   ts:  26.06.2023 12:15:01  tsPrev:  24.06.2023 14:18:06  seedTs:  01.05.2023 18:16:58
battery-health (VSS2, deleted) (12):  "Maximum Capacity Percent": 97   ts:  28.06.2023 10:15:01  tsPrev:  26.06.2023 12:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS2, deleted) (13):  "Maximum Capacity Percent": 97   ts:  28.06.2023 10:15:01  tsPrev:  26.06.2023 12:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (1):   "Maximum Capacity Percent": 97   ts:  30.06.2023 08:15:01  tsPrev:  28.06.2023 10:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (2):   "Maximum Capacity Percent": 97   ts:  30.06.2023 08:15:01  tsPrev:  28.06.2023 10:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (3):   "Maximum Capacity Percent": 97   ts:  02.07.2023 06:15:01  tsPrev:  30.06.2023 08:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (4):   "Maximum Capacity Percent": 97   ts:  02.07.2023 06:15:01  tsPrev:  30.06.2023 08:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (5):   "Maximum Capacity Percent": 97   ts:  04.07.2023 04:15:01  tsPrev:  02.07.2023 06:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (6):   "Maximum Capacity Percent": 97   ts:  04.07.2023 04:15:01  tsPrev:  02.07.2023 06:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (7):   "Maximum Capacity Percent": 97   ts:  04.07.2023 04:15:01  tsPrev:  02.07.2023 06:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (8):   "Maximum Capacity Percent": 97   ts:  04.07.2023 04:15:01  tsPrev:  02.07.2023 06:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (9):   "Maximum Capacity Percent": 97   ts:  04.07.2023 04:15:01  tsPrev:  02.07.2023 06:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (10):  "Maximum Capacity Percent": 97   ts:  04.07.2023 04:15:01  tsPrev:  02.07.2023 06:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (11):  "Maximum Capacity Percent": 97   ts:  04.07.2023 04:15:01  tsPrev:  02.07.2023 06:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (12):  "Maximum Capacity Percent": 97   ts:  04.07.2023 04:15:01  tsPrev:  02.07.2023 06:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (13):  "Maximum Capacity Percent": 97   ts:  04.07.2023 04:15:01  tsPrev:  02.07.2023 06:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (14):  "Maximum Capacity Percent": 97   ts:  04.07.2023 04:15:01  tsPrev:  02.07.2023 06:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (15):  "Maximum Capacity Percent": 97   ts:  04.07.2023 04:15:01  tsPrev:  02.07.2023 06:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (16):  "Maximum Capacity Percent": 97   ts:  04.07.2023 04:15:01  tsPrev:  02.07.2023 06:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (17):  "Maximum Capacity Percent": 97   ts:  04.07.2023 04:15:01  tsPrev:  02.07.2023 06:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (18):  "Maximum Capacity Percent": 97   ts:  04.07.2023 04:15:01  tsPrev:  02.07.2023 06:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (19):  "Maximum Capacity Percent": 97   ts:  04.07.2023 04:15:01  tsPrev:  02.07.2023 06:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (20):  "Maximum Capacity Percent": 97   ts:  05.07.2023 07:45:54  tsPrev:  04.07.2023 04:15:01  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (21):  "Maximum Capacity Percent": 97   ts:  06.07.2023 19:30:56  tsPrev:  05.07.2023 07:45:54  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (22):  "Maximum Capacity Percent": 97   ts:  06.07.2023 19:30:56  tsPrev:  05.07.2023 07:45:54  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (23):  "Maximum Capacity Percent": 97   ts:  06.07.2023 19:30:56  tsPrev:  05.07.2023 07:45:54  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (24):  "Maximum Capacity Percent": 97   ts:  06.07.2023 19:30:56  tsPrev:  05.07.2023 07:45:54  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (25):  "Maximum Capacity Percent": 97   ts:  06.07.2023 19:30:56  tsPrev:  05.07.2023 07:45:54  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (26):  "Maximum Capacity Percent": 97   ts:  06.07.2023 19:30:56  tsPrev:  05.07.2023 07:45:54  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (27):  "Maximum Capacity Percent": 97   ts:  06.07.2023 19:30:56  tsPrev:  05.07.2023 07:45:54  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (28):  "Maximum Capacity Percent": 97   ts:  06.07.2023 19:30:56  tsPrev:  05.07.2023 07:45:54  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (29):  "Maximum Capacity Percent": 97   ts:  06.07.2023 19:30:56  tsPrev:  05.07.2023 07:45:54  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (30):  "Maximum Capacity Percent": 97   ts:  06.07.2023 19:30:56  tsPrev:  05.07.2023 07:45:54  seedTs:  01.05.2023 18:16:58
battery-health (VSS1, deleted) (31):  "Maximum Capacity Percent": 97   ts:  10.07.2023 09:33:44  tsPrev:  06.07.2023 19:30:56  seedTs:  01.05.2023 18:16:58
Base_18 hardware descriptor
fmm-computer-name: MacBook Air
BootOrder: 1:Boot0080
Boot0080: \pDZ\A20E739E-78F6-3924-A686-272E77E54C35\System\Library\CoreServices\boot.efi
Boot0081: unknown
Boot0082: \pDZ\A20E739E-78F6-3924-A686-272E77E54C35\System\Library\CoreServices\boot.efi
BootFFFF: \System\Library\CoreServices\boot.efi
15 boots since last garbage collection, MTC counter: 29 - 44
VSS1                   VSS2
1 (1 active)           1 (1 active) Memory Configs g
1 (1 active)           1 (1 active) Memory Configs h
1                      0 fmm-mobileme-token-FMM (ok)
0                      0 Microsoft certificates (ok)
29 (1 active)          18 (1 active) Boot PathProperties0000 (ok)
11 (1 active)          12 (1 active) NVRAM PathProperties0000 (ok)
VSS1: found 241 variables (51 valid, 190 deleted)
VSS2: found 337 variables (49 valid, 288 deleted)
1554 bytes free space of 65456 in VSS1
1381 bytes free space of 65456 in VSS2
(Garbage collection should automatically run the next time you reboot.)
---------------------------------------------------------------------

-> Die ESP-Tools wurden optimiert, um auf alten Systemen zu funktionieren, die nicht mit diskutil zum mounten / unmounten arbeiten.

-> Eine Reihe von Skripten wurde hinzugefügt, um boot-args hinzuzufügen und zu bearbeiten.

---------------------------------------------------------------------

Inzwischen macht es am meisten Sinn den Downloader zu verlinken:
https://www.dropbox.com/s/t5k7j4gxj8n9pj2/Download Macschrauber's CMP Rom Dump.zip?dl=1
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: JP Duhen, roger.rebel, Dorena Verne und 2 andere
kleines Update (31-8-2023)

-> Ein Fehler wurde beseitigt der das Flashen verhindert hat (Fehlermeldung: Variable Mac_Model fehlt, ist was bei der Umbenennung durchgerutscht).
-> Die ESP tools haben eine recht nützliche Erweiterung bekommen.

<Mount ESP from list> erkennt auch den Bootloader und wo möglich, die Version:

Screenshot 2023-08-31 at 22.28.04.png

disk0s1: RefindPlus mit den OpenCore Ordnern plus zwei mit OCLP
disk4s1: OpenCore in der MartinLo Variante, mit Version aus dem FirmwareSpoofing String der Settings.
disk6s1: Windows mit aktivem .efi Bootlader, das heisst nicht ohne Firmware Schutz starten.
disk7s1: OCLP mit Version aus den Kommentaren im Config file
disk9s1: rEFIt (warum so was altes: Für SMC Firmware updates von alten Mac Pro 1.1)


Bildschirmfoto 2023-08-31 um 20.23.22.png


3 mal OpenCore Legacy Patcher in 3 Versionen

https://www.macuser.de/threads/mac-...-technischer-hintergrund.844183/post-12013333
 
  • Gefällt mir
Reaktionen: Proinnsias, DL8LAQ, razormax und 3 andere
Noch ein kleines Update:

17-9-2023

-> Erkennung von refurbished Boards (ssnp vorhanden), zeigt eine Warnung an, wenn noch keine Seriennumer vorhanden ist (ssnp, aber kein ssn)
-> Meldung der u(efi)-Version wo möglich und Anpassung der Warnung für Windows-Zertifikate
-> -scanvss * und -freespace ** Argumente für das Shell-Skript test_nvram

-> behoben: Modellcode wurde im GUI-Tool nicht vor der Seriennummer angezeigt

* Dies ist für den Aufruf des ScanVSS-Cli-Tools von Syncretic, das dynamisch die benötigte DirectHW-Kernel-Erweiterung lädt und entlädt.
** Dies ruft ScanVSS auf und meldet nur eine Zeile mit dem freien Speicherplatz von VSS1. Dies ist für einige Überwachungszwecke nützlich.

Außerdem wurden die ESP- und BootArgs-Tools ein wenig aufpoliert.


https://www.dropbox.com/s/t5k7j4gxj8n9pj2/Download Macschrauber's CMP Rom Dump.zip?dl=1

Code:
user$ test_nvram -help
test_nvram_shell_script 17-Sep-2023
takes *.bin, *.rom, *.vol, *.fd and one or more of these arguments:
-help               this text
-force              don't check filesize and type
-shortserial        truncate the serial number
-nointro            do not show version and filename
-condense_gfxutil   do not show the full path for Bootvars
-DontCheckVolumes   do not mount or check volumes for bootvar decoding
-showvars           show all NVRAM variables
-mtccounts1         show deleted MTC counts
-mtccounts2         show MTC count of VSS2
-mtccounts12        show all MTC counts
-showall            show MTC (VSS1 deleted, VSS2) and all NVRAM variables
-showlbsn           show LBSN, hwc, son
-showbathealth      show battery-health variables condensed
-showfullbathealth  show battery-health variables (gives a hughe report)
-rename             ask to rename the given file by machine, serial, firmware, additions
-forcerename        same as -rename but don't ask
-simulaterename     same as -forcerename but just write out the new filename
_________________________________________________________________________________________________
 without giving a file:
-dump               dump the firmware with flashrom or eficheck to a file
-SST25VF032B        use this flash chip (MacPro 4,1 2009)
-MX25L3205D         use this flash chip (MacPro 5,1 2010-2011)
-MX25L3206E         use this flash chip (MacPro 5,1 2012)
-chip='yourflash'   use this flash chip, quotate it
-chip=auto          let flashrom detect the chip, if possible
-chip=eficheck      use eficheck if machine is capable

-scanvss            run Syncretic's scanvss to analyse the NVRAM streams, ~2006 to ~2012 Macs only
  for arguments quote like:
   '-scanvss -v'       ...show variable values
   '-scanvss -g'       ...show hex GUIDs
   '-scanvss -D'       ...hide deleted variables
   '-scanvss -d'       ...show header details
   '-scanvss -V1'      ...show only VSS1
   '-scanvss -V2'      ...show only VSS2
   '-scanvss -a'       ...show everything, same as -v -g -d
-freespace          read this machine's NVRAM with scanvss and just print free space of VSS1


###########################################


user$ test_nvram -freespace
Apparent free space in VSS1: 27668 bytes


###########################################



user$ test_nvram -dump
no spi-flash type given, but found MP51. Assuming MX25L3205D from experience
...Requesting load of /users/user/Library/Application Support/Macschrauber/DirectHW.kext.
/users/user/Library/Application Support/Macschrauber/DirectHW.kext loaded successfully (or already loaded).

doing flashrom097r1711 -p internal:laptop=this_is_not_a_laptop -c MX25L3205D/MX25L3208D -r /users/user/Downloads/18.09.2023_21-33-13_MX25L3205D_dump.bin -o /users/user/Downloads/18.09.2023_21-33-13_MX25L3205D_dump.log
...reading /users/user/Downloads/18.09.2023_21-33-13_MX25L3205D_dump.bin with Flashrom
...Flashrom was executed and gave no error

...com.coresystems.DirectHW unloaded and personalities removed.
.../users/user/Downloads/18.09.2023_21-33-13_MX25L3205D_dump.bin was created
.../users/user/Downloads/18.09.2023_21-33-13_MX25L3205D_dump.log was created
===================================================
test_nvram_shell_script 17-Sep-2023 by Macschrauber
scanning: /users/user/Downloads/18.09.2023_21-33-13_MX25L3205D_dump.bin

Firmware 144.0.0.0.0 (latest) built on Fri Apr 12 12:43:00 2019
Bios Version: MP51.88Z.F000.B00.1904121248
(U)efi version: 1.10
MP51, Serial from firmware: CKxxxxxxxxEUG
LBSN: J50xxxxxxxxBH9A   BD: 10xxxx10xxxx
hwc: EUG   son: 000xxxxxxxxx96
EnableGop 1.3 EFI module identified
CRC32 checksums: ok
Bootblock of 144.0.0.0.0 (rebuilt firmware)
Base_21 hardware descriptor
Boot000x is EFI\OC\OpenCore.efi (LauncherOption: Full)
OCLP: 0.6.9 | -allow_fv | MacPro5,1
fmm-computer-name: MacPro51 (2)
boot-args: keepsyms=1 debug=0x100 -lilubetaall -btlfxallowanyaddr ipc_control_port_options=0 -nokcmismatchpanic -disable_sidecar_mac -lilubetaall
BootOrder: 1:Boot0080
Boot0001: OpenCore |EFI|disk1s1 (SATA DVD Bay B (Lower):SAMSUNG 470 Series SSD)|EFI|PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x1,0x0,0x0)/HD(1,GPT,53A70A2A-B1A7-4368-A858-870B8D9807CC,0x28,0x64000)/EFI\OC\OpenCore.efi
Boot0080: |Apple_APFS|disk0s2 (PCI-Express Internal:Samsung SSD 970 EVO Plus 500GB)|PciRoot(0x0)/Pci(0x7,0x0)/Pci(0x0,0x0)/Msg(34,010000000025385291504418)/HD(2,GPT,7D2C57B3-FF74-4E5A-83B9-CA26ED30F50F,0x64028,0x3A321FE0)/VenMedia(BE74FCF7-0B7C-49F3-9147-01F4042E6842,A4AEE393BBBE594BB7CF61C455EDEE09)/\31F61C0A-1EAA-4D9B-BDD4-9786D5D5A009\System\Library\CoreServices\boot.efi
Boot0080 is MacOs 10.14.6, label: Mojave
BootFFFF: |Apple_APFS|disk0s2 (PCI-Express Internal:Samsung SSD 970 EVO Plus 500GB)|PciRoot(0x0)/Pci(0x7,0x0)/Pci(0x0,0x0)/Msg(34,010000000025385291504418)/HD(2,GPT,7D2C57B3-FF74-4E5A-83B9-CA26ED30F50F,0x64028,0x3A321FE0)/VenMedia(BE74FCF7-0B7C-49F3-9147-01F4042E6842,A4AEE393BBBE594BB7CF61C455EDEE09)/\31F61C0A-1EAA-4D9B-BDD4-9786D5D5A009\System\Library\CoreServices\boot.efi
BootFFFF is MacOs 10.14.6, label: Mojave
6 boots since last garbage collection, MTC counter: 12 - 18
VSS1                   VSS2
7 (1 active)           1 Memory Configs g (ok)
7 (1 active)           0 Memory Configs h (ok)
1 (1 active)           0 Memory Configs i (ok)
1 (1 active)           0 Memory Configs j (ok)
0                      0 Microsoft certificates (ok)
1 (1 active)           1 BluetoothActiveControllerInfos (ok)
1 (1 active)           1 BluetoothInternalControllerInfos (ok)
1 (1 active)           1 current-network (ok)
1 (1 active)           1 NVRAM PathProperties0000 (ok)
27668 bytes free space of 65464
VSS1 (Formatted) (Healthy), found 67 variables (42 valid, 25 deleted)
VSS2 (Formatted) (Healthy), found 40 variables (40 valid)
...renamed: 18.09.2023_21-33-13_MX25L3205D_dump.bin to MP51_144.0.0.0.0_CKxxxxxxxxEUG_EnableGop_1.3_18.09.2023_21-33-13.bin
...renamed: /users/user/Downloads/18.09.2023_21-33-13_MX25L3205D_dump.log to /users/user/Downloads/MP51_144.0.0.0.0_CKxxxxxxxxEUG_EnableGop_1.3_18.09.2023_21-33-13.log


###########################################

user$ test_nvram -dump -chip:eficheck
...reading /users/user/Downloads/23.07.2023_18-22-32_eficheck_dump.bin
Password:
.../users/user/Downloads/23.07.2023_18-22-32_eficheck_dump.bin was created

===================================================
test_nvram_shell_script 23-Jul-2023 by Macschrauber
scanning: /users/user/Downloads/23.07.2023_18-22-32_eficheck_dump.bin

8MB file detected, analysing in progress
Firmware 478.0.0.0.0 built on Fri Jan 13 17:47:58 PST 2023
Bios Version: MBA61.88Z.F000.B00.2301131747
MBA62, Serial from firmware: C17xxxxxxxxxx
hwc: G085   son: MD760D/
CRC32 checksums: ok
Base_18 hardware descriptor
fmm-computer-name: MacBook Air from user
BootOrder: 1:Boot0080
Boot0080: \7AFD3F6D-2719-4CA3-B821-FA9B4D74770B\System\Library\CoreServices\boot.efi
Boot0082: \7AFD3F6D-2719-4CA3-B821-FA9B4D74770B\System\Library\CoreServices\boot.efi
BootFFFF: \pDZ\A20E739E-78F6-3924-A686-272E77E54C35\System\Library\CoreServices\boot.efi
15 boots since last garbage collection, MTC counter: 86 - 101
VSS1                   VSS2
1 (1 active)           1 (1 active) Memory Configs g
1 (1 active)           1 (1 active) Memory Configs h
1 (1 active)           1 (1 active) Kernel Panic dumps type A: Pointer type (ok)
0                      0 Microsoft certificates (ok)
26 (1 active)          42 (1 active) Boot PathProperties0000 (ok)
11 (1 active)          12 (1 active) NVRAM PathProperties0000 (ok)
VSS1: found 177 variables (47 valid, 130 deleted)
VSS2: found 264 variables (50 valid, 214 deleted)
17785 bytes free space of 65456 in VSS1
416 bytes free space of 65456 in VSS2
...renamed: 23.07.2023_18-22-32_eficheck_dump.bin to MBA62_478.0.0.0.0_C17xxxxxxxx_23.07.2023_18-22-32.bin


###########################################


user$ test_nvram bbs.bin -showall
===================================================
test_nvram_shell_script 17-Sep-2023 by Macschrauber
scanning: bbs.bin

Firmware 144.0.0.0.0 (latest)
Bios Version: MP51.88Z.F000.B00.1904121248
LBSN: C0xxxxxxxxxxxCVKAA   BD: 10xxxx10xxxx
Serial from firmware: No_Fsys_found_by_UEFIExtract
ssn previous: H00270ZF20H (refurbished machine or backplane)
This is from a refurbished backplane without a serial number but a ssnp (H00270ZF20H) what needs to be serialised!
hwc: 20H   son: .Z0G100AC
CRC32 checksums: ok
Crossflash 4.1->5.1 (bootblock of MP51.007F.B03)
Base_20 hardware descriptor
Boot000x is EFI\OC\OpenCore.efi (LauncherOption: Full)
fmm-computer-name: Stuart’s Mac Pro
MTC count (VSS1, normal): 346
MTC count (VSS2, normal): 344
MTC counts (VSS1, deleted) (1): 344
MTC counts (VSS1, deleted) (2): 345
boot-args: agdpmod=pikera enable-gva-support shikigva=80 unfairgva=1 mbasd=1 -no_compat_check no32exec=0
BootOrder: 1:Boot0001, 2:Boot0080
Boot0001: OpenCore PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x1,0x0,0x0)/HD(1,GPT,608F00FD-AD4A-44C4-8189-17339728BC73,0x28,0x64000)/EFI\OC\OpenCore.efi
Boot0080: PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x1,0x0,0x0)/HD(1,GPT,608F00FD-AD4A-44C4-8189-17339728BC73,0x28,0x64000)/\EFI\BOOT\BOOTX64.efi
BootFFFF: PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x1,0x0,0x0)/HD(1,GPT,608F00FD-AD4A-44C4-8189-17339728BC73,0x28,0x64000)/\EFI\BOOT\BOOTX64.efi
OCBtOrder: 1:OCBt0080
OCBt0080: Mac OS X PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x1,0x0,0x0)/HD(1,GPT,608F00FD-AD4A-44C4-8189-17339728BC73,0x28,0x64000)
2 boots since last garbage collection, MTC counter: 344 - 346
VSS1                   VSS2
3 (1 active)           1 Memory Configs g (ok)
3 (1 active)           1 Memory Configs h (ok)
3 (1 active)           1 Memory Configs i (ok)
1 (1 active)           1 Memory Configs j (ok)
1 (1 active)           1 Kernel Panic dumps type A: Pointer type
1                      1 fmm-mobileme-token-FMM (ok)
0                      0 Microsoft certificates (ok)
1 (1 active)           1 BluetoothActiveControllerInfos (ok)
1 (1 active)           1 BluetoothInternalControllerInfos (ok)
1 (0 active)           1 Boot PathProperties0000 (ok)
2 (1 active)           1 NVRAM PathProperties0000 (ok)
2 (2 active)           2 Boot00xx variables
1 (1 active)           1 OCbt00xx variables
34024 bytes free space of 65464
VSS1 (Formatted) (Healthy), found 69 variables (55 valid, 14 deleted)
VSS2 (Formatted) (Healthy), found 56 variables (56 valid)
---------------------
all variables in VSS1:
1 (ACPI Variable):AcpiGlobalVariable (Normal)
1 (Apple Backup Boot Variable):Boot0080 (Normal)
1 (Apple Backup Boot Variable):BootOrder (Normal)
1 (Apple Boot Variable):AAPL,PanicInfoLog (Normal)
1 (Apple Boot Variable):EFIBluetoothDelay (Normal)
1 (Apple Boot Variable):ForceDisplayRotationInEFI (Normal)
1 (Apple Boot Variable):GPUROM (Normal)
...
...
1 62bf9b1c-8568-48ee-85dc-dd3057660863:boot-feature-usage (Normal)
---------------------
1 (Apple Boot Variable):AAPL,PathProperties0000 (DELETED)
1 (Apple NVRAM Variable):AAPL,PathProperties0000 (DELETED)
2 (Apple NVRAM Variable):DefaultBackgroundColor (DELETED)
2 (EFI Global):MemoryConfig (DELETED)
2 (EFI Global):MemoryConfih (DELETED)
2 (EFI Global):MemoryConfii (DELETED)
2 (EFI Global):_AGP_DISABLED (DELETED)
2 (MTC variable):MTC (DELETED)
---------------------
all variables in VSS2:
1 (ACPI Variable):AcpiGlobalVariable (Normal)
...
...
1 24a6edcb-ebb6-490b-a455-fc9e8fab5366:BluetoothUHEDevices (Normal)
1 62bf9b1c-8568-48ee-85dc-dd3057660863:boot-feature-usage (Normal)

###########################################

test_nvram bbs.bin '-scanvss -a'
...Requesting load of /users/user/Library/Application Support/Macschrauber/DirectHW.kext.
/users/user/Library/Application Support/Macschrauber/DirectHW.kext loaded successfully (or already loaded).
(Reading the FlashROM may take several seconds...)
ScanVSS v0.17, Copyright 2022 Syncretic.  All Rights Reserved.
This program comes without any warranty of suitability for any purpose.
-- Found 2 VSS structures.
-- Parsing VSS structures from local flash.

----------------
Signature: 53535624 (Valid)
Size:      0000ffb8 (65464)
Format:    5a (Formatted)
State:     fe (Healthy)
Unk16[0]:  fe (Normal)
Unk16[1]:  01
Unk32:     00000000
----------------
--------
Variable: 8be4df61-93ca-11d2-aa0d-00e098032b8c:MemoryConfii (EFI Global)
StartID:  55aa (Valid)
State:    7f (Normal)
Unknown8: 00
Attr:     00000003 (NON_VOLATILE, BOOT_SERVICE_ACCESS)
NameSize: 26
DataSize: 1990
DataType: looks like Binary
Data:
00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
...
...
00000100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000007a0: 01 00 00 00 01 01 11 01 01 00 a4 01 00 00 00 00  ................
000007b0: 00 00 10 01 20 01 01 00 a6 01 00 00 00 00 01 00  .... ...........
000007c0: 00 00 11 01 21 01                                ....!.       
--------
--------
Variable: 8be4df61-93ca-11d2-aa0d-00e098032b8c:MemoryConfij (EFI Global)
StartID:  55aa (Valid)
State:    7f (Normal)
Unknown8: 00
Attr:     00000003 (NON_VOLATILE, BOOT_SERVICE_ACCESS)
NameSize: 26
DataSize: 38
DataType: looks like Binary
Data:
00000000: 01 00 a8 01 00 00 00 00 00 00 20 01 ff ff 01 00  .......... .....
00000010: aa 01 00 00 00 00 01 00 34 35 00 00 3a 00 3a 00  ........45..:.:.
00000020: 10 00 20 00 00 00                                .. ...       
--------
--------
...
...

###########################################


user$ test_nvram bbs.bin -rename
===================================================
test_nvram_shell_script 17-Sep-2023 by Macschrauber
scanning: bbs.bin

Firmware 144.0.0.0.0 (latest)
...
...
34024 bytes free space of 65464
VSS1 (Formatted) (Healthy), found 69 variables (55 valid, 14 deleted)
VSS2 (Formatted) (Healthy), found 56 variables (56 valid)
  rename bbs.bin to MP51_144.0.0.0.0_no_serial_crossflash.bin (1 yes, 0 no) ?
 
  • Gefällt mir
Reaktionen: razormax, Proinnsias, Freeez und eine weitere Person
Update 8-10-2023

-> Anzeige des gespooften OpenCore-Firmware-Strings (nur für frische Dumps möglich)
-> Anzeige der Microsoft UEFI-Variablen
-> Dumpen von: iMac 11.1, iMac 11.2
-> Ein Tool zum Ändern des Namens von ESPs (Bootloader wie OpenCore) im Boot-Picker

Details: https://forums.macrumors.com/threads/manually-configured-opencore-on-the-mac-pro.2207814/page-520?post=32382081#post-32382081

Analyse von MBP61, MBP62 im Shell-Skript

Workaround für tiefere Analyse von Macs mit Scanvss, wenn Scanvss die Dump-Datei nicht direkt lesen kann:
IM112, IM113, IM121, MBP61, MBP62, MBP81, MBP82, MBA41, MBA42, MM51

Behoben: Endlosschleife im Shell-Skript / im Dumper für Dumps mit weniger als 6 NVRAM-Variablen des Typs AA.55.7F.00.07

https://www.dropbox.com/s/t5k7j4gxj8n9pj2/Download Macschrauber's CMP Rom Dump.zip?dl=1


Code:
test_nvram -help
test_nvram_shell_script 8-Oct-2023
takes *.bin, *.rom, *.vol, *.fd and one or more of these arguments:
-help               this text
-force              don't check filesize and type
-freshdump          treat the file like it was just dumped on this machine
-shortserial        truncate the serial number
-nointro            do not show version and filename
-condense_gfxutil   do not show the full path for Bootvars
-DontCheckVolumes   do not mount or check volumes for bootvar decoding
-showvars           show all NVRAM variables
-mtccounts1         show deleted MTC counts
-mtccounts2         show MTC count of VSS2
-mtccounts12        show all MTC counts
-showall            show MTC (VSS1 deleted, VSS2) and all NVRAM variables
-showlbsn           show LBSN, hwc, son
-showbathealth      show battery-health variables condensed
-showfullbathealth  show battery-health variables (gives a hughe report)
-rename             ask to rename the given file by machine, serial, firmware, additions
-forcerename        same as -rename but don't ask
-simulaterename     same as -forcerename but just write out the new filename
_________________________________________________________________________________________________
 without giving a file:
-dump               dump the firmware with flashrom or eficheck to a file
-SST25VF032B        use this flash chip (MacPro 4,1 2009)
-MX25L3205D         use this flash chip (MacPro 5,1 2010-2011)
-MX25L3206E         use this flash chip (MacPro 5,1 2012)
-chip='yourflash'   use this flash chip, quotate it
-chip=auto          let flashrom detect the chip, if possible
-chip=eficheck      use eficheck if machine is capable

-scanvss            run Syncretic's scanvss to analyse the NVRAM streams, ~2006 to ~2012 Macs only
  for arguments quote like:
   '-scanvss -v'       ...show variable values
   '-scanvss -g'       ...show hex GUIDs
   '-scanvss -D'       ...hide deleted variables
   '-scanvss -d'       ...show header details
   '-scanvss -V1'      ...show only VSS1
   '-scanvss -V2'      ...show only VSS2
   '-scanvss -a'       ...show everything, same as -v -g -d
-freespace          read this machine's NVRAM with scanvss and just print free space of VSS1
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: DL8LAQ, Freeez und Elebato

Update 12-10-2023


-> NVRAM Volume Erkennung:
Das Shell-Skript ermittelt dynamisch die Position und die Offsets des NVRAM Volumes. In der Theorie bedeutet dies, dass alle Mac-Firmware-Versionen decodiert werden könnten.
-> Mac Mini 7,1 dumpen für den Dumper und das Shell-Skript
-> ESP-Tools: Ein Skript zur automatischen Beschriftung der ESPs für den Boot-Picker basierend auf dem gefundenen Bootloader-Typ


Korrekturen:

- In Yosemite trat ein Fehler auf, wenn kext-dev-mode=1 fehlte. Das verhinderte das Laden von DirectHW.kext, was zu einer fehlenden Variablen führte.
- Ein älteres Betriebssystem wie Yosemite hat die Firmware-Version gekürzt, was dazu führte, dass das Shell-Skript eine gespoofte Firmware anzeigte.
- Ein Fehler im Zusammenhang mit dem Logging verhinderte die Auswahl mehrerer gefundener Flash-Chips auf ungetesteten Macs.



Multiple flash chip definitions.png

mehre flash chips bei nicht eingepflegten Macs

Label all bootloaders.png

ESPs umbenennen



https://www.dropbox.com/s/t5k7j4gxj8n9pj2/Download Macschrauber's CMP Rom Dump.zip?dl=1
 
  • Gefällt mir
Reaktionen: DL8LAQ, Freeez, razormax und eine weitere Person
Ja ich will doch nur wissen wo hier auf dem Bild der EFI Chip sitzt, mehr erst mal nicht.
XXXXXMG_20231018_145606.jpg

oder ist er auf der Rückseite ?
 
Update 22-10-2023

- Find my Mac Erkennung. Der Dumper gibt die Information, dass Find my Mac aktiviert ist. Das kann bei einem Gebrauchtkauf wichtig sein.

Nur das Shell Script gibt die konfigurierten Texte von einem Find my Mac lock aus. Da diese Texte oft private Daten wie Telefonnummern oder e-mail Adressen enthalten, keine Ausgabe im Dumper.

- Das Sammeln von den sich ändernden NVRAM Ständen wird unterstützt. Entweder man fügt seine Shasum verschlüsselte Seriennummer dem Shell Script zu oder gibt als Argument -gathernvram.vol an.

- Gefixt: Einige Firmwares neuerer Macs (so ca. 2013+) haben eine Variable vom alten (bis ca. 2013) Typ. Ich habe die Logik der Erkennung überarbeitet um ein falsches Klassifizieren zu vermeiden.


https://www.dropbox.com/s/t5k7j4gxj8n9pj2/Download Macschrauber's CMP Rom Dump.zip?dl=1
 
  • Gefällt mir
Reaktionen: DL8LAQ, Elebato, razormax und 3 andere
Zurück
Oben Unten