Manually editing the picture in the "NTOSKRNL.exe" file.
The picture you see when you just start winXp in in 16 color it's a technical limitation as before booting no graphics drivers are loaded the image must be in 16 color to be compatible with the vga mode for display. First of all backup your copy of ntoskrnl.exe and the proceed. Open it using a hex editor I am using Hex Workshop. You can use any other. For color editing if to write your costum colors to the file search for the Hex value 00000000151A200046464600D23E2D00016553000535B2007E7E7E0000928900FC7F5E00206BF700FFA68D0004DC8E001BBCF300BCBCBC00FCFCFC00FFFFFF in the file (this is the default value.)
The colors are hidden in this mess.
Now let's decode the above value. I'm writing the above long string like this:
000000 00
151A20 00
464646 00
D23E2D 00
016553 00
0535B2 00
7E7E7E 00
009289 00
FC7F5E 00
206BF7 00
FFA68D 00
04DC8E 00
1BBCF3 00
BCBCBC 00
FCFCFC 00
FFFFFF

Now it is a bit clear. The first six digits are the hexadecimal color code for the particular color and the two zeros following them act like separator.

Now the next step is to understand the color codings. If you have ever written any HTML code then you must be familiar with this type of color code. But this code is not same as a HTML color code where each color is represented as its Hexa color code. The above color code is produced by just reversing the HTML color code. For example if the HTML Hexa code for some color is F76B20 then the converted code will be 206BF7.That means swapping of the first two digits with the last two ones.Ok then if you are thinking what the hell HTML means then remember the science book you read in the school that said all possible color combinations are possible by combining Red,Green And Blue in appropriate proportion.simillarly the color of a pixel on your computer screen is determined by the Red, Green And Blue Brightness of that pixel. In the digital world the upper limit of the brightness of each type of color is 255 i.e. FF in Hexa and lower is of course 0(also 00 in Hexa,somethings in life never change). So the first two digits in a HTML(who cares) color code gives the Red brightness or the Red value of the color and similarly the second two and the last two give the Green and Blue value of the color. All the values are in Hexadecimal as writing FFFFFF instead of 255255255 for the color white takes less memory. But here in this case the HTML color coding sequence is just reversed .i.e. we represent a color by its Blue, Green and Red value(just the opposite of Red, Green And Blue).

You can use the following code in C to convert HTML color codes to this format or can write a program of yourself in any language using this logic.
------------------------------------------------------------------------------------start of code-------------------------------------------------------------------------------

#include <stdio.h>
#include <string.h>
#include <conio.h>
int main()
{
  printf("This program converts a RGB pair into GRB one\nWritten by Lagnajeet Pradhan\n");
  char colors[16][6],temp[6],tmpchar;
  int i,j;
  printf("\nPlease enter all the 16 colors one by one.\n");
  for(i=0;i<16;i++)
  {
      scanf("%s",temp);
      for(j=0;j<6;j++)
      {
        colors[i][j]=temp[j];
      }
     colors[i][j]='\0';
  }
  i=0;
  for(i=0;i<16;i++)
  {
      tmpchar='\0';
      tmpchar=colors[i][0];
      colors[i][0]=colors[i][4];
      colors[i][4]=tmpchar;
      tmpchar='\0';
      tmpchar=colors[i][1];
      colors[i][1]=colors[i][5];
      colors[i][5]=tmpchar;
  }
  for(i=0;i<=96;i++)
  {
      if((i>0) && (i%6==0) && (i!=96))
         printf("00");
      printf("%c",colors[0][i]);
  }
  getch();
  return 0;
}

-------------------------------------------------------------------------------End of code-------------------------------------------------------------------------------------

here in this tutorial I mentioned the default pallets.oops what the hell pallet means. I means the set of colors. so i mentioned them so you easily found them in the file NTOSKRNL.exe by hex editing it and searching the particular string. but how to to do this to file you don't know what are the colors hidden in it. Simple open it in any resource editing tool I am using PE Explorer from www.heavenstools.com. open it using this program an in the resource section. Under the bitmap type resource right click on the bitmap numbered 100 and click save resource as then save if in a appropriate location. now open it using Paintshop pro.It will show the pallet used in the image file. now click on the foreground color and it will open a color table consisting of the 16 colors used in the image upon clicking on each color shows its HTML color code below. just note them down and use the above program to convert it into something meaningful that we need. Now you can search the output string in the hex edited file and change it as desired.

My Tip:- first write the Html codes in a file. Each code should be followed by an Enter.
                then use the pipeline operator to both input from the file you just created now and also to output to a file so that you can copy
                it from there.

               e.g. I saved the HTML codes in a file named "codes.txt" and i want the output to be written to a file "Reversed.txt" an the
               name of the executable produced by compiling the above code is "Reverser.EXE".

                I use the pipeline operator Reverser.EXE<<codes.txt>>Reversed.txt in dos.
               The file "Reversed.txt" will be automatically created if it doesn't exist. However I only tested it in Win98.So please don't
               blame me if it doesn't work in WinXp.

Now give it a final touch .i.e. once you have edited the file and put the colors, present in the picture that you will be using, in it double click on the bitmap numbered 100 a dialog box for replacement of the existing bitmap will open. Replace the bitmap and save. You can also replace other bitmaps but remember the size of the bitmap must be same as the previous one. and it must be of 16 colors I use the paint shop pro 8 to reduce images to 16 colors go to the image menu then decrease color depth then 16 color 4bit click on it. It'll open a dialog box showing some parameters then click ok.This can also be done in Photoshop go to image>mode>indexed color...A dialog box will open that will let you set the number of colors that you want to use set if to 16 then from the drop down combo box set a method for the application of color and that's it. You have your image ready for use. save and do whatever you want.

That's all folks! Next time we will explore how to change the progress bar position. Bye.
 

Lagnajeet Pradhan.