[Droid Ultra Themes and Apps] Dragon31337:
I TAKE NO RESPONSIBILITY FOR YOUR PHONE OR ANY DAMAGE INCURRED FROM APPLYING THIS. MODIFY AND FLASH AT YOUR OWN RISK

==Intro==

When I've unlocked my phone I faced with ugly warning window instead of moto logo I got used to. And desperately wanted to get rid of this disclaimer.

Searching the web I've got some tips about swizzled color channels and raw image format, but there was nothing 100% compatible with (or at least described for) our DROID MAXX\Ultra\mini.

In order to modify boot logo you have to prepare and binary logo file and flash it. I'm not sure if this file get checked on flash (most likely you can flash it even on locked phone). I appreciate if someone try to flash modified logo with locked bootloader just to confirm

First off all let me tell you shortly how this binary logo file looks like.

For our phones it's size is 2,625,328 bytes, at least on 4.4 and 4.2.2 ROMs. This file includes 3 images:

1) logo for the phone with locked bootloader

2) image with discharged battery which you can see when you start charging turned off phone

3) logo for the phone with UNlocked bootloader, and in original logo there is that ugly disclaimer

each image is raw color data 540x540 in BGR (not RGB) format. there are also some headers and tech data. Here are offsets for each of these 3 images (important):

1) 512 (locked bootloader image)

2) 875520 (charging battery)

3) 1750528 (unlocked bootloader image)

each image 874800 bytes long: 540 * 540 * 3 (3 color channels, 1 byte per channel, 3 per pixel)

BTW: Fun fact on 4.2.2 there was a string at the end of the first paragraph of disclaimer "-and all warranties are null and void". In 4.4 they got rid of this phrase =)) and words alignment become worse... =))

== tools ==

1) GIMP (free tool for graphics) (http://www.gimp.org/downloads/). I was on 2.8.10.

2) RawTEX plugin for GIMP (http://registry.gimp.org/node/57). Extract RAWTex.exe to "<GIMP FOLDER>\lib\gimp\2.0\plug-ins\"

3) Swiss File Knife (http://sourceforge.net/projects/swissfileknife/?source=dlp)

== preparation ==

1) Make a working folder

2) get original logo.bin file for your phone from sbf file for you phone from http://sbf.droid-developers.org/. It is named logo.bin in the archive, put it in our working folder.

2.1) Actually I'll post original binary logo file below, it is the same for all Maxx\Ultra\Mini as I wrote above.

3) extract Swiss File Knife to this folder (sfk170.exe in my case)

4) find\create\resize a 540x540 image for your logo =)

== step by step how to ==

1. Prepare binary image for injection

a) open regular 540x540 (bmp, png, gif, jpeg does not matter) image in GIMP

b) flip red and blue channels

i. go to Colors -> Components -> Channel Mixer ...

ii. for output channel red (by default already selected) set RED value from 100 to 0 AND BLUE from 0 to 100

iii. for output channel blue (now select in drop down) set BLUE value from 100 to 0 AND RED from 0 to 100

iv. OK to apply

c) export in binary format

i. File -> Export as...

ii. Select "All files", expand "Select File Type (by extention)", scroll to file type "Raw image data"

iii. select our working directory as a target dir, give it a name, lets say "mylogo.data"

iv. press export

v. in export settings select Save Type "Stanadrd (R, G ,B)" and Indexed Palete Type "R, G, B (normal)", these settings should be default, but I put them just in case

d) CHECK FILE SIZE of the image, it should be exactly 874800 bytes

2. Once you get a proper binary image, lets inject it into the motorola logo file

a) open command line in our folder and execute:

sfk170.exe partcopy mylogo.data -allfrom 0 logo.bin 1750528

b) check the output it should be like this:

[simulating:]
copying 874800 bytes, from input offset 0 to 874800, to target offset 1750528
[add -yes to really copy data.]

c) if the output precisely the same as above lets commit these changes to out logo.bin by executing

sfk170.exe partcopy mylogo.data -allfrom 0 logo.bin 1750528 -yes

d) Not necessary step! if you have unlocked bootloader, this step will affect only locked phones logo

sfk170.exe partcopy mylogo.data -allfrom 0 logo.bin 512 -yes

3. your modified logo ai ready, check output filesize for logo.bin (2,625,328 bytes), cross your fingers and flash this logo to the phone:

rebbot to fastboot manually or make it with ADB:

adb reboot bootloader

flash the file:

fastboot flash logo logo.bin

reboot the phone and enjoy your stylish logo:

fastboot reboot

I'm also attaching my first custom logo which I made as a proof of concept.

== notes ==

1) same way you can replace batter logo, you know that offset =)

2) I'm aware of various logo creating tools and created logos like this

I should say that these logo files are not complete and substantially differ from our original logos, they have only one image encoded (no battery charging image, etc). It might be safe to use them, but I personally prefer to keep everything as much as possible to the original logo we have in our maxx\ultra\mini firmwares. May be I'll rool out my own tool soon to create logo files easily. It is up to you which logo to use.