Forum RSS Feed Follow @ Twitter Follow On Facebook

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[-]
Welcome
You have to register before you can post on our site.

Username:


Password:





[-]
Latest Threads
[REQUEST] Lenovo IdeaPad Z510 (8DCNxxWW)...
Last Post: Dudu2002
Today 02:29 PM
» Replies: 16
» Views: 7445
[REQUEST] Acer Aspire VN7-791(G) BIOS Un...
Last Post: Dudu2002
Today 11:28 AM
» Replies: 89
» Views: 74725
[REQUEST] Lenovo ThinkPad Edge E531 (HEE...
Last Post: BonoboJoe
Today 10:03 AM
» Replies: 122
» Views: 28980
HP DX2300 45nm CPU unlock
Last Post: DeathBringer
Today 04:16 AM
» Replies: 29
» Views: 11621
[REQUEST] Lenovo G400S (7BCNxxWW) Whitel...
Last Post: roohmcd
Yesterday 10:18 PM
» Replies: 203
» Views: 81244
[REQUEST] Acer Predator Helios 500 PH517...
Last Post: starkid84
Yesterday 07:48 PM
» Replies: 5
» Views: 82
[request] unlock / gpu whitelist for HP ...
Last Post: ValentHR
Yesterday 04:28 PM
» Replies: 0
» Views: 50
[REQUEST] ASUS Prime N100I-D D4 CSM
Last Post: walter5
Yesterday 04:10 AM
» Replies: 1
» Views: 114
[REQUEST] Gigabyte Aorus 5 SE4 BIOS Unlo...
Last Post: DidiEdd
09-10-2024 11:08 AM
» Replies: 14
» Views: 649
[REQUEST] Gigabyte Aero 15 OLED KC BIOS ...
Last Post: albertolc1991
09-10-2024 09:48 AM
» Replies: 11
» Views: 2686
Lenovo E330 Battery Unlock
Last Post: Househusband83
09-10-2024 12:01 AM
» Replies: 7
» Views: 3485
Acer A515-53-54LT - SRK05 -I5-113G7 - LA...
Last Post: alancandido
09-09-2024 11:53 PM
» Replies: 0
» Views: 81
Lenovo G40-80 default BIOS version
Last Post: BlackSparta45
09-09-2024 09:21 PM
» Replies: 0
» Views: 100
AWARD BIOS - extracting and rebuilding A...
Last Post: ashm
09-09-2024 04:32 PM
» Replies: 0
» Views: 102
[REQUEST] Lenovo G500 (78CNxxWW) BIOS Un...
Last Post: Dudu2002
09-09-2024 03:26 PM
» Replies: 283
» Views: 140320
Lenovo G500 & G400 (78CNxxWW) CPU Upgrad...
Last Post: DeathBringer
09-09-2024 02:42 PM
» Replies: 44
» Views: 4345
[request] Bricked asus g15 advantage edi...
Last Post: hashimora_00
09-09-2024 01:38 PM
» Replies: 0
» Views: 106
[REQUEST] Lenovo IdeaPad Z570 (45CNxxWW)...
Last Post: Golima
09-09-2024 04:58 AM
» Replies: 162
» Views: 56290
[REQUEST] Lenovo G580 (5ECNxxWW) Whiteli...
Last Post: Dudu2002
09-08-2024 08:09 AM
» Replies: 1723
» Views: 630684
[REQUEST] HP Pro X2 612 G2 (L5H59EA) Whi...
Last Post: shija3065
09-08-2024 02:53 AM
» Replies: 0
» Views: 179

[How To] Phoenix BIOS Modifications
#1
Information 
I'd like to add a few tutorials to this thread. The first one I am going to be adding is for BIOS modders (or "aspiring" modders). This tutorial will teach you how to fix a PhoenixTool error message that occurs when repacking the modified TEMPLAT module. PhoenixTool says that the file is "4 bytes too long" or some other number of bytes too large or small even though the TEMPLAT file is EXACTLY the same size as before.

The reason that this issue occurs is compression. When you modify bytes, the entire file must recompress differently. In some cases, the modification will cause the modified file to be bigger when compressed than the original file. Since PhoenixTool does NOT want to change the offsets of the modules, it refuses to repack if the repacked file size is different. The different recompression is also why, when repacked, the modded BIOS image will have a massive number of sequential modified bytes in the place where the TEMPLAT module is in the image.

CREDITS: Yen from MDL taught me about why this happens and how to fix it. I am just converting his tip into a full tutorial for public use.

NOTE: In this tutorial, I will be using my BIOS image (R0070J4) as an example. Here is the link. The file "bios.wph" in the linked archive is a flashable BIOS image. You will only need the unmodified BIOS image ("bios.wph") for this tutorial, but the following 2 files serve as an example. The "TEMPLAT0_mod.ROM" file contains an example of the "spacing" in the offset range 0x686B-0x689D. Notice how I replaced the text with spaces (In hex a space is 20h). Compare this with the "TEMPLAT0.ROM" file (original unmodified TEMPLAT).

NOTE: I will be using HxD Hex Editor in this tutorial as well.

Reproduction of this error:
1.) Perform your modification (such as adding a menu or changing an option, you only need a single byte to reproduce the error) on TEMPLAT0.ROM, but keep the file size EXACTLY the same.
2.) Attempt to repack the image with PhoenixTool.
•No SLIC, no other options checked that will modify the image (no ID replacement, etc.)
•Dynamic style mod (This error also appears with SSV2)

Instructions

1.) Perform your modification to the TEMPLAT0.ROM file. Make sure the file size stays EXACTLY the same. Copy the modified file to another directory before continuing to the next step (as it will undo your work). The best way to do this is to unpack the image, copy the TEMPLAT module to a nearby directory, mod it from there, and then copy paste it back to the DUMP directory whenever you want to repack the image with PhoenixTool.

2.) Try to repack the image with PhoenixTool. Take note of the error message (specifically how many bytes the file is "too large" or "too small"). This number of bytes will be the approximate number of bytes in the text string to replace with spaces.

3.) Search (plain text) for "PCI SCSI:" or just "PCI". You should come across a text string. In this BIOS, it is "PCI SCSI: LSI MPI Boot Support".

4.) After the "PCI SCSI:" (you could do it before, but this will make it difficult to differentiate the text string from the hex code which you do NOT want to edit), click in some part of the text string in the text column of the hex editor and replace characters with spaces. The number of spaces will be approximately the number of bytes in the error message from step #2.

Example:

If the file was "4 bytes too large," you would turn
Quote:Ã..PCI SCSI: LSI MPI Boot Support.....................

Into...

Quote:Ã..PCI SCSI: ___ _PI Boot Support.....................

Note: In this example, I used 4 underscores, because the site would not let me keep the spaces. In your modification, you would input spaces, not underscores.


5.) Save this file and copy it back to the DUMP directory for repacking. When repacking, if the file it still "x bytes too long," try replacing x number of bytes in the text string with spaces, then try repacking again.

6.) If the image successfully repacks, check the little log portion of the PhoenixTool window for a message saying that the TEMPLAT module was "x bytes too small." If so, replace x number of spaces with the original text in the text string and repack again.

7.) Perform steps #5 and/or #6 as many times as necessary. For my full(ish) unlock of 3 new parent menus, it took 2 tries.

8.) Congratulations, you now have a modified BIOS!

Be sure to unpack the file to verify that the modules weren't mutilated in the normal repacking process (I do this for ALL BIOS mods, regardless of whether or not the size issue is present). You can test your image in PBE.


NOTE: I will be updating this thread with more examples within the tutorial. If you have any questions or suggestions, feel free to contact me.

~Steven

!!!!!PLEASE READ!!!!!! Our Ukrainian friends are undergoing atrocities right now and need support. There are two things you can do for starters:

1.) Donate to one of various organizations offering medical, military, and psychological support to those impacted: Support Organizations

2.) Combat misinformation on social media. 

Also, please feel free to PM me if I have not replied again about your BIOS mod request after 5 days.
www find
quote
#2
Information 
This is the next installment in my Phoenix modding tutorials series. In the linked tutorial, I will be explaining, in detail, how to trace NVRAM registers to and from your symcmos NVRAM Token Table dump and their respective plain text strings in STRINGS0.ROM.

Here is the link to the tutorial in the bios-mods Wiki.

If you wish to discuss the tutorial, please go to this thread.

I have created a thread dedicated to the finding and documentation of Phoenix NVRAM registers on bios-mods. Here is the link to the NVRAM Register Master List. So far, the list includes VT-x, AHCI, & DEP registers. Upon request, I can find other registers as well (such as thermal settings).

~Steven

!!!!!PLEASE READ!!!!!! Our Ukrainian friends are undergoing atrocities right now and need support. There are two things you can do for starters:

1.) Donate to one of various organizations offering medical, military, and psychological support to those impacted: Support Organizations

2.) Combat misinformation on social media. 

Also, please feel free to PM me if I have not replied again about your BIOS mod request after 5 days.
www find
quote
#3
Alright so I have some advice and a problem.

Advice: de-compile using Andy P's SLIC tool as it is a bit more updated, less glitchy, and/or if PBE won't properly load your BIOS.
Also here is a link to another thread that also has a complete PDF on how to edit a phoenix BIOS:
https://www.bios-mods.com/forum/Thread-P...OS-modding

Problem: I de-compiled 2 dell BIOSs and both don't have their files with names like "template0" and "strings0". Instead they are just listed as hex numbers like "0E_22" or "09_17" which does not help differentiate which file is which.

Any help?

P.S I know this thread is old, I hope someone replies...
find
quote
#4
(09-19-2017, 05:48 PM)1creeperbomb Wrote: Alright so I have some advice and a problem.

Advice: de-compile using Andy P's SLIC tool as it is a bit more updated, less glitchy, and/or if PBE won't properly load your BIOS.
Also here is a link to another thread that also has a complete PDF on how to edit a phoenix BIOS:
https://www.bios-mods.com/forum/Thread-P...OS-modding

Problem: I de-compiled 2 dell BIOSs and both don't have their files with names like "template0" and "strings0". Instead they are just listed as hex numbers like "0E_22" or "09_17" which does not help differentiate which file is which.

Any help?

P.S I know this thread is old, I hope someone replies...


If you upload the BIOS images, I may be able to answer your question.
~Steven

!!!!!PLEASE READ!!!!!! Our Ukrainian friends are undergoing atrocities right now and need support. There are two things you can do for starters:

1.) Donate to one of various organizations offering medical, military, and psychological support to those impacted: Support Organizations

2.) Combat misinformation on social media. 

Also, please feel free to PM me if I have not replied again about your BIOS mod request after 5 days.
www find
quote
#5
(09-20-2017, 08:12 PM)Sml6397 Wrote:
(09-19-2017, 05:48 PM)1creeperbomb Wrote: Alright so I have some advice and a problem.

Advice: de-compile using Andy P's SLIC tool as it is a bit more updated, less glitchy, and/or if PBE won't properly load your BIOS.
Also here is a link to another thread that also has a complete PDF on how to edit a phoenix BIOS:
https://www.bios-mods.com/forum/Thread-P...OS-modding

Problem: I de-compiled 2 dell BIOSs and both don't have their files with names like "template0" and "strings0". Instead they are just listed as hex numbers like "0E_22" or "09_17" which does not help differentiate which file is which.

Any help?

P.S I know this thread is old, I hope someone replies...


If you upload the BIOS images, I may be able to answer your question.
~Steven


Alright, since the max limit of files is 5 I had to upload to google drive instead (link below).

These are the files I got after using Andy P's SLIC tool to decompile it from a dell bios .exe file. Interestingly, by uploading to the google drive it registered some of the rom files as an image which looks like a boot logo and 6 "intel inside" logos. This further removes some files out of the list however there are still a lot that are unidentified.

https://drive.google.com/drive/folders/0...sp=sharing

Thanks for reply   Big Grin
find
quote


Forum Jump:


Users browsing this thread: 1 Guest(s)