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 G580 (62CNxxWW) Whiteli...
Last Post: duongbao_dght
Today 09:14 PM
» Replies: 808
» Views: 246305
[REQUEST] Acer Aspire S3-391 BIOS Unlock
Last Post: Dudu2002
Today 04:27 PM
» Replies: 57
» Views: 25453
[REQUEST] Lenovo V580(c) (H1ETxxWW) Whit...
Last Post: Dudu2002
Today 04:26 PM
» Replies: 588
» Views: 147564
[REQUEST] GL504GS BIOS unlock
Last Post: pl4gue
Today 12:19 PM
» Replies: 75
» Views: 59150
[REQUEST] Thinkpad T14S G3 AMD (Type 21C...
Last Post: Dudu2002
Today 04:37 AM
» Replies: 1
» Views: 91
[REQUEST] Lenovo B490 (H1ETxxWW) Whiteli...
Last Post: sardax
Yesterday 10:03 PM
» Replies: 101
» Views: 31905
[REQUEST] Acer Aspire E1-571(G) BIOS Unl...
Last Post: Dudu2002
Yesterday 04:44 PM
» Replies: 127
» Views: 58097
Acer Predator Helios 300 N17C1 G3-572-79...
Last Post: chadreuel
Yesterday 11:39 AM
» Replies: 0
» Views: 140
[REQUEST] Acer Nitro 5 AN515-56 BIOS Unl...
Last Post: Dudu2002
Yesterday 07:25 AM
» Replies: 5
» Views: 899
[REQUEST] Lenovo Y50-70 (9ECNxxWW) BIOS ...
Last Post: Dudu2002
Yesterday 03:52 AM
» Replies: 1972
» Views: 662523
[Request] Acer Aspire Z1620 (h61h aio v1...
Last Post: spingernexx
04-24-2024 06:09 PM
» Replies: 2
» Views: 182
[REQUEST] Lenovo G505 (82CNxxWW) Whiteli...
Last Post: khaos
04-24-2024 04:15 PM
» Replies: 155
» Views: 55476
Asus Prime b250m plus, RAM compatibility
Last Post: Slayery777
04-24-2024 06:23 AM
» Replies: 0
» Views: 167
[REQUEST] Bios Unlock Request Clevo W230...
Last Post: happycrazyman
04-23-2024 03:53 PM
» Replies: 0
» Views: 147
Rog Strix B650E-F BIOS File Extraction
Last Post: panmetrix24
04-23-2024 11:25 AM
» Replies: 0
» Views: 161
[REQUEST] Lenovo G50-70 (9ACNxxWW) White...
Last Post: Pipo89
04-23-2024 06:47 AM
» Replies: 236
» Views: 69947
[REQUEST] Acer Nitro 5 AN517-41 BIOS Unl...
Last Post: onetapxdf
04-23-2024 03:37 AM
» Replies: 11
» Views: 1389
[REQUEST] Lenovo G400S (7BCNxxWW) Whitel...
Last Post: Dudu2002
04-23-2024 03:14 AM
» Replies: 203
» Views: 70896
[REQUEST] Lenovo V570(c) (44CNxxWW) BIOS...
Last Post: d3m3n7r
04-22-2024 05:20 PM
» Replies: 18
» Views: 11207
[REQUEST] Lenovo Y520-15IKBN (4KCNxxWW) ...
Last Post: ati90
04-22-2024 05:02 AM
» Replies: 64
» Views: 37143

Modify AMI Aptio4 BIOS for HP Pavilion 500-549ng
#1
Hey everyone,

I have a probably rather complicated problem. I have a HP Pavilion 500-549ng Desktop PC, which is affected by the newest Spectre security vulnerability. Though HP did supply an updated BIOS, I cannot install it! I suspect the reason is that HP changed the version number scheme, and therefor the update routine refuses to install the newer version number, because it actually thinks that this number is lower.

But let me explain more: I downloaded the BIOS update from here: http://ftp.hp.com/pub/softpaq/sp84001-84500/sp84453.exe
The description for the update is found here: https://support.hp.com/de-de/drivers/selfservice/swdetails/hp-pavilion-500-500-desktop-pc-series/7477729/model/8902926/swItemId/cp-202533-1
After I installed the update, my BIOS actually did some update. But as it turned out, it just got updated to 80.08, not A0.15, as shown in the release notes. I noticed in past BIOS updates that the version information was not correct, but I didn't think of any. Only now with the Meltdown&Spectre situation did I also investigate the CPU microcode. As the Microsoft checktool for Meltdown&Spectre showed me my PC was still vulnerable, I investigated more, and I found out that the microcode is still at a much older revision.

So, I looked at the update package, and strangely it comes with two different updates! If I extract the update file, I get two update-EXEs, one ME2_8008.exe, and one ME2_A015. But if I try to install the ME2_A015, the PC will reboot into BIOS and everything, but then complains that the image file did not pass validation. First of, if I download any other firmware update for HP computers, they only contain one BIOS update. Second, HP did change the versioning scheme from 80.0x to A0.xx. I therefor assume that the update program doesn't recognize that A0-versions are newer, and downgrades are not allowed, due to SMI(?) security checks.

Also, if I open the .bin-files for the update in AMIBCP, the board version and revision are identical. So both versions do seem to be correct for my board. If I go to "DMI tables"->"BIOS information", I see the following in the right pane:
1 AMI
2 80.08
3 04/17/2017
and for the newer BIOS I see the following:
1 AMI
2 4.6.5
3 12/19/2017
Here, the BIOS versions with 80.0x numbering all show the corresponding number under (2). But all A0 versions show the same 4.6.5 under (2).

If I go to tab "BIOS Features", major and minor version all show the corresponding (with major being 80, or A0, and minor being 06, 07, 08, or 11, 12, 14, 15...).

So, what to do now? Is there a way to remove the SMI security check? I was thinking about "patching" a newer BIOS to have the same versioning scheme as the old ones, and increase it a little bit. But I assume there will be a signature check as well (which would fail).

Or is that a feasible approach?

I would even go in there with an SPI programmer of some sort (I have a TL866CS). But I'd rather do it without.

Ah, it's a Memphis2-S board by Pegatron, IH87 chipset: https://support.hp.com/my-en/document/c04648625

Thank you and sorry if I posted in the wrong forum.
find
quote
#2
So I've made some progress on this issue:

after changing the FDO jumper (flash descriptor override) I am now able to read and write the BIOS with Intel's Flash Programming Tool from the ME System Tools (v9.5 r6).

So I've played around a little. I could flash a newer version than 80.08 (e.g. A0.14) and then use the normal update routine to update to the newest A0.17. However, since the newer versions are just flashed 1:1 they don't contain my system data like serial number of mainboard, service tag, Windows 8 serial, probably also missing the MAC address.

Now if I flash back the dumped 80.08 I get all those data back, but I'm again not able to update. At least I was able to integrate the Haswell microcode update against Spectre/Meltdown. But I'd still like to update the bios in general.

My theory is still that the update mechanism checks for the bios version and thinks that 80.08 is newer than A0.17, and therefor refuses to accept the update. I wonder if it is maybe possible to change the version number of my current 80.08 to something like let's say A0.08 so that I can then use the normal update routine to get to the newest BIOS version while retaining all system specific data.

So far, I've tried editing it with UEFITool oder AMIBCP 4.53, but it seems I am always missing some parts. That is, I wasn't able to change the version number. I changed some strings, but when I flashed that bios and rebooted it would still show the original 80.08. Maybe I am overlooking something? Please, could somebody with better knowledge have a look at the attached dump?

BIOS 80.08 with microcode v.24 for Haswell
https://www.sendspace.com/file/xpc6gq

PS: I x-ed out part of the Windows 8 serial since I didn't want it to appear on the net forever.
find
quote


Forum Jump:


Users browsing this thread: 2 Guest(s)