Comments (8)
The logo is in GIF89a format, stored in a freeform file with GUID 418E3259-AE5A-4F09-8936-74C78BA27D6C inside a Raw section. The section also has a 0x29 bytes header with several image size entries that need to be adjusted if the new logo has a different size.
There's also allegedly a tool that can automate logo replacement for such BIOS images, found it by searching for the GUID above: https://www.fontana.com.ar/2018/04/14/splashhack-v-0-1-beta/
Haven't tested it, so can't say how well it works.
This is the default logo extracted from the image above:
from uefitool.
To answer the obvious next "how did you find it" question, most image formats have magic bytes that help parsers decide how to parse a given image. In this case, the magic is "GIF89a", which can be found by using File->Search->Text, and unsetting the default Unicode checkbox. Such text is then found in 3 files: the one mentioned above, a raw section inside a driver called SystemOsb (114BC6C1-404B-4232-8316-7CFA66D0B60A), and PE32 executable section inside a driver called SystemImageDecoderDxe (5F65D21A-8867-45D3-A41A-526F9FE2C598). Obviously, the last one is the decoder, so the image we are searching is not there.
Similarly, JPEG images can be found by ASCII magic "JFIF", BMP images by "BM" and so on.
from uefitool.
Thanks a lot @NikolajSchlej!
Good idea for GIF89a
, I didn't tried this :)
I tried with:
- HEX
4D 4D 00 2A
and49 49 2A 00
for TIFF files, without success BM
for BMP files, but there were too many results
You're right:
418E3259-AE5A-4F09-8936-74C78BA27D6C is the Phoenix logo
114BC6C1-404B-4232-8316-7CFA66D0B60A is the Intel logo (I extracted it)
5F65D21A-8867-45D3-A41A-526F9FE2C598 is probably the decoder executable
About SplashHack, I am not sure it will work, because this seems to require 2 images (one "splash" and one "logo"; in my case there are no 2 images, but just one (in my case the Intel logo is not related)). Also this tool uses 2 JPG files, while here we need GIF files.
Do you think it would be possible to just replace the Raw body of 418E3259-AE5A-4F09-8936-74C78BA27D6C
with UEFITool with a new GIF?
from uefitool.
Yes, it's possible to just replace that body and adjust some sizes in the header, but there are many images inside 418E3259-AE5A-4F09-8936-74C78BA27D6C, so you need do that replacement carefully, so that replacing one logo in the beginning won't also remove all the other images you had no plans to remove. Also, UEFITool NE doesn't support image editing (yet), so please use either UEFITool 0.28.0, or latest PhoenixTool for it.
from uefitool.
Thanks for your answer! You're right, there are 6 GIF images at this GUID 418E3259-AE5A-4F09-8936-74C78BA27D6C!
It seems HackSplash won't work, since it only packs 2 JPG files into a raw body (in our case we need 6 GIF in a raw body), do you confirm it won't work?
please use either UEFITool 0.28.0,
Would you have the official download link for it? (I have found many websites on internet, and it's difficult to find the official trustable one). Do you think this version allows replacement of a GIF image?
Found: https://github.com/LongSoft/UEFITool/releases/tag/0.28.0
latest PhoenixTool for it.
Same problem here, there seems to be some non-trusted sources, such as the first link. Would you have the official link?
Thanks again!
Also, UEFITool NE doesn't support image editing (yet), so please use either UEFITool 0.28.0, or latest PhoenixTool for it.
By "image editing", do you mean "image" like a bitmap logo, or image like a "firmware .bin image"?
from uefitool.
Meant "firmware image". The official PhoenixTool source is this MDL forum topic, needs a registration to see download links.
from uefitool.
Thanks @NikolajSchlej. PhoenixTool will only allow to update a raw body (like UEFITool 0.28 does), but not change "easily" one logo image, is that correct?
Or does PhoenixTool has a logo replacement feature included?
from uefitool.
Correct, PhoenixTool can be used for generic UEFI file modification, and has nothing to do with logo replacement in particular. It's primary function is/was to insert/update/remove SLIC table(s) that were useful for Windows OEM activation, but it has a very robust UEFI file modification engine inside, which is in some ways better than UEFITool's.
from uefitool.
Related Issues (20)
- Need to search for FFS volumes inside non-AMI NVRAM areas
- Regression in parsing FFS volume header with AppleCRC32 and AppleUsedSpace non-standard entries in A66 and A67 HOT 7
- are there plans to for example extract apple scap firmware bios region and then write it to a ch341a rom dump? HOT 1
- Compressed sections unsupported HOT 2
- Off-by-one error preventing parsing of Boot5 partition in IFWI 1.6 and 1.7 regions HOT 2
- Question but no discussion forum for these HOT 3
- Lenovo P520 BIOS file has DXE section compressed? HOT 2
- modifying images UEFITool NE HOT 1
- are all the Micron SPI parts mis-identified? HOT 4
- UEFITool is unable to find DXE volume in the image HOT 1
- Can not extract VBIOS and GOP HOT 9
- uefitool: Add option to calculate hashes of selected tree item (header/body/whole) HOT 1
- Bricked after replacing module with UEFITool (ASRock X79 Extreme6/GB) HOT 1
- UEFITool doesn't recognize lzma compressed section in latest bios HOT 1
- qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in "" HOT 5
- Cant parse image, weird errors. HOT 1
- Selected file is not a proper bios! HOT 1
- Modded BIOS file fails to flash, "Selected file is not a proper BIOS!" HOT 4
- Please help GUID defined section with unknown processing method errors HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from uefitool.