[UEFITool] UEFI firmware image viewer and editor

Discussion in 'MDL Projects and Applications' started by CodeRush, Oct 8, 2013.

  1. CodeRush

    CodeRush MDL Member

    Jun 20, 2011
    221
    674
    10
  2. krack38

    krack38 MDL Novice

    Aug 26, 2009
    7
    10
    0
    With phoenixTool 2.19, the structure is like in uefitool.



    The compression action is active ?
    Because it's always disabled or don't know how to use it.

    Edit: i didn't see the 0.9.2, i'll test and report
     
  3. CodeRush

    CodeRush MDL Member

    Jun 20, 2011
    221
    674
    10
    krack38, pad files GUID will always be FFs or 00s depending on volume erasePolarity bit in images modded by UEFITool, but there is no difference, because GUID of pad file must not be read according to PI specifications.
    Compression mode change can be used only if compressed section is selected.
     
  4. krack38

    krack38 MDL Novice

    Aug 26, 2009
    7
    10
    0
    Ok, with 0.9.2. Mmtool reports same structure.

    Will test compression and report.
     
  5. krack38

    krack38 MDL Novice

    Aug 26, 2009
    7
    10
    0
    Compression works nicely !!!

    I like the way to compress module :biggrin: without extracting and insert it compressed mmtool's way
    and we can batch modules remove !!!


    But Correct me if i'm wrong.

    We can change the compression only in the compressed section of the module.
    But if we insert an uncompressed module, there's no compression section in the module.
    How can we compress this module ?

    Can you explain the Rebuild button ?

    Edit:
    When i compress some modules (TcpDxe to Udp6Dxe), i free space in volume 2 but the volume 1 grows as Total bytes used:

    Total Bytes Free : 021ED0 ( 135 KB) Total Bytes Used : 3DE130 (3960 KB)
    Total Bytes Free : 010D78 ( 67 KB) Total Bytes Used : 3EF288 (4028 KB)

    I assume it's the same explanation that you wrote to xpamamadeus.
     
  6. CodeRush

    CodeRush MDL Member

    Jun 20, 2011
    221
    674
    10
    krack38, you are right about compression, the ability to compress previously uncompressed module will be added later (together with "Extract uncompressed", because they will use the same code). That is why the action called "Change compression method". :)

    About the Rebuild action: imagine that you have done some manual modification (or just ran PMPatch on some complex structured BIOS) and some of checksums became invalid. You opened that modified BIOS with UEFITool and saw message about invalid checksum. You don't need to change BIOS structure, just to correct checksums and stuff. The way to do it is Rebuild. As you can see, all other operations apply Rebuild on all parents of their target, so resulting file has (if there are no bugls like in version before 0.9.2) a valid structure.

    Yep, it's the same thing. Second volume is located inside compressed section of file in first volume, and double compression of the same data will very unlikely produce smaller data.
     
  7. XpamAmAdEuS

    XpamAmAdEuS MDL Novice

    Oct 24, 2009
    46
    15
    0
    thx for this explanation.
    Maybe its too much but can u compress coredxe and doo such modification for me?
    or make more detailed how to do it becouse i am not sure if i get all right.
     
  8. CodeRush

    CodeRush MDL Member

    Jun 20, 2011
    221
    674
    10
    XpamAmAdEuS, one addition: do not compress any of inserted FFS in volumes, that will later be compressed, because it only make resulting compressed section bigger. If modules don't fit, UEFITool will increase volume size automatically.
    Check it yourself that I have uncompressed all Osmozis-related modules after inserting.
    You can either insert your kexts uncompressed, or change compression type of an inserted kext to "Uncompressed" right after insertion.
     
  9. XpamAmAdEuS

    XpamAmAdEuS MDL Novice

    Oct 24, 2009
    46
    15
    0
    Thx.
    Good to know.
    But what about flashing this bios?
    Why it fail to flash with all methods i try ?
     
  10. CodeRush

    CodeRush MDL Member

    Jun 20, 2011
    221
    674
    10
    Try afudos bios.rom /gan from DOS-bootable USB drive.
     
  11. XpamAmAdEuS

    XpamAmAdEuS MDL Novice

    Oct 24, 2009
    46
    15
    0
    Not working.
    Error getting firmware info.
     
  12. CodeRush

    CodeRush MDL Member

    Jun 20, 2011
    221
    674
    10
    0.11.0 sources are pushed to the repo, binaries will be ready tomorrow.

    Changes:
    - UI reworked once again, I hope it's the last big UI rework
    - Search for hex pattern and text string (both ASCII and Unicode) implemented
    - Window position, size, tree widget size and width of all columns are now stored in and loaded from ini file
    - Code slightly refactored

    Known issue:
    - Qt 5.2 is still not released, so OSX version may crash on opening BIOS image file

    To be implemented next:
    - Autopatching engine and "Replace" action
     
  13. CodeRush

    CodeRush MDL Member

    Jun 20, 2011
    221
    674
    10
    0.11.0 binary for Windows uploaded.
     
  14. CodeRush

    CodeRush MDL Member

    Jun 20, 2011
    221
    674
    10