Tool to Insert/Replace SLIC in Phoenix / Insyde / Dell / EFI BIOSes

Discussion in 'MDL Projects and Applications' started by andyp, Nov 26, 2009.

  1. andyp

    andyp SLIC Tools Author

    Aug 8, 2008
    1,673
    2,570
    60
    #3661 andyp, Nov 30, 2013
    Last edited by a moderator: Apr 20, 2017
    (OP)
    Thanks. I think you know this stuff better than I do!

    Do you have any experience with crypto functions - I would like to emulate the digital signing check of ASUS EFIs (as done in UEFICAPSULE.EXE) but I don't know exactly how to do it.

    A

     
  2. ogihara

    ogihara MDL Novice

    Jun 23, 2013
    9
    0
    0
    "Who's Who" :)
     
  3. Tito

    Tito Super Mod / Adviser
    Staff Member

    Nov 30, 2009
    18,822
    19,031
    340
  4. Tito

    Tito Super Mod / Adviser
    Staff Member

    Nov 30, 2009
    18,822
    19,031
    340
    Is it possible to integrate the idea of using the signing key to sign Aptio EFIs with modded modules (no SLIC)??

    :busted_blue:
     
  5. andyp

    andyp SLIC Tools Author

    Aug 8, 2008
    1,673
    2,570
    60
    I don't think so. I don't think its an RSA private key. But I know very little about crypto so could be wrong
    A

     
  6. samir0558

    samir0558 MDL Novice

    Jul 22, 2011
    6
    2
    0
    thnak you, great work
     
  7. CodeRush

    CodeRush MDL Member

    Jun 20, 2011
    221
    674
    10
    #3670 CodeRush, Dec 2, 2013
    Last edited by a moderator: Apr 20, 2017
    andyp, I haven't any big experience with cryptography too, but I think we can only verify validity of the capsule, because we don't have ASUS/Asrock/etc. private keys.
    There are definitely RSA2048 and SHA256 there, look at his definitions.
    Code:
    typedef struct {
      WIN_CERTIFICATE   Hdr;
      EFI_GUID          CertType;
    //  UINT8            CertData[1];
    //    EFI_CERT_BLOCK_RSA_2048_SHA256  CertData;
    } WIN_CERTIFICATE_UEFI_GUID_1;
    
    typedef struct {
        WIN_CERTIFICATE_UEFI_GUID_1      Hdr;        // 24
        EFI_CERT_BLOCK_RSA_2048_SHA256   CertData;   // 16+256+256
    } AMI_CERTIFICATE_RSA2048_SHA256;
    
    typedef struct {
        AMI_CERTIFICATE_RSA2048_SHA256   SignCert;   // 24+16+256+256
        EFI_CERT_BLOCK_RSA_2048_SHA256   RootCert;   // 16+256+256
    } FW_CERTIFICATE;
    
    I don't know exactly, if the capsule can be signed with out own key - I hope so, but for there is no need to do it, because "afuwin64 /gan" disables the header verification and flashes modified image as is.
     
  8. andyp

    andyp SLIC Tools Author

    Aug 8, 2008
    1,673
    2,570
    60
    #3671 andyp, Dec 2, 2013
    Last edited by a moderator: Apr 20, 2017
    (OP)
    Hi

    We can only verify. But it would be handy as often people mod ASUS EFIs and then get caught by the verification failed msg. I didn't know about the /gan flag though.

    I have found those structs. Was having a play last night but didn't get far.

    Thanks
    Andy

     
  9. RoachemGood

    RoachemGood MDL Novice

    Dec 6, 2013
    6
    1
    0
    I have a P4m900-M4 rev6.2 biostar motherboard with supposedly phoenix Technologies,LTD bios and the tool reports not phoenix bios? am I missing something?
     
  10. Tito

    Tito Super Mod / Adviser
    Staff Member

    Nov 30, 2009
    18,822
    19,031
    340
  11. charnow

    charnow MDL Novice

    Nov 14, 2012
    10
    11
    0
    Could the problem be that these bios files also contain a UEFI component?

     
  12. andyp

    andyp SLIC Tools Author

    Aug 8, 2008
    1,673
    2,570
    60