Old AMI bios and MSDM insertion

Discussion in 'BIOS Mods' started by mishak, Feb 10, 2014.

  1. mishak

    mishak MDL Novice

    Aug 10, 2009
    4
    0
    0
    Hello, sorry to distrub all of you ( especially Yen).

    I try to understand how to insert MSDM.
    My motherboard SuperMicro X8STi supermicro.com/products/system/1U/5016/SYS-5016T-T.cfm It is Ami bios. Amitool 1.63 insert SLIC good but ...

    Now I learned to run mmtool v3.26, extract decompressed module 1B,then I found a program ami_1b_splitter.exe, which gives ACPITBL_SEG as a separate file . But I can not understand why all pointers to other tables in RSDT and XSDT - all zeros .
    In backup of my current bios - zeros too , although in rw-everything all tables good filled.

    No pointers to the tables does not give me way to understand how to add MSDM: where in ACPITBL_SEG.
    I think I found a place for MSDM injection (between XSDT and FACP modules) but how to put pointers on new MSDM module in RSDT and XSDT i don't know.
    Even when I save the my not_good_odified 1B module in bios , amitool1.63 can not open it (error 6). I think this is due to incorrect checksum in my module 1B

    - I can not find .jar for recheck/recalculate checksum of 1B module.
    - And I can not find AMI_AWARD_SUPER_STATIC.rar file for reading and best understanding

    Could you help me in anything if you have the time

    thank you
     
  2. Tito

    Tito Super Mod / Adviser
    Staff Member

    Nov 30, 2009
    17,696
    15,712
    340
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    11,405
    11,326
    340
    When you open your BIOS with AMITool it finds a SLIC 2.0 at F0 module already. When you press yes it chooses dynamic method. It simply replaces the SLIC (without header) at the F0 module.
    This is the reason why you cannot see static address pointers in the 1B module.

    Trick:
    Open the original BIOS with AMITool, press cancel (not yes). Choose manufacturer other.
    Choose SSV3 method. (This is the method where you looking at! SSV3 means SuperStaticVersion3). Choose Dell SLIC 2.3 and press go.
    Do NOT use this modified BIOS (it has 2 SLIC tables now), have a look at 1B_SLIC.BIN and search for the start of the SLIC.
    Now REPLACE the SLIC with your MSDM table and key using winhex, be sure that the MSDM table sums to zero. MSDM must start at he same place where SLIC has started. (same offset, here F8A4h) Zero out the excess bytes of the SLIC, it uses more bytes (change them to 00).
    Save the 1b module.

    Here is described how you change the key at MSDM / download a MSDMTable: http://forums.mydigitallife.net/thr...-VMware/page11?p=783505&viewfull=1#post783505

    Now open the original BIOS with MMTool. Replace the 1b module with it. You have now added a MSDMTable with SSV3 method and static addresses.
    Use now this BIOS with AMITool again. THIS time press yes and let the tool use dynamic method to replace the F0 module (SLIC2.0-->2.3).

    If you have further questions please reply....I can later make a mod for you if you want.:)
    As a part of the developing process I know all the methods.....can explain to you...
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. mishak

    mishak MDL Novice

    Aug 10, 2009
    4
    0
    0
    I need replace NEW slic module with msdm? If so i did it, and filled by 00(zeroes) remaining part of NEW slic. Should I recalculate some checksums of new 1B module? Or just insert in original bios?

    When i try to open original bios with inserter ssv3-modded 1B module, AMITool do not asked me "This BIOS has already have ...Allow modification?". I think it is not good. Or i need select OTHER again, than Dynamic, set checkbox USE MMTOOL and ... go??? P.S. can not use this way: error 6 ... overflow...

    Thanks
     
  5. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    11,405
    11,326
    340
    I'll test it when I am at home. It can be that the AMITool has problems if the MSDM is already added the SSV3 way.......
    Then you'd need first to add SLIC 2.3 (press yes) dynamic method. THEN replace 1b module with MSDM mod....

    You only need to correct the sum of the MSDMTable, the sum of 1b module then also does not change, because the table sum must be zero.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    11,405
    11,326
    340
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  7. genuineintel

    genuineintel MDL Member

    Apr 28, 2009
    229
    25
    10
    How can I insert an MSDM to a non-SLIC, legacy AMI BIOS such as P5Q Deluxe bios? SLIC mod using AMITool before or after MSDM mod? Any references? Thanks very much.
     
  8. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    11,405
    11,326
    340
    You are referring to a classic BIOS. :worthy:
    The ASUS P5 series BIOSes were the FIRST which could be SLIC'ed at all. It was on February 2007 when Aneo wrote about a potential flaw to exploit the SLP2.0 activation. He used the P5B BIOS as example. It was hard for me to get a proper translation of his document. :)
    ASUS prepared this series to have a SLIC inside in the future.

    The Chinese then downloaded all available BIOS tools from a German BIOS collection site....there was no super static approach yet, to replace an already existing table was the way to go...or to dynamically allocate the table at Award BIOS....

    A Chinese passed the method to me and I leaned myself to apply and develop methods (on IRC).
    I got my Vista activated on March 2007, self made dynamic Award mod...:D
    There were no loaders, no software, nothing by Daz....those all came much later....


    Your BIOS still holds the FC module for a dynamic mod...later ASUS locked this method, but we broke it: http://forums.mydigitallife.net/thr...ts-to-test-it-Disassembly-skills-are-welcome!

    Nobody went for the dynamic FC mod anymore since SSV3 worked all the time and couldn't be locked by Asus anymore

    Generally it is possible to add a second (MSDM) table besides of a SLIC to any BIOS (Award, AMI and PHOENIX).

    Andy's tools are not made for it. Concerning AMI: If there is a dynamic method available I'd suggest to add the SLIC dynamically using AMITool first, THEN to replace the 1b module with a self made (replaced SLIC with MSDM) SSV3 mod using MMTool.

    If there is no dynamic method available, both tables can be added manually the SSV3 way, there is enough space to put both tables into the 1b module. One simply would need to extend the RSDT /XSDT even further (+4/+8) to add a new address pointer pair behind the SLIC address pointers at RSDT/XSDT tables...

    To flash the FC module afudos needs special switches though. Afudos /ixxxx.rom /pbnc /n, probably needed if default dynamic mod does not have a SLIC shown up.

    A way to go @ASUS P5 series BIOSes: Make a dynamic SLIC mod with AMITool, choose manufacturer:ASUS.
    Then use this mod to replace the 1B module with the MDSM mod using MMTool.

    So the answer is before MSDM mod as well. You'd have to use the firstly created 1B_SLIC.BIN to add the MDSMTable.


    The general way at AMI BIOSes is to add both tables the SSV3 way. To add a SLIC one can use andy's tool. (SSV3 method).
    The MSDM has to be added later manually the same way....therefore one needs to know how SSV3 works...


    Well, I thought to add a MSDMTable additionally is only for testing purposes, but since M$ reads generic SLP keys from it it could be interesting for many others.

    Actually the thread contains anything that is needed to make a own mod....but I'll be glad to help if somebody is interested in special questions...:)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. genuineintel

    genuineintel MDL Member

    Apr 28, 2009
    229
    25
    10
  10. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    11,405
    11,326
    340
    #10 Yen, Apr 11, 2014
    Last edited by a moderator: Apr 20, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  11. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    11,405
    11,326
    340
    #11 Yen, Apr 11, 2014
    Last edited by a moderator: Apr 20, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  12. Tito

    Tito Super Mod / Adviser
    Staff Member

    Nov 30, 2009
    17,696
    15,712
    340
    Thanks Yen, really helpful guide. Always learning the basic of bios mods from you. I have stickied this thread.

    :hug2:
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  13. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    11,405
    11,326
    340
    You're welcome. There are not many left who were involved in the development of the basics and we have EFI already, so it's better to share, before I forget anything myself, lol. Enjoy. :hug2:
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  14. genuineintel

    genuineintel MDL Member

    Apr 28, 2009
    229
    25
    10
    Tried the msdm modded bios for Windows Server 2008 R2 Datacenter using the FUJITSU key. The MSDM table does show up in RWEverything ACPI tab and Windows remains activated. :worthy:

    So, I guess it's about time to UPGRADE to 2012 R2...... :tasty:
     
  15. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    11,405
    11,326
    340
    I thank you for your trust to test 'my' mod / tutorial.:hug2:

    So we have finally a real confirmation.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. 568822578

    568822578 MDL Novice

    Jun 24, 2014
    1
    0
    0
    really helpful guide very thanks
     
  17. ForrestGump

    ForrestGump MDL Member

    Oct 19, 2018
    156
    54
    10
    @Yen
    Thank you for creating this tuto, it is really well detailed, i was looking for such tuto for a while as i wanted to inject MSDM table into a slic and i have finally found it => https://forums.mydigitallife.net/threads/old-ami-bios-and-msdm-insertion.52378/#post-900176

    So i followed exactly all the steps you mentionned in the tuto and i was able to create the 1B_MSDM.bin file containing MSDM table with my own key, RSDT and XSDT then i used MM_Tool to replace 1B by the one that i've just created (1B_MSDM.bin) then save it as rom file but the problem is that when i wanted to check if the rom file contains MSDM table, it says "MSDM was not found" so logically it means that the MSDM table was not placed into the rom file when it was there in the 1B_MSDM.bin file that was created after placing MSDM table then editing RSDT and XSDT.

    So how come the MSDM table does not appear into the final rom file ? is it normal that MSDM table was not found into the rom file ?

    i used this MM-tool version (MMTool_3.19_Mod_21FiX.exe)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  18. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    11,405
    11,326
    340
    Usually the modules will be compressed flowing a certain compression algo before they replace the original one.
    This means you won't find the MSDM string when searching for it at the modified BIOS ROM file.

    But you can extract the 1b module again from the modified ROM using MMtool and check it there.....I am sure you find it. :)

    WoW, I am glad that my old tutorial is still useful after that long time.:)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  19. ForrestGump

    ForrestGump MDL Member

    Oct 19, 2018
    156
    54
    10
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  20. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    11,405
    11,326
    340
    As mentioned....BIOS images that are made for real hardware (mainboard) contain a compressed 1B module to save space. By compressing it you of course change the bytes of the module and the MSDM string vanishes. It's just like when you rar or zip a file. The strings do vanish as well.

    The bios440.rom is a virtual bios for VM, though. It's special....and therefore an exception.

    It took time to study it and to find out HOW Microsoft has implemented that there. Since the ACPITable name appears there as real ASCII we knew it cannot be compressed.
    The first thing we wanted to achieve that time was to insert a real working SLIC table there and therefore we needed to understand the module header bytes and checksums.

    This thread shows the development: https://forums.mydigitallife.net/threads/can-the-hyper-v-bios-be-modded.2829/page-7#post-58832
    After we could insert a working SLIC we got interested in adding a MSDM table as well putting all knowledge together.

    For the sake of curiosity...if you want to verify.
    MMTool lets you choose if you want to insert the module compressed or uncompressed. The default is compressed and should not change.
    If you insert/replace it choosing uncompressed the MSDM string in the BIOS.ROM images survives. (If it still fits in there because of original size).
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...