Forum RSS Feed Follow @ Twitter Follow On Facebook

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

Username:


Password:





[-]
Latest Threads
[REQUEST] Lenovo Thinkpad E130 (H4ETxxWW...
Last Post: santafadroma
Today 02:14 AM
» Replies: 488
» Views: 113567
AliExpress Windows Tablet Bios Password ...
Last Post: jindraaa
Yesterday 06:00 PM
» Replies: 0
» Views: 52
Chuwi Lapbook Pro Laptop: corrupted bios
Last Post: voyagers
Yesterday 12:41 PM
» Replies: 5
» Views: 280
How to dump BIOS on Acer Predator Helios...
Last Post: fIysolos
Yesterday 01:28 AM
» Replies: 0
» Views: 101
[REQUEST] Sony VAIO SVE151 & SVE171 Seri...
Last Post: netxxl
05-30-2024 03:00 PM
» Replies: 57
» Views: 24923
REQUEST - Dell XPS 720 BIOS mod to unloc...
Last Post: milo3169
05-30-2024 12:40 PM
» Replies: 0
» Views: 116
[REQUEST] Lenovo Thinkpad Edge E430 & E5...
Last Post: Dudu2002
05-30-2024 11:41 AM
» Replies: 486
» Views: 141761
[REQUEST] Acer Predator Helios 300 PH315...
Last Post: Dudu2002
05-30-2024 11:38 AM
» Replies: 13
» Views: 6692
[REQUEST] BIOS unlock for an AMI based M...
Last Post: grave_digga
05-30-2024 07:33 AM
» Replies: 1
» Views: 225
[REQUEST] ASUS Maximus Z790 HERO | DMI E...
Last Post: Phantom14022
05-30-2024 03:39 AM
» Replies: 0
» Views: 155
[REQUEST] Lenovo IdeaPad L340 (BGCNxxWW)...
Last Post: Dudu2002
05-30-2024 02:50 AM
» Replies: 55
» Views: 16882
[REQUEST] Gigabyte Aorus 7 9KF Advanced ...
Last Post: N0Mercy
05-29-2024 07:14 PM
» Replies: 0
» Views: 151
[REQUEST] Acer Aspire E1-421 BIOS Unlock
Last Post: e_favero
05-29-2024 07:47 AM
» Replies: 19
» Views: 11283
MSI MS-7525 (Boston)
Last Post: Rishi68
05-29-2024 02:34 AM
» Replies: 19
» Views: 35827
HP EliteDesk 705 G5 SFF: CPU Upgrade
Last Post: Grucha98
05-28-2024 08:32 PM
» Replies: 2
» Views: 383
[REQUEST] Core 2 Duo era CPU support for...
Last Post: DeathBringer
05-28-2024 01:57 PM
» Replies: 14
» Views: 525
[REQUEST] Lenovo ThinkPad X1 Carbon Gen1...
Last Post: martkull
05-28-2024 12:12 PM
» Replies: 2
» Views: 362
Lenovo E-530 Help with Upgrades please.
Last Post: onknight
05-28-2024 07:52 AM
» Replies: 0
» Views: 169
[REQUEST] Sony Vaio SVF13N series BIOS U...
Last Post: Vadim000009
05-28-2024 01:32 AM
» Replies: 3
» Views: 1179
[REQUEST] HP Pro 3500 MT Full unlock
Last Post: Maxinator500
05-28-2024 12:48 AM
» Replies: 10
» Views: 1508

(UEFI) Dell XPS 15z L511z modded BIOS - and HOWTO
(06-29-2012, 02:45 AM)jkbuha Wrote: hey ryan - good to have you on board this project as well!

Not sure I have SetupBrowser module in my Dell BIOS - where did you look?
Also - why would you think this would contain any menu templates - have you seen something like this happening elsewhere?

I found it in the main bios file before you extract F33... .rom to get to the rest of the modules. I don't know that it would have any templates, but perhaps it would have code that could lead to understanding why some menus are shown, and why some aren't. I could be way off.. I'm still just learning how the specification works.
find
quote
Interesting. I have a similar module, though mine is called:

10f020 UserInterface (SystemFlashUpdateDriverDxe.efi) - Size 66

What is your machine?
find
quote
(06-29-2012, 05:45 AM)jkbuha Wrote: Interesting. I have a similar module, though mine is called:

10f020 UserInterface (SystemFlashUpdateDriverDxe.efi) - Size 66

What is your machine?

Dell L702x (non-3D) I'm working with bios revision A17


Sorry, I meant the physical file, not the firmware volume. My BIOS has three FV's at the top level, two of which have the same GUID. The {F33...}.rom module and SystemFlashUpdateDriverDxe are together in one, and SetupBrowser is found in the other.
find
quote
(06-29-2012, 05:51 AM)ryan_975 Wrote: Sorry, I meant the physical file, not the firmware volume. My BIOS has three FV's at the top level, two of which have the same GUID. The {F33...}.rom module and SystemFlashUpdateDriverDxe are together in one, and SetupBrowser is found in the other.

I only have one (I think) - when I extract BIOS1.WPH I get the F33.. ROM, a couple of padding ROMs and a final ROM (C8AB... .ROM) which both mmtool and PhoenixDell tools tell me is corrupt.

Out of interest, from BIOS A01 to A17, did you notice any menu changes? If so we could start looking at the difference in BIOS structures between any two versions with different menu items.
find
quote
(06-29-2012, 06:37 AM)jkbuha Wrote:
(06-29-2012, 05:51 AM)ryan_975 Wrote: Sorry, I meant the physical file, not the firmware volume. My BIOS has three FV's at the top level, two of which have the same GUID. The {F33...}.rom module and SystemFlashUpdateDriverDxe are together in one, and SetupBrowser is found in the other.

I only have one (I think) - when I extract BIOS1.WPH I get the F33.. ROM, a couple of padding ROMs and a final ROM (C8AB... .ROM) which both mmtool and PhoenixDell tools tell me is corrupt.

Out of interest, from BIOS A01 to A17, did you notice any menu changes? If so we could start looking at the difference in BIOS structures between any two versions with different menu items.

I started with A12, but going to A17 I noticed no differences.

Oh and I figured out what I was doing wrong. I was opening the executable as a whole not realizing there were multiple firmware images embeded within it. After extracting the WinFlash folder from the .exe, I see BIOS1.WPH and FvRecovery.fd. SetupBrowser.efi is in FvRecovery.
find
quote
(06-29-2012, 06:44 AM)ryan_975 Wrote: I started with A12, but going to A17 I noticed no differences.

Oh and I figured out what I was doing wrong. I was opening the executable as a whole not realizing there were multiple firmware images embeded within it. After extracting the WinFlash folder from the .exe, I see BIOS1.WPH and FvRecovery.fd. SetupBrowser.efi is in FvRecovery.

No worries - got me excited there for a minute Smile

You did get me thinking about something else though - what if the table is stored in another module? If so that would mean that the PlatformSetupAdvancedDxe module would have to call this module separately. I cannot find any traces in the setup module that loads up another module (apart from itself, which is weird). Unless I'm missing something that is.

Some interesting sounding modules in the Dell BIOS (which could have some clues into the menu options) are:

SystemSetup2Dxe
SystemKeyDescDxe
SystemOsb
PlatformSetup
DellVariableInitDxe
SystemFormBrowser2Dxe
SystemFormBrowserLayoutDxe
SystemSetupMainDxe
DellHddPwdVariableInitDxe

Problem is - I'm not sure what to look for...
find
quote
From what I understand, modules don't call other modules (except for the Pei and Dxe foundations). They publish interfaces and protocols to the various services tables provided by UEFI, and can use interfaces and protocols already published. For modules with dependencies on other module's interfaces, one of the files dumped by Phoenix Tool will contain a dependency expression. A dependency expression is just single byte opcodes and 16-byte GUID's. I'm thinking that it might be possible to track down the actual menu display routine by following the dependencies. From there it should be easy enough to see how it decides which menu options get shown, and which don't.
find
quote
If that's the case, and if I understand you correctly, there would be a series of bytes, followed by a series of GUIDs? How large would you expect the file to be, as there a significant number of smaller files in the entire BIOS?

If you have a sample file (or an example of how this could look) it would be greatly appreciated Smile
find
quote
Depexes are postfix, so you push the GUIDs you want to work with onto a stack, then perform the desired operation on them(which pops the GUIDs off the stack). The result is pushed onto the stack and the process repeated until the END opcode is reached. If the entire depex evaluates to true, the module is loaded and executed. if not, the module is pushed back into the queue to try again later.

Depexes (if there are any) are usually in the _2_ file. Most of the ones I've looked at begin with the byte 0x02 (the PUSH opcode) and all of them so far have ended with the byte 0x08 (the END opcode).

A couple examples:
The file 6CDF9BAA-0934-43C2-A85F-286386097604_2_1156.rom (SystemHddPwdSmm.efi) contains the following depex:
Code:
02 4D 95 90 13 95 DA 27 42 93 28 72 82 C2 17 DA
A8 02 73 B7 41 E5 11 DD 0C 42 B0 26 DF 99 36 53
F8 BF 03 02 5F 8A 18 69 BD 6B C7 46 9C 16 55 F1
94 BE FC DF 03 02 68 D6 B3 D0 CF 16 EB 4F 95 F5
1C A3 69 3C FE 56 03 02 67 45 23 01 AB 89 EF CD
01 23 45 67 89 AB CD EF 03 08

breaking it down you get

02 : push
4D 95 90 13 95 DA 27 42 93 28 72 82 C2 17 DA A8 : GUID
02 : push
73 B7 41 E5 11 DD 0C 42 B0 26 DF 99 36 53 F8 BF : GUID
03 : and
02 : push
5F 8A 18 69 BD 6B C7 46 9C 16 55 F1 94 BE FC DF : GUID
03 : and
02 : push
68 D6 B3 D0 CF 16 EB 4F 95 F5 1C A3 69 3C FE 56 : GUID
03 : and
02 : push
67 45 23 01 AB 89 EF CD 01 23 45 67 89 AB CD EF : GUID
03 : and
08 : end
(I don't know if the GUID are in little endian or not)

In the file 1C6B2FAF-D8BD-44D1-A91E-7321B4C2F3D1_2_23.rom (SystemBootScriptSaveDxe.efi) you see
Code:
06 08

which breaks down to
06 : true
08 : end

So basically, this module has no dependencies and will always load when it's discovered by the DXE dispatcher.


I hope all that makes sense.
find
quote
Yes, except that I cannot find any of the GUID files that are referenced from the push statement Smile

for instance, push 73 B7 41 E5....8F
I can't find a 73B7....ROM, or a B773....ROM, or any combination, big or little-endian.
Do you know how variables in the stack are dimensioned (single byte, double, quad etc)?
find
quote


Forum Jump:


Users browsing this thread: 50 Guest(s)