Modifying Samsung Splash Screens (Galaxy S Series + SGS2)
How to Modify/Change the Samsung Splash Screens (FULL MANUAL METHOD!) - PART ONE
The following is a two-part guide (this is part one), which will teach you exactly how to modify the splash screen on ANY of the Galaxy S series devices (Captivate, Vibrant, SGS4G/Vibrant 4G, Fascinate, Exhibit 4G, Epic 4G, & SGS2)
Firstly, before I explain HOW to do this, you're going to need a bit of a background as to what exactly it is that you're going to be doing. The changes we're going to be making are two-fold, as the one splash-screen that you think you see, is actually two identical images, back-to-back.
The first image is a simple jpg, located in a hidden directory in the root of your device.
The second image is a specially formatted and modified image, that will require the use of certain tools, and the ability to build a kernel. If you're not comfortable with building a kernel from source, then I suggest you stick with Image 1. A guide on building kernels for Samsung devices can be located by searching our site.
Image 1 Guide - param.lfs
- The device must be ROOTED
- You must have a HEX editor installed on your computer (I recommend HxD - free)
- You must be capable of following simple instructions
- Familiarity with, and an installation of, ADB.
- The first thing we're going to do, is pull an entire directory from your device. This step can be skipped if you already know the name of the jpg image which needs replacing on the device. Simply run the following in cmd/terminal (ensure that you change the directory format for Linux/Mac):
adb pull /mnt/.lfs c:\whatever
- Now, open up that folder on your computer, and look through the images until you find the one which you see on each boot. Make a note of it's name. Let's say, for argument's sake, that it's Logo.jpg.
- Open Logo.jpg in the photo-editor of your choice (Photoshop/Gimp) and create your new image. Do not alter the size (in pixels) of the image. It should remain 480x800.
- Once you've designed a splash screen you're happy with, save it to the same directory you have adb installed (platform-tools, most likely).
- Now, we're ready for the fun bit! In cmd prompt/terminal, type the following (ignore $ and # from the text below, this is just to indicate level of access):
# dd if=/dev/block/stl6 of=/sdcard/param.lfs bs=4096
- You have just dumped the param.lfs partition, which contains the images we want to edit. As it stands right now, this folder is read-only, and root access does not change that. So... we're going to modify it ourselves.
- Copy the newly acquired param.lfs file from the SDCard to your computer, leaving a backup on your SDCard.
- Open the file in HxD (or the HEX editor of your choice), and do a FIND (CTRL+F) on the full name of the image (Logo.jpg, for example).
You will find a result like this:
- Simply change the highlighted hex values (highlighted in blue) to 00's. See the below image of how it should look:
- FIND again, until you have done the same for EVERY reference to Logo.jpg. TAKE CARE NOT TO GO TOO FAR WITH 00's. Only change what is highlighted!
- Now save param.lfs, and prepare to flash it in DOWNLOAD MODE.
- Using Heimdall (much easier), type:
heimdall flash --param /location/of/param.lfs
Build into an ODIN flashable tar (see our guide on this website) and flash using ODIN.
- You will notice after flashing, that your splash screen image is a download-mode image. Don't worry about that. We will be sorting it next.
- When the phone boots back up, connect it to the computer, and flash the new logo like so:
adb push Logo.jpg /mnt/.lfs
Congratulations - you did it! See our Part Two guide for how to change the kernel image.