Hey guys, I've been playing around with 2003SE trying to figure out how to change the bootsplash, and this is what I've found so far.
I executed the following command:
Code:
pmemdump.exe 0x80000000 0x2000000 rom.raw
This should have dumped the entire ROM, as documented here:
http://www.xs4all.nl/~itsme/projects/xda/wince-rom-layout.html
I then opened the file rom.raw using IrfanView with the following options:
Image Width=240, Image height=70000, Header size=0, 16 BPP, NO Vertical flip.
And I was able to see an image that resembled the bootsplash near the top, but it was distorted. However, about a quarter of the way down I see the "Welcome to T-Mobile" logo in 320x240 perfectly.
It looks like the distorted bootsplash image is repeated twice when I open it in this format, so I tried opening the file with a width of 120 pixels, but it was still distorted. I've tried opening the raw file with all of the combinations I can think of, but none show the bootsplash clearly.
Any ideas of how we can determine it's starting byte position and format?
WM2003SE Bootsplash Address and Format Found
The bootsplash for the available WM2003SE rom is stored at 0x800417e0, and is only 76800 bytes long. Extract it from the rom using the following command:
Code:
pmemdump 0x800417e0 76800 bootsplash.raw
Open it as a 320x240 raw file with 8 bits per pixel (grayscale?) no header.
I have attached the bootsplash.raw file below, but had to change extension to .txt for uploading.
I'm unable to write a new bootsplash since pnewbmp doesn't support this offset, and pnewbootloader has other complaints using this offset.
There may be some color information in the 8 bits per pixel.
What we need now:
1.) Someone that knows more about graphic formats to investigate if the bootsplash has color information.
2.) A modified version of the pnewbmp.exe file from http://www.xs4all.nl/~itsme/projects/xda/tools.html that supports the new offset. (Ideally, modify it so it can be used for any offset).
Shawn
Are u sure?
old files had been twice big (153600 Byte)
Have you tried this size?
You shoud be able to run
Code:
pnewbmp -o 0x800417e0 filename
The file you've upladed doesn't look complete.....
Stefan
The T-Mobile ROm you´ve found is added by the kitchen.
Until now it´s not possible to cook a ROM without the splashscreen. So it´s added at the 0x80780000 position.
Has nothing to do with the real splash screen....
Stefan
Fairly Certain
old files had been twice big (153600 Byte)
Click to expand...
Click to collapse
Stefan,
You're absolutely right, it is definitely different than previous bootsplash formats. If I'm right, it's half the size because it uses 8 bits per pixel instead of 16 bits per pixel, as before. I believe that means it must use a standard 256 color table. We just need to know which standardized color table it uses (Windows System?), and find graphics software that will open bitmaps without headers.
Have you tried this size?
Click to expand...
Click to collapse
I've tried dumping the old file size, but it is just garbage after 76800 bytes. Perhaps they switched to this format to save memory.
The T-Mobile ROm you´ve found is added by the kitchen.
Click to expand...
Click to collapse
That's good to know. I thought that was the real bootsplash, and there was some switch in the code for this version of the ROM to point the bootsplash image to a temporary image that we are seeing. Let me illustrate with code:
Code:
Internal_Rom = True;
...
If (Internal_Rom==True)
Bootsplash_start_byte=0x800417e0;
else
Bootsplash_start_byte=0x80780000;
But since that's not the case, we don't need to worry about tracking down that switch.
I've tried using pnewbmp with the offset option, but I'm getting an error reading the bitmap. I've tried appending the original ROM data after my custom bootsplash (when necessary) to create files of sizes 76800, 151672, and 153600, but I still received the error so I don't think it is a problem with the file size, but it may not recognize the format. (pnewbmp appears to be trying to read the size 0x25800=153600, so that file size should have worked if it were a file size issue)
So, here's a theory of how to make a bootsplash for this new ROM format:
1. Create your image in RGB 320x240.
2. Change Image Mode to 8 bits/channel, and Indexed Color using the Palette "System (Windows)" (?).
3. Save your file in RAW format (Uncheck Alpha Channels), 0 Header
Resulting File Size=76800.
Now I just need to test this theory using a program that will allow me to write an arbitrary number of bytes to an arbitrary byte offset in the ROM.
Shawn
It works!
I'm getting ready to sell my Wallaby (replaced with PPC-6700), so I gave my (old) theory a try, and it worked!
I executed the following commands:
Code:
pmemdump.exe 0x80000000 0x417e0 one.raw
pmemdump.exe 0x800543E0 0x1FABC20 three.raw
I opened one.raw, three.raw, my new bootsplash raw image (described above), and an example NK.nbf file in a hex editor (PSPad). I appended the first two lines from NK.nbf to one.raw. They look like this:
PW10B1-ENG-3.16-000-aa9a--------
Click to expand...
Click to collapse
I then appended my new bootsplash image to the end of one.raw, then appended three.raw to the end of one.raw. I then saved this file as NK.nbf and replaced the default NK.nbf for the installer built at LumpiStefan's site.
When I ran the installer, it complained that aa9a wasn't the correct checksum, but it went through anyway, and works fine. The only problem is I can't control colors, since I don't know what color pallet it uses. The closest match is Mac OS. Until that gets figured out, it's best to just use a black & white image.
I havent figured out what the file name is of the startup gif yet, i thought it was Startup_480x640, when i resized the gif and pasted it in the windows folder it didnt work. What is the correct file name and does anybody know where i can find a marijuana startup gif? lololol
I think, you mean the "welcomehead.192.png". You have to convert the file into png with a photo-program.
...
and you can choose another file instead of replacing the welcomehead.192.png file. with Advanced Configuration Tool v3.2.
... and find a marijuana picture here: http://images.google.dk/images?q=ma...rg.mozilla:da:official&hs=9bd&sa=N&imgsz=huge
and use photoshop to edit it to 480 x 640 and save as .PNG
marijuana startup gif
correct me if im wrong but doesnt isnt the startup animation a .gif and not png? i have already replaced my splash screen and i wanted to change the startup animation on my diamond from the stock htc gif, i have this gif that i was trying to make my startup animation
i dont know why it keeps saving as a jpg, but here is a link wit the gif if u dont mind helping me
http://www.zshare.net/image/19584452d61e7f18/
TheDude1120 said:
correct me if im wrong but doesnt isnt the startup animation a .gif and not png? i have already replaced my splash screen and i wanted to change the startup animation on my diamond from the stock htc gif, i have this gif that i was trying to make my startup animation
i dont know why it keeps saving as a jpg, but here is a link wit the gif if u dont mind helping me
http://www.zshare.net/image/19584452d61e7f18/
Click to expand...
Click to collapse
animated.gif is it called in most of the roms.
just rename your weed.gif into animated.gif and coppy to root,that should do the job.
P.S. the link that you have is a gif but no animated gif
here you have a animated gif
i wish you all guys quit smoking that ****...
whiskeybro said:
animated.gif is it called in most of the roms.
just rename your weed.gif into animated.gif and coppy to root,that should do the job.
P.S. the link that you have is a gif but no animated gif
here you have a animated gif
Click to expand...
Click to collapse
do i need to resize this to properly fit the diamond vga screen? and thanks
What is imgdata tool?
It is a tool to extract images like the bootlogo from the partition called imgdata. Then you can change these images with gimp or photshop then repack them into a new imgdata image and flash it to your device and see your new custom bootlogo or fastboot menu.
Instructions
Download imgdata tool from here or from the attachments.
Run start.bat script if you are a windows user or run start script if you are a linux or mac user.
Verify your phone's model by exactly typing NEXUS 5.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Select option number 1 called Extract imgdata.
Drag and drop the imgdata.img file from stock folder to imgdata tool or type the path to imgdata.img.
The folder with the extracted images should pop-up. If it does not happen you will find the images in the images folder.
Edit the desired images.
Edit pos.txt:
Never change the entries line and never remove any line.
First column is the name of the image second column is the position of the image.
0x0 means the image will be shown on your screen in the top left corner.
If it is 0x1 the image move 1 pixel down.
If it is 1x0 the image will move 1 pixel right.
If it is 281x868 the image will move 281 pixels right and 868 pixels down.
You can check your changes in option number 2 called Preview from the main menu in the imgdata tool. It should open the image you selected or open the preview folder if you selected the option View all. If it does not happen then the preveiw images can be found in the folder called preveiws.
When you finished editing the images you can build a new imgdata from the images you edited by selecting option number 3 called Build imgdata from the main menu in the imgdata tool.
After the building finished you can flash the zip called flash-me.zip to flash the new imgdata to your phone or if you want you can flash it using imgdata tool.
Notes
Only 24 bit bmp files are acceptable.
You can find the custom imgdata image in the folder called custom after the building.
The maximum file size of the imgdata.img is 3145728 bytes (3 MiB). The tool will show you an error if that happens and it will ask you do you want to reduce the color depth of an image from 24 bit to 16 bit. If you still exceed the 3 MiB limit you can resize other images which are not important to you to a 1x1 pixel image.
If you want to use full screen images in the fastboot menu, then it will cover the system texts.
If a new bootloader is released stop using the tool until I check whether the imgdata changed or not.
Working with bootloader versions up to HHZ20f
Changelog
1.3.2
Linux 32 and 64 bit binaries
Making clear this tool is for Nexus 5 and not for Nexus 5X
Added missing entries for 16 bit menu
Click to expand...
Click to collapse
1.3.1
Added full support for imgdata.img after the HHZ12h bootloader update.
Added padlock image to the oem unlock screen in the preview option.
Click to expand...
Click to collapse
1.3.0
Linux and mac support.
Start.bat now adds C:\Windows\System32 and C:\Windows\SysWOW64 to the path environment variable if they are missing.
For imgdata binary: 16bit switch now checks the input file to determine is it a valid bmp file.
Click to expand...
Click to collapse
1.2.1
16 bit conversion: does in one step when you open an image with gimp then save it as 16 bit then reopen and save it as 24 bit.
the original image will get "o-" tag to the begining of its name
Click to expand...
Click to collapse
1.2.0
Preview function.
Option for flash with adb or fastboot.
Added more-space.img to the custom folder. I removed padlock, fastboot background, downloadmode screen and I minimalized fastboot screen and oem unlock screen to gain more space for custom boot logos.
Click to expand...
Click to collapse
1.1.1
Support for Gimp
Click to expand...
Click to collapse
1.1.0
Built from reworked code.
Click to expand...
Click to collapse
1.0.1
Added file size check for new-imgdata.img
Click to expand...
Click to collapse
1.0.0
First public version
Click to expand...
Click to collapse
Sources
https://github.com/bitdomo/imgdata/tree/hammerhead
Technical details
Structure of imgdata
Partition header
DATA1: 8 byte string. It says IMGDATA!. It is similar to the begining of boot.img and recovery.img that says ANDROID!
DATA2: I don't know.
DATA3: Number of images. It is 12.
8 bytes of 0: I dont know the purpose of that
Click to expand...
Click to collapse
Image headers
DATA4: 16 byte string. Tells the name of the image.
DATA5: image width in pixel
DATA6: image height in pixel
DATA7: X position of the image in pixel
DATA8: Y position of the image in pixel
DATA9: it tells where is the begining of the picture on imgdata
DATA10: size of the image
Click to expand...
Click to collapse
This pattern goes on, from DATA4 to DATA10.
Structure of the images
It consist of 4 bytes of chunks.
First byte: count number
Second byte: R value
Third byte: G value
Fourth byte: B value
Example:
05 00 00 00 02 FF FF FF
05: count number = 5
00 00 00: RGB value = black
02: count number = 2
FF FF FF: RGB value = white
So from the top left corner of your screen you would see 5 black pixels then 2 white pixels.
Interesting post, and very well made.
Glad some people are still looking into hacking this bad boy up.
Good job, subscribed.
Envoyé de mon Nexus 5 en utilisant Tapatalk
I managed to decode the structure of the images. It consist of 4 bytes of chunks.
First byte: countnumber
Second byte: R value
Third byte: G value
Fourth byte: B value
Example:
05 00 00 00 02 FF FF FF
05: countnumber = 5
00 00 00: RGB value = black
02: countnumber
FF FF FF: RGB value = white
So from the top left corner of your screen you would see 5 black pixels then 2 white pixels.
I wrote a C program which converts these raw images to bmp images. So my guessing was right about the Image headers in the first post.
I will later post that program with an option to convert bmp files to raw files.
If you want to write your own program then here are a few hint:
BMP stores pixel values in BGR order while the pixels stored in RGB order in the raw file.
BMP picture starts from bottom left corner while the raw file starts from top left corner.
In a BMP file the size of a pixel row in bytes has to be multiple of 4. Lets say you have 2x1 bmp picture. (width x height, column x row) . You have 2 pixels.
Each pixel stored on 3 bytes (BGR). 2*3=6.
6%4 = 2 so you have to add two more bytes to the row, then 8%4 will be = 0.
Tapatalk-kal küldve az én Nexus 5-el
IT WORKS!
https://www.youtube.com/watch?v=UMKgpVVjLgI
I have just finished with the imgdata builder/extractor app, but before I share it with you all I want to make some tests and debugs to make sure everything works perfectly.
bitdomo said:
IT WORKS!
https://www.youtube.com/watch?v=UMKgpVVjLgI
I have just finished with the imgdata builder/extractor app, but before I share it with you all I want to make some tests and debugs to make sure everything works perfectly.
Click to expand...
Click to collapse
Good job dude. This is what I call true development.
EDIT : Change the title, I'm trying to make it to front page as a news
EDIT 2 : Just checked the imgdata rar, so basically we could even change the tiny "unlocked" logo at the bottom of the booting screen?
:highfive:
bitdomo said:
IT WORKS!
https://www.youtube.com/watch?v=UMKgpVVjLgI
I have just finished with the imgdata builder/extractor app, but before I share it with you all I want to make some tests and debugs to make sure everything works perfectly.
Click to expand...
Click to collapse
+1(out of thanks)
neat
Man this is awesome!! Good job bro
Sent from my HAMMERHEAD
Great work well done mate:good:
Great work dude, I've been waiting for this
Sent from my OmniROM toting Nexus 5
Paradoxxx said:
Good job dude. This is what I call true development.
EDIT : Change the title, I'm trying to make it to front page as a news
EDIT 2 : Just checked the imgdata rar, so basically we could even change the tiny "unlocked" logo at the bottom of the booting screen?
:highfive:
Click to expand...
Click to collapse
To "EDIT": What should be the new title?
To "EDIT2": Yes we could, and many other pictures.
All the images we can edit is in the attachments.
Quick progress lol.
bitdomo said:
I managed to decode the structure of the images. It consist of 4 bytes of chunks.
First byte: countnumber
Second byte: R value
Third byte: G value
Fourth byte: B value
Example:
05 00 00 00 02 FF FF FF
05: countnumber = 5
00 00 00: RGB value = black
02: countnumber
FF FF FF: RGB value = white
So from the top left corner of your screen you would see 5 black pixels then 2 white pixels.
I wrote a C program which converts these raw images to bmp images. So my guessing was right about the Image headers in the first post.
I will later post that program with an option to convert bmp files to raw files.
If you want to write your own program then here are a few hint:
BMP stores pixel values in BGR order while the pixels stored in RGB order in the raw file.
BMP picture starts from bottom left corner while the raw file starts from top left corner.
In a BMP file the size of a pixel row in bytes has to be multiple of 4. Lets say you have 2x1 bmp picture. (width x height, column x row) . You have 2 pixels.
Each pixel stored on 3 bytes (BGR). 2*3=6.
6%4 = 2 so you have to add two more bytes to the row, then 8%4 will be = 0.
Tapatalk-kal küldve az én Nexus 5-el
Click to expand...
Click to collapse
This sounds like the RLE format, which is used for the splash screens. It's pretty compact if you just have a logo on a solid background, like a boot logo.
Nice work.
Interesting. I'd love to just vanish the unlock icon. Maybe change the Google logo to the Android logo.
Good work, I'll be keeping an eye out here.
There was an app for the Galaxy Nexus that did it called LogoMe but it hasn't been updated AFAIK. I can't wait till I can do it on my Nexus 5!
Sent from my Nexus 5 using Tapatalk
bmg1001 said:
There was an app for the Galaxy Nexus that did it called LogoMe but it hasn't been updated AFAIK. I can't wait till I can do it on my Nexus 5!
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
yea, that was @Ezekeel that made it, i tested for him when he was developing it. during its development, he was afraid about bricking a testers device. as where the image was stored could of bricked the device if something wrong was changed.
I managed to fix every bugs in my program.
I am currently running tests on the imgdata changer. 2000 runs with memory checks for memory leaks and access violation, still 1000 runs to go, and no problems so far.
During the testing process it automaticly creats random bmp files like this http://kepfeltoltes.hu/140530/start_www.kepfeltoltes.hu_.jpg with random dimensions (from 1x1 to 1080x1920), then build the imgdata file from the random pictures, then extracts the built imgdata file.
If the testing showes no errors, then I will share the program with you in the morning. (Its 0:21 or 12:21 pm here now)
A little teaser. If you flash this zip from my attachment then it will make the padlock disappear. (I've just replaced the padlock picture with a same sized only black picture)
md5 for the zip:
Code:
aa837bfce15c114283fba48797f1ea3f *no-padlock.zip
bitdomo said:
I managed to fix every bugs in my program.
I am currently running tests on the imgdata changer. 2000 runs with memory checks for memory leaks and access violation, still 1000 runs to go, and no problems so far.
During the testing process it automaticly creats random bmp files like this http://kepfeltoltes.hu/140530/start_www.kepfeltoltes.hu_.jpg with random dimensions (from 1x1 to 1080x1920), then build the imgdata file from the random pictures, then extracts the built imgdata file.
If the testing showes no errors, then I will share the program with you in the morning. (Its 0:21 or 12:21 pm here now)
A little teaser. If you flash this zip from my attachment then it will make the padlock disappear. (I've just replaced the padlock picture with a same side only black picture)
md5 for the zip:
Code:
aa837bfce15c114283fba48797f1ea3f *no-padlock.zip
Click to expand...
Click to collapse
works!
padlock gone
I'm so excited for this!!!
Sent from my PARANOID HAMMERHEAD
Uauaua, this is so ****ing great. Good job.
Will you share the SRC BTW ?
Envoyé de mon Nexus 5 en utilisant Tapatalk
subscribed! this is cool.
Allright, i know my question could be strange but in fact i wanna know which image format could support framework-res.apk as PNG is the best format for a picture, i would like to know if i can convert all "Non-PNG" pictures into PNGs and if they will stay recognised by the apk. Sure it's not a huge space improvement but if i do this for all pictures, i'll probably have few MB away.
So thanks everybody
up.
Long as the file name is the same & any xml references are correct it shouldn't make a difference if it's jpg or png