Announcement

Collapse
No announcement yet.

Mac EFI Toolkit

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Mac EFI Toolkit

    Hi all. I'm Muerto, the creator of SMCTool/SMCFT. I thought this would be a good home for discussion regarding an open source pet project I've been working on that aims in easing Mac BIOS/UEFI analysis and editing. It is currently developed for Windows, however is Wine compatible based on my own testing, and feedback from others. Project available on Github, there is also a manual with basic usage instructions.



    In terms of editing, it can export and replace the Fsys Store, edit the serial number + hwc, clean NVRAM stores, export and replace the ME Region in a limited manner, invalidate EFI lock by modifying the Message Authentication Code, etc. The Fsys CRC is also automatically masked when necessary.

    It provides information gathering capabilities, including reading the AppleRomSectionInformation, serial (ssn), hardware config (hwc), system order number (son), EFI version, board-id, detects the APFS driver (looks inside LZMA DXE volumes also), ME version.

    Updates are planned. There are currently some DPI scaling issues at 100% size, however these have been fixed for the coming update. I'm also learning a lot as I go on; however much testing is done. Here to answer any questions and support requests when I'm available.

    Thanks for reading, Muerto.
    Last edited by MuertoGB; 09-15-2023, 05:53 PM.

    #2
    Re: Mac EFI Toolkit

    Awesome... I'll give it a try

    Thank you !

    Comment


      #3
      Re: Mac EFI Toolkit

      Brilliant. Will try it this week as I get lots of old/bad boards that I fix and refurb.

      One of the biggest threats for me now with the pre T1/T2 system refurbishment is that newer NVMe drives (with adaptor) are no longer recognised. Crucial P2 drives worked fine but are now obsolete. P3/P3 Plus are not recognised, nor are Kingston NV2 drives. The latter were working then a later batch I ordered were no longer recognised. Is this something you could look at perhaps? The only ones that I can currently get that work are WD Blue SN570 drives.
      Last edited by reformatt; 09-15-2023, 08:52 PM.

      Comment


        #4
        Re: Mac EFI Toolkit

        It says Assets/met.pfx is password protected on compilation attempt. It requests password to import a certificate with sn.exe
        Any solution to this? Cheers

        Comment


          #5
          Re: Mac EFI Toolkit

          Originally posted by reformatt View Post
          Brilliant. Will try it this week as I get lots of old/bad boards that I fix and refurb.

          One of the biggest threats for me now with the pre T1/T2 system refurbishment is that newer NVMe drives (with adaptor) are no longer recognised. Crucial P2 drives worked fine but are now obsolete. P3/P3 Plus are not recognised, nor are Kingston NV2 drives. The latter were working then a later batch I ordered were no longer recognised. Is this something you could look at perhaps? The only ones that I can currently get that work are WD Blue SN570 drives.
          No worries, let me know how you get on. I'm always open to improvements, and looking out for bugs.

          This would be part of compatibility in the NVMe DXE driver, and the lack of updates. It's out of my scope right now, but I've put it on the research list.

          Comment


            #6
            Re: Mac EFI Toolkit

            Originally posted by Sergioz View Post
            It says Assets/met.pfx is password protected on compilation attempt. It requests password to import a certificate with sn.exe
            Any solution to this? Cheers
            If you're building from source, you will need to either disable signing, or resign the executable with your own PFX cert.

            In Visual Studio menu go to "Project > mefit Properties", then on the left hand navigation menu select "Signing" and uncheck "Sign the assembly".

            Comment


              #7
              Re: Mac EFI Toolkit

              Version 1.1.2 released. Fixes scaling issues based on feedback, adds some navigational improvements to dialogs.

              https://github.com/MuertoGB/MacEfiTo...leases/tag/112

              Comment


                #8
                Re: Mac EFI Toolkit

                tnx ill try this for sure and tnx for the great work

                Comment


                  #9
                  Re: Mac EFI Toolkit

                  Originally posted by dellxps15 View Post
                  tnx ill try this for sure and tnx for the great work
                  No worries, and thank you. Here to answer any questions.

                  Comment


                    #10
                    Re: Mac EFI Toolkit

                    Good Job@MuertoGB. Thanks for sharing. We need more people like you in this forum.

                    Comment


                      #11
                      Re: Mac EFI Toolkit

                      Great tool, saves me a few steps. Only thing I suppose so far is a 'save as' for the output image file. It's currently outimage_OrigFilename_number.bin

                      I usually use the format to describe what it is to refer back to when needed. But I guess this tool makes it superfluous really as it's pretty quick to do.

                      Boardnumber_SerialNumber_BiosVersion_CleanME.bin

                      Comment


                        #12
                        Re: Mac EFI Toolkit

                        @mcplslg123: Thank you for the kind words. I appreciate them.

                        @reformatt: I've added this to the list of changes coming in 1.1.3. In the beginning I was trying to make it 'simple', however trickling feedback is making it better; this is why I listen. In the next release you'll be able to provide your own path (it will still default to the 'builds' directory), and your own filename.

                        Comment


                          #13
                          Re: Mac EFI Toolkit

                          Okay, changes to allow a custom build path commited to the dev branch for the coming release. Clicking 'Build' in the patcher will now prompt a 'Save As' dialog, by default the path will show as, e.g: 'outimage_C02QC080FVH3_428.40.10.0.0.bin'; this way you can change appropriately.

                          https://github.com/MuertoGB/MacEfiTo...cbb91f4120a18d

                          Thanks for your feedback.
                          Last edited by MuertoGB; 09-26-2023, 04:58 PM.

                          Comment


                            #14
                            Re: Mac EFI Toolkit

                            Version 1.1.3 released. changes are based on user feedback, fixes some issues found during bug tracking.

                            https://github.com/MuertoGB/MacEfiTo...leases/tag/113

                            Comment


                              #15
                              Re: Mac EFI Toolkit

                              Great tool Muerto! Have been using to refurbish a few boards and a couple of things on the wish list.

                              When setting custom initial folder path to somewhere else, the patcher ignores that and just defaults to the parent directory the executable is in.

                              I went to copy the S/N to import to another BIOS, and clicked on it. Then realised you could do that via the COPY menu. Is that a big thing to just be able to click on the S/N for example to copy to clipboard?

                              Saves me a heap of time then doing this all manually with HXD and UEFI tool. Brilliant work!

                              Comment


                                #16
                                Re: Mac EFI Toolkit

                                @reformatt

                                Thanks for the feedback, I appreciate it.

                                As for 'click to copy' you can double click any label to put the text into the clipboard, it's just not very 'apparent'; I'll look into creating some visual feedback for this in an update.

                                For the patcher path, could you explain a little more about which path you speak of? For Fsys Stores and ME Regions, they will always default to their respected paths in the working directory ('/me_regions', '/fsys_stores'), unless I'm missing something. If you mean the patcher outputs to /builds folder, this was updated in version 1.1.3 and you can now select your own output path.

                                If you ever have any more feedback regarding navigational improvements, etc, I'm all ears.

                                Thanks, Muerto.
                                Last edited by MuertoGB; 10-06-2023, 12:11 PM.

                                Comment


                                  #17
                                  Re: Mac EFI Toolkit

                                  Didn't realise that, sorry, should have RTFM. But I've seen other programs highlight the field like a hyperlink, and it blinks when you click on it (or you get a small bubble saying copied to clipboard).

                                  So WRT to the path I mentioned. I have the exe under D:\Bios Tools, but my custom path is D:\Bios Dumps. When I use the patcher side of and press Build, it defaults to D:\Bios Tools\build, rather than D:\Bios Dumps\build.

                                  As far as naming goes, there is nothing to distinguish that the file is a Clean ME. Current naming arrangement is outimage_SerialNumber_BiosVersion.bin. If I replace the ME, then I rename it to BoardNumber_SerialNumber_BiosVersion_CleanME.bin.

                                  Comment


                                    #18
                                    Re: Mac EFI Toolkit

                                    See it's not in the manual either, so it's no wonder you didn't know. I'm working on click-to-copy for the coming update (shouldn't be much longer).

                                    I understand what you're speaking of now regarding the path, I'll eventually get to adding another path for the patchers initial directory into the settings, however, I have to do some work on the settings system first. I'll keep you posted here.

                                    As for 'CleanME' being appended to the file path automatically, this is not possible with the way mefit is built. ME Region editing is very basic on purpose, and leaves it to the user to ensure the Management Engine firmware is properly configured. It cannot detect if a firmware is initialized or configured, therefore you'll have to append the file name text yourself.

                                    Thanks again for investing your time into giving me feedback. It really helps.

                                    Comment


                                      #19
                                      Re: Mac EFI Toolkit

                                      Ok, get that. Wasn't asking for the program to detect it per se, rather just append it IF I select the Replace ME region option in the patcher. But I will just add it when I rename the outimage part to the board number.
                                      Last edited by reformatt; 10-08-2023, 01:56 AM.

                                      Comment


                                        #20
                                        Re: Mac EFI Toolkit

                                        Version 1.1.4 released. This release was focused on user feedback, improving the AppleEFI firmware parser, and refactoring of the codebase.

                                        https://github.com/MuertoGB/MacEfiTo...leases/tag/114

                                        @reformatt I've implemented single click copy to most main window labels for you, enjoy. I'll add the ability for a custom initial path in the patcher for the next release.
                                        Last edited by MuertoGB; 10-10-2023, 05:46 PM.

                                        Comment

                                        Working...
                                        X