[alle Macs] Firmware Backup mit eficheck

Macschrauber

Aktives Mitglied
Thread Starter
Dabei seit
08.02.2014
Beiträge
13.645
Reaktionspunkte
9.574
Ich schreibe es in diesem Forum weil für alle (Intel) Macs:

Eine kleine Bitte zur Firmware Forschung:

Am Mac mal im Terminal einen Firmware Dump über eficheck ziehen. Ich möchte gerne wissen ob die System Integrity Protection dazu aus sein muss.
Dazu im Terminal das einkopieren, die anschließende Passworteingabe für eficheck erfolgt blind ohne Textausgabe und ohne Rückmeldung:

Code:
csrutil status; sudo /usr/libexec/firmwarecheckers/eficheck/eficheck --save -b firmware.bin


Das kann auch nicht funktionieren, dann kommt in etwa die Meldung:
Code:
ReadBinaryFromKernel: No matching services found. Either this system is not supported by eficheck, or you need to re-load the kext
Save: couldn't get EFI contents from kext



Der persönliche Vorteil ist: Man hat ein Backup des Firmwarestandes und der Daten im NVRAM. Kann mal wichtig bei einem Defekt sein.

Ich möchte meinen Dumper um die Möglichkeit erweitern über dieses Systemtool die Firmware zu sichern und sollte dazu wissen bei welchen Geräten es funktioniert und ob SIP dazu aus sein muss.

Der erste Teil des Befehls zeigt den Status der System Integrity Protection an, der zweite Teil startet das Systemtool eficheck und sichert die Firmware mit dem Filenamen firmware.bin ins Home-Verzeichnis.

Idealerweise schickt man mir noch das File (4 oder 8 MB). Dieses File nicht öffentlich bereitstellen, es enthält diverse Rechnerdaten und auch was an persönlichen Daten im NVRAM gespeichert ist (Namen des Netzwerks, Namen des Rechners (Paule's Mac Pro) und eventuell auch e-Mail Adressen).

Ich behandle es diskret und hab hunderte von Dumps von Mac Pros 1,1 bis 5,1 (auch von defekten und ausgemusterten Geräten) sollte ich mal neue Rechner IDs brauchen...

eficheck funktioniert nicht am:
MP 3,1
MP 4,1
MP 5,1
MBA 3,1
 
merci auch
es kommt:
Code:
System Integrity Protection status: enabled.
Successfully wrote firmware.bin

iMac 27'' Retina Late 2015
file ist 8,4 MB groß
die .bin liegt im /Benutzer/xxx/

PS: achja hat nichtmal 1 Minute gedauert und würde die .bin auch mal selbst auslesen btw, mit was am besten?
 
merci auch
es kommt:
Code:
System Integrity Protection status: enabled.
Successfully wrote firmware.bin

iMac 27'' Retina Late 2015
file ist 8,4 MB groß
die .bin liegt im /Benutzer/xxx/

PS: achja hat nichtmal 1 Minute gedauert und würde die .bin auch mal selbst auslesen btw, mit was am besten?
Dankeschön :)

zum Allgemein auslesen einer Mac Firmware:
UEFITool_NE_A62_mac.zip


Mein Dumper kann firmware files auslesen <test a rom dump file>, das ist noch die Version ohne dumpen mit eficheck.

https://www.dropbox.com/s/kr74r2ft0nrvp7n/Macschrauber%27s%20CMP%20Rom%20Dump.dmg?dl=0
 
  • Gefällt mir
Reaktionen: dg2rbf und razormax
Klappt hier auch, mit dem MBP 9,1.

SIP war aus, bis auf BaseSystem Verification
 

Anhänge

  • MBP 9,1 Fangio EFI Check, FW.bin.png
    MBP 9,1 Fangio EFI Check, FW.bin.png
    104,2 KB · Aufrufe: 83
Die neue Version vom Dumper enthält zusätzlich das Dumpen mit Eficheck.

#489

Für die Forschung und Unterstützung von möglichst vielen anderen Macs sind weitere Dumps und Logfiles immer noch hilfreich.
 
Der Dumper hat ein Update bekommen (29-7-2023)

im NVRAM wird auch der Status der Batterie von den MacBooks gesichert. Da alte Variablen nicht gelöscht werden sondern nur als ungültig markiert wird hat man hier einen Verlauf.

Leider weiß ich nichts mit den weiteren Daten anzufangen, einen Zeitpunkt herauszukodieren wäre ein Gewinn. Die gelöschten Variablen sind genauso komplett wie die Erste. Alle anzuzeigen wäre ein Overkill.


Beispiel:

Code:
Mac-Pro-3:~ Macschrauber$ test_nvram -showbathealth /Users/Macschrauber/Library/Mobile\ Documents/com\~apple\~CloudDocs/Firmware/Dumps\ \(not\ Mac\ Pro\ 3.1-5.1\)/MBA61\ C1xxxxxxxxG085\ MacBook\ Air\ 6\,1\ Early\ 2014\ Macschrauber/Garbage\ Collection/Before\ GC/C1xxxxxxxxG085_MBA61.88Z.F000.B00.2301131747_N25Q064_10.07.2023_10-00-08.bin
===================================================
test_nvram_shell_script 29-Jul-2023 by Macschrauber
scanning: /Users/Macschrauber/Library/Mobile Documents/com~apple~CloudDocs/Firmware/Dumps (not Mac Pro 3.1-5.1)/MBA61 C1xxxxxxxxG085 MacBook Air 6,1 Early 2014 Macschrauber/Garbage Collection/Before GC/C1xxxxxxxxG085_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: C1xxxxxxxxG085
hwc: G085   son: MD760D/
CRC32 checksums: ok
battery-health 7F:
"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":"D86410301TYF90JAX"
"ts":1688974424
"fccAvgHistoryCount":10
"tsPrev":1688664656
"nccAlt":94
battery-health (VSS1, Normal): "Maximum Capacity Percent": 97
battery-health (VSS2, Normal): "Maximum Capacity Percent": 97
battery-health (VSS2, Deleted) (1): "Maximum Capacity Percent": 99
battery-health (VSS2, Deleted) (2): "Maximum Capacity Percent": 99
battery-health (VSS2, Deleted) (3): "Maximum Capacity Percent": 99
battery-health (VSS2, Deleted) (4): "Maximum Capacity Percent": 99
battery-health (VSS2, Deleted) (5): "Maximum Capacity Percent": 99
battery-health (VSS2, Deleted) (6): "Maximum Capacity Percent": 98
battery-health (VSS2, Deleted) (7): "Maximum Capacity Percent": 98
battery-health (VSS2, Deleted) (8): "Maximum Capacity Percent": 98
battery-health (VSS2, Deleted) (9): "Maximum Capacity Percent": 98
battery-health (VSS2, Deleted) (10): "Maximum Capacity Percent": 98
battery-health (VSS2, Deleted) (11): "Maximum Capacity Percent": 98
battery-health (VSS2, Deleted) (12): "Maximum Capacity Percent": 97
battery-health (VSS2, Deleted) (13): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (1): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (2): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (3): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (4): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (5): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (6): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (7): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (8): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (9): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (10): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (11): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (12): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (13): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (14): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (15): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (16): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (17): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (18): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (19): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (20): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (21): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (22): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (23): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (24): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (25): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (26): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (27): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (28): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (29): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (30): "Maximum Capacity Percent": 97
battery-health (VSS1, Deleted) (31): "Maximum Capacity Percent": 97
Base_18 hardware descriptor
fmm-computer-name: MacBook Air von Macschrauber
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.)



Nach etwas Knobeln und Umstellen habe ich auch das Datum dekodieren können.
In diesem Beispiel:
Code:
battery-health (VSS2, Deleted) (1): "Maximum Capacity Percent": 99 @ 28.04.2023 20:05:40
battery-health (VSS2, Deleted) (2): "Maximum Capacity Percent": 99 @ 28.04.2023 20:05:40
battery-health (VSS2, Deleted) (3): "Maximum Capacity Percent": 99 @ 28.04.2023 20:05:40
battery-health (VSS2, Deleted) (4): "Maximum Capacity Percent": 99 @ 28.04.2023 20:05:40
battery-health (VSS2, Deleted) (5): "Maximum Capacity Percent": 99 @ 28.04.2023 20:05:40
battery-health (VSS2, Deleted) (6): "Maximum Capacity Percent": 98 @ 01.05.2023 18:16:58
battery-health (VSS2, Deleted) (7): "Maximum Capacity Percent": 98 @ 24.06.2023 14:18:06
battery-health (VSS2, Deleted) (8): "Maximum Capacity Percent": 98 @ 24.06.2023 14:18:06
battery-health (VSS2, Deleted) (9): "Maximum Capacity Percent": 98 @ 24.06.2023 14:18:06
battery-health (VSS2, Deleted) (10): "Maximum Capacity Percent": 98 @ 26.06.2023 12:15:01
battery-health (VSS2, Deleted) (11): "Maximum Capacity Percent": 98 @ 26.06.2023 12:15:01
battery-health (VSS2, Deleted) (12): "Maximum Capacity Percent": 97 @ 28.06.2023 10:15:01
battery-health (VSS2, Deleted) (13): "Maximum Capacity Percent": 97 @ 28.06.2023 10:15:01
battery-health (VSS1, Deleted) (1): "Maximum Capacity Percent": 97 @ 30.06.2023 08:15:01
battery-health (VSS1, Deleted) (2): "Maximum Capacity Percent": 97 @ 30.06.2023 08:15:01
battery-health (VSS1, Deleted) (3): "Maximum Capacity Percent": 97 @ 02.07.2023 06:15:01
battery-health (VSS1, Deleted) (4): "Maximum Capacity Percent": 97 @ 02.07.2023 06:15:01
battery-health (VSS1, Deleted) (5): "Maximum Capacity Percent": 97 @ 04.07.2023 04:15:01
battery-health (VSS1, Deleted) (6): "Maximum Capacity Percent": 97 @ 04.07.2023 04:15:01
battery-health (VSS1, Deleted) (7): "Maximum Capacity Percent": 97 @ 04.07.2023 04:15:01
battery-health (VSS1, Deleted) (8): "Maximum Capacity Percent": 97 @ 04.07.2023 04:15:01
battery-health (VSS1, Deleted) (9): "Maximum Capacity Percent": 97 @ 04.07.2023 04:15:01
battery-health (VSS1, Deleted) (10): "Maximum Capacity Percent": 97 @ 04.07.2023 04:15:01
battery-health (VSS1, Deleted) (11): "Maximum Capacity Percent": 97 @ 04.07.2023 04:15:01
battery-health (VSS1, Deleted) (12): "Maximum Capacity Percent": 97 @ 04.07.2023 04:15:01
battery-health (VSS1, Deleted) (13): "Maximum Capacity Percent": 97 @ 04.07.2023 04:15:01
battery-health (VSS1, Deleted) (14): "Maximum Capacity Percent": 97 @ 04.07.2023 04:15:01
battery-health (VSS1, Deleted) (15): "Maximum Capacity Percent": 97 @ 04.07.2023 04:15:01
battery-health (VSS1, Deleted) (16): "Maximum Capacity Percent": 97 @ 04.07.2023 04:15:01
battery-health (VSS1, Deleted) (17): "Maximum Capacity Percent": 97 @ 04.07.2023 04:15:01
battery-health (VSS1, Deleted) (18): "Maximum Capacity Percent": 97 @ 04.07.2023 04:15:01
battery-health (VSS1, Deleted) (19): "Maximum Capacity Percent": 97 @ 04.07.2023 04:15:01
battery-health (VSS1, Deleted) (20): "Maximum Capacity Percent": 97 @ 05.07.2023 07:45:54
battery-health (VSS1, Deleted) (21): "Maximum Capacity Percent": 97 @ 06.07.2023 19:30:56
battery-health (VSS1, Deleted) (22): "Maximum Capacity Percent": 97 @ 06.07.2023 19:30:56
battery-health (VSS1, Deleted) (23): "Maximum Capacity Percent": 97 @ 06.07.2023 19:30:56
battery-health (VSS1, Deleted) (24): "Maximum Capacity Percent": 97 @ 06.07.2023 19:30:56
battery-health (VSS1, Deleted) (25): "Maximum Capacity Percent": 97 @ 06.07.2023 19:30:56
battery-health (VSS1, Deleted) (26): "Maximum Capacity Percent": 97 @ 06.07.2023 19:30:56
battery-health (VSS1, Deleted) (27): "Maximum Capacity Percent": 97 @ 06.07.2023 19:30:56
battery-health (VSS1, Deleted) (28): "Maximum Capacity Percent": 97 @ 06.07.2023 19:30:56
battery-health (VSS1, Deleted) (29): "Maximum Capacity Percent": 97 @ 06.07.2023 19:30:56
battery-health (VSS1, Deleted) (30): "Maximum Capacity Percent": 97 @ 06.07.2023 19:30:56
battery-health (VSS1, Deleted) (31): "Maximum Capacity Percent": 97 @ 10.07.2023 09:33:44




Das Tool zeigt das auch im Grafikmodus an, so ists aber besser darzustellen.

Es wurde noch einiges weiteres überarbeitet, das meiste uninteressante Interna...

Der Link ist in meiner Signatur, so muss ich das nicht ständig ändern.
 
Zuletzt bearbeitet:
Kann nicht mehr editieren, hier die vollständige Darstellung der Zeitstempel / timestamps / ts:

Code:
bathealth (VSS1, normal):        Capacity: 97   seedTs:  01.05.2023 18:16:58  tsPrev:  02.07.2023 06:15:01  ts:  04.07.2023 04:15:01 
bathealth (VSS2, normal):        Capacity: 97   seedTs:  01.05.2023 18:16:58  tsPrev:  28.06.2023 10:15:01  ts:  30.06.2023 08:15:01 
bathealth (VSS2, deleted) (1):   Capacity: 99   seedTs:  28.04.2023 20:05:40  tsPrev:  01.01.1970 01:00:00  ts:  28.04.2023 20:05:40 
bathealth (VSS2, deleted) (2):   Capacity: 99   seedTs:  28.04.2023 20:05:40  tsPrev:  01.01.1970 01:00:00  ts:  28.04.2023 20:05:40 
bathealth (VSS2, deleted) (3):   Capacity: 99   seedTs:  28.04.2023 20:05:40  tsPrev:  01.01.1970 01:00:00  ts:  28.04.2023 20:05:40 
bathealth (VSS2, deleted) (4):   Capacity: 99   seedTs:  28.04.2023 20:05:40  tsPrev:  01.01.1970 01:00:00  ts:  28.04.2023 20:05:40 
bathealth (VSS2, deleted) (5):   Capacity: 99   seedTs:  28.04.2023 20:05:40  tsPrev:  01.01.1970 01:00:00  ts:  28.04.2023 20:05:40 
bathealth (VSS2, deleted) (6):   Capacity: 98   seedTs:  01.05.2023 18:16:58  tsPrev:  28.04.2023 20:05:40  ts:  01.05.2023 18:16:58 
bathealth (VSS2, deleted) (7):   Capacity: 98   seedTs:  01.05.2023 18:16:58  tsPrev:  01.05.2023 18:16:58  ts:  24.06.2023 14:18:06 
bathealth (VSS2, deleted) (8):   Capacity: 98   seedTs:  01.05.2023 18:16:58  tsPrev:  01.05.2023 18:16:58  ts:  24.06.2023 14:18:06 
bathealth (VSS2, deleted) (9):   Capacity: 98   seedTs:  01.05.2023 18:16:58  tsPrev:  01.05.2023 18:16:58  ts:  24.06.2023 14:18:06 
bathealth (VSS2, deleted) (10):  Capacity: 98   seedTs:  01.05.2023 18:16:58  tsPrev:  24.06.2023 14:18:06  ts:  26.06.2023 12:15:01 
bathealth (VSS2, deleted) (11):  Capacity: 98   seedTs:  01.05.2023 18:16:58  tsPrev:  24.06.2023 14:18:06  ts:  26.06.2023 12:15:01 
bathealth (VSS2, deleted) (12):  Capacity: 97   seedTs:  01.05.2023 18:16:58  tsPrev:  26.06.2023 12:15:01  ts:  28.06.2023 10:15:01 
bathealth (VSS2, deleted) (13):  Capacity: 97   seedTs:  01.05.2023 18:16:58  tsPrev:  26.06.2023 12:15:01  ts:  28.06.2023 10:15:01 
bathealth (VSS1, deleted) (1):   Capacity: 97   seedTs:  01.05.2023 18:16:58  tsPrev:  28.06.2023 10:15:01  ts:  30.06.2023 08:15:01 
bathealth (VSS1, deleted) (2):   Capacity: 97   seedTs:  01.05.2023 18:16:58  tsPrev:  28.06.2023 10:15:01  ts:  30.06.2023 08:15:01 
bathealth (VSS1, deleted) (3):   Capacity: 97   seedTs:  01.05.2023 18:16:58  tsPrev:  30.06.2023 08:15:01  ts:  02.07.2023 06:15:01 
bathealth (VSS1, deleted) (4):   Capacity: 97   seedTs:  01.05.2023 18:16:58  tsPrev:  30.06.2023 08:15:01  ts:  02.07.2023 06:15:01 
bathealth (VSS1, deleted) (5):   Capacity: 97   seedTs:  01.05.2023 18:16:58  tsPrev:  02.07.2023 06:15:01  ts:  04.07.2023 04:15:01 
bathealth (VSS1, deleted) (6):   Capacity: 97   seedTs:  01.05.2023 18:16:58  tsPrev:  02.07.2023 06:15:01  ts:  04.07.2023 04:15:01 
bathealth (VSS1, deleted) (7):   Capacity: 97   seedTs:  01.05.2023 18:16:58  tsPrev:  02.07.2023 06:15:01  ts:  04.07.2023 04:15:01 
bathealth (VSS1, deleted) (8):   Capacity: 97   seedTs:  01.05.2023 18:16:58  tsPrev:  02.07.2023 06:15:01  ts:  04.07.2023 04:15:01 
bathealth (VSS1, deleted) (9):   Capacity: 97   seedTs:  01.05.2023 18:16:58  tsPrev:  02.07.2023 06:15:01  ts:  04.07.2023 04:15:01 
bathealth (VSS1, deleted) (10):  Capacity: 97   seedTs:  01.05.2023 18:16:58  tsPrev:  02.07.2023 06:15:01  ts:  04.07.2023 04:15:01 
bathealth (VSS1, deleted) (11):  Capacity: 97   seedTs:  01.05.2023 18:16:58  tsPrev:  02.07.2023 06:15:01  ts:  04.07.2023 04:15:01 
bathealth (VSS1, deleted) (12):  Capacity: 97   seedTs:  01.05.2023 18:16:58  tsPrev:  02.07.2023 06:15:01  ts:  04.07.2023 04:15:01 
bathealth (VSS1, deleted) (13):  Capacity: 97   seedTs:  01.05.2023 18:16:58  tsPrev:  02.07.2023 06:15:01  ts:  04.07.2023 04:15:01

ts scheint aktuell zu sein,
tsPrev die vorige Messung

nur was ist seedTS ?
 
Zurück
Oben Unten