===========================
NOTE: If you are facing problem while saving your edited file, then make sure you have disabled WFP (Windows File Protection) service using WFP Patcher which can be found in our “Download” section. Also if you are getting error “Can’t create file…” while saving the file, it means you have already saved the file in past. Goto its parent folder and you’ll see a backed-up file having “_original” in its name. Delete it and you’ll be able to save the file again.
===========================
Resource Hacker is a tool to edit Windows system files like .exe, .dll, .cpl, etc. You can edit these files and can change the look of various dialog boxes, menus and many other things in Windows.
NOTE: This tutorial is divided into 2 parts:
PART1 : BASIC INFORMATION
PART2 : ADVANCED INFORMATION
Basic part contains Basic details, like viewing/replacing resources, etc.
Advanced part covers some advance information which is described for geeks. Like Adding your own resources, using scripts with resource hacker, etc.
PART1 : BASIC INFORMATION
What is Resource Hacker:
Resource Hacker is a Free software to edit 32-bit windows files (DLL, EXE, CPL, and many other). You can add / delete / view / rename / modify existing resources in a file using this great piece of software.
Download Link:
You can download Resource Hacker from here.
You don’t need to install it, simply extract the files and run the software. It also doesn’t make any entry in Registry!
Using Resource Hacker:
When you open a file in Resource Hacker, it shows various directories in left-side pane, like:
AVI
Cursor
Bitmap
Icon
Menu
Dialog
String Table
Accelerators
Version Info
and so on…

These directories vary from file to file!
Following is a small description of these directories:
AVI : This directory contains AVI files.
Cursor : This directory contains Cursor files.
Bitmap : This directory contains Bitmaps.
Icon : This directory contains Icons.
Menu : This directory contains various Menus.
Dialog : This directory contains various Dialog boxes.
String Table : This directory contains various Strings.
Accelerators : This directory contains Shortcut keys.
Version Info : This directory contains version information of the file.
You can view any resource embedded in the file. Simply expand the directory and click on the name of the resource.
Actually each resource contains 3 parts:
Resource Type
Resource Name
Resource Language
Resource Type : Its indicate that the resource is an AVI/Bitmap/Menu/Cursor/Icon/String/etc.
Resource Name : It describes the name of a resource, no 2 resource can hv the same name.
Resource Language : Its the language used in the file. For ENGLISH its 1033.
Changing the Resources:
=> For Icon/Cursor/Bitmap:
1.) Select the resource ( e.g. Bitmap -> 131 -> 1033 ).
2.) Click on Action -> Replace Icon/Cursor/Bitmap….

3.) It’ll open a new window, click on Open file with new Icon/Cursor/Bitmap button.
4.) Select the desired resource in the OPEN dialog box and click on Open button and then Replace.
=> For other resources like AVI:
Its a little bit different.
1.) Click on Action -> Replace Other Resource….
2.) It’ll open a new window, click on Open file with new resource button.
3.) Select the file and click on Open button.
4.) Now u hv to give the required information for this resource, which I mentioned earlier.
Resource Type
Resource Name
Resource Language

In type give the type of resource, e.g. if u r replacing AVI file then give the type as AVI.
In name give the exact name of the existing resource which u want to replace with this new one.
In language give 1033 for English.
5.) And finally click on Replace button.
=> For Menus/Strings/Dialogs:

To change String/Menu/Dialog boxes, Select the desired resource, e.g., String Table -> 4 -> 1033, and make ur changes and then click on Compile Script button. It’ll compile the script and will give ERROR if something goes wrong so that u can correct the problem!
PART2 : ADVANCED INFORMATION
Adding ur own Resources:
Adding new Bitmaps/Icons/Cursors/AVIs:
1.) Click on Action -> Add a new Resource….
2.) Click on Open file with new resource button.

3.) Select the desired resource and click on Open button.
4.) Give Resource Type/Name/Language. (Remember: Resource Name should be different than the existing resources.)
5.) Click on Add Resource button.
Adding new Menu-items:
U can also add ur own Menu-items, like u can add extra menu (e.g., ur name) in Desktop Context Menu, etc.
1.) Goto desired menu, e.g., Menu -> 215 -> 1033, and add a line anywhere inside POPUP “” or something like that in following format:
MENUITEM “ur_desired_string”, 12345, MFT_STRING, MFS_GRAYED | MFS_DEFAULT
Here:
“ur_desired_string” is the text which will be displayed on screen.
12345 is the the identifier, which must be different than other menuitems.
MFT_STRING describes that its a Menuitem with some text.
MFS_GRAYED disables our menuitem. U can also change it to MFS_ENABLED to enable it.
MFS_HILITE automatically select our menuitem. u can ignore it.
MFS_DEFAULT set our menuitem BOLD. u can also ignore it.
Actually u can only give MENUITEM “ur_desired_string”, 12345 and Resource Hacker will automatically add other parts.
Adding Newly added Resources in Dialog Boxes:
Once u hv added ur own Icons/Bitmaps/AVIs, u may want to add them in dialog box so that they can be displayed when we open some dialog box (like RUN, Progress Dialog box, etc.).
1.) Goto the desired dialog box, in which u want to add ur own resource, e.g., Dialog -> 1020 -> 1033.
2.) Right-click on the dialog box and select Insert Control option.

3.) It’ll open a new window, where u’ll see many controls, like BITMAP, LABEL, ICON, BUTTON, SysAnimate32 (for AVIs), etc.
4.) Simply click on the desired control, like to use ur own added Bitmap click on the BITMAP control or to use ur own added AVI click on SysAnimate32 control. U can also add Date/Time control by clicking on SysDateTimePick32 control.

5.) Don’t forget to fill the Caption entry. Actually we hv to enter the resource name in Caption so that our added resource can be displayed on that place! e.g., if u hv added a Bitmap and gave it name as 401, then give 401 in Caption.

PS: For AVI Control ( SysAnimate32 ), u hv to add # before the name in Caption. e.g., if the AVI name 144, then put #144 in Caption.
6.) Finally click on OK button & Compile the script.
7.) U can change its position on the dialog box by simply dragging it to ur desired position.
Using Scripts in Resource Hacker:
We can also use Resource Hacker from Command line w/o going thru its GUI and also can automate many repeatative tasks to save our time.
U can use the scripts in 2 forms:
1.) Single command
2.) Multiple commands
1.) Single Command:
Some useful commands with their format r as follows:
-add ExeFileName, ResultingFileName, ResourceAddress, ResourceType, ResourceName,
-addskip ExeFileName, ResultingFileName, ResourceAddress, ResourceType, ResourceName,
-addoverwrite ExeFileName, ResultingFileName, ResourceAddress, ResourceType, ResourceName,
-modify ExeFileName, ResultingFileName, ResourceAddress, ResourceType, ResourceName,
-extract ExeFileName, ResourceAddress, ResourceType, ResourceName,
-delete ExeFileName, ResultingFileName, ResourceType, ResourceName,
Here:
ExeFileName : The original file which we want to edit in Resource Hacker
ResultingFileName : The name which we want to give when we save the file.
ResourceAddress : The resource address (like Bitmap location on our HDD).
ResourceType : The resource type (like Bitmap, AVI, etc.).
ResourceName : Resource name (like 131, 1020, etc.).
EX:- ResHacker.exe -addoverwrite explorer.exe, explorer1.exe, MyImage.bmp , bitmap, 143,
2.) Multiple commands
To use script first u hv to create a script file in notepad and then give following command:
ResHacker.exe -script ScriptFileName
Here: ScriptFileName is the name of the script file which u made in notepad.
Format of a script file:-
[FILENAMES]
Exe=
SaveAs=
Log=
[COMMANDS]
-addoverwrite ResourceAddress, ResourceType, ResourceName
Here:
EXE= is the original file location
SaveAs= is the saved file location
Log= is the LOG file location which will store the log of the process
In [COMMAND] section, we give the commands which we want to execute.
You can omit the LOG entry, then Resource Hacker will automatically create a LOG file named “ResHacker.log“.
NOTE: If you face problem while saving the edited files, then use WFP Patcher or Replacer which can be found in “Downloads” section.














andrew said:
If the sysdm.cpl file is like 1.1mbs does it not open ?
VG said:
^^ May be? I can’t say coz I never tried such BIG sysdm.cpl file when I was on Windows Vista.
Are you facing any problem?
keshab Ghimire said:
how can i change the title of any programme ?? using this software
VG said:
^^ You can get the software name in “Version Info” and “String Table”. Just change it to whatever you want. But use it at your own risk coz it may make the software useless and might violate software EULA.
arup c said:
How can I change the logon screen which shows Windows XP Professional logo?
VG said:
^^ For it you’ll have to edit “%windir%\System32\LogonUI.exe” file in Resource Hacker. This is the file containing all Login Screen images and other resources. You can also use 3rd party software like Logon Studio to do the task automatically and easily.
Keshab Ghimire said:
How to break a trail of any software using this. There is “24″ in the trail version type softre .
VG said:
^^ Sorry but not possible.
anghong said:
how to wath the free movie using PPstream (webtv programe)
Alex said:
Hey Brother, i use to code in C++ and the output is only a sumthing.exe file that dun have any icon (Except the default exe icon) , then can i change the default exe icon to other icons ? thanks in advance for ur time … best wishes
VG said:
^^ Indeed. If you open the file in Resource Hacker, you can change the default icon.
juyi said:
Is there a way to replace multiple AVI, BITMAP and ICON instead of doing it one by one?
VG said:
^^ You’ll have to use Scripts for this task.
juyi said:
Thanks for the quick reply. A recent update I installed from Microsoft replaced my shell32 and all my bitmaps, icons and avi’s changed back to the original ones. I am able to extract all those Vista like bitmaps, icons and avi’s but have to google a bit now to find out how to use scripts to put them back in.
John Sigler said:
hey VG,
In your “Transform you windows xp to vista (without any transformation pack) you had us change the background? image of the progress bar to a pic…how/where does the reference to that pic get inserted into the actual progress bar window dialog…the pic is .bmp (ref. 14354) and the dialog is 1020 but i cannot find any relation to the 2 that make the actual dialog change like it does with your tutorial…awesome tutorials by the way…keep up the great work.
VG said:
You have to manually add the BITMAP at the mentioned location and then put a reference to it in the dialog box.
John Sigler said:
sorry, i mentioned the wrong location…i meant to refer to the logoff/shutdown dialog that had a bitmap placed as what seems to be a background image…in the tutorial (and i hope i am not posting in the wrong area) …i suppose my question is where is the dialog for the logoff/shutdown resource located…i know the bitmap resources are in shell32.dll but i cannot locate the actual dialog window settings…is there an actual editable dialog entry for the logoff/shutdown window? i have only looked in shell32.dll (@ dialog ref. 1089) and msgina.dll (@ dialog ref. 20100) but neither seem to reference the bitmap resources changed from the tutorial…( btw, i followed the tutorial and everything works the way it is suppoed to i just wanted to edit further and was trying to locate these settings for template-like reference…thanks)
VG said:
The file containing Shutdown/log off resources is “%windir%\System32\msgina.dll”.
If you want to change the BITMAP, then simply replace following bitmaps:
20140
20141
20142
20143
20150
The dialog box for shutdown is:
20100
John Sigler said:
ok…maybe we are on different waves…so far, i know all of what you have said…what i was wondering was using Resource hacker, i open msgina.dll, i scroll down to the dialog 20100, and i see a “script”…how / where in that script does it tell the dialog to use resources bitmaps listed above in your post…( or should i say, how did YOU figure out witch resources to modify so that they work?)
is it the flag control? is it the DS_SETFOREGROUND thing at the top, or is it something somewhere else completely…
my purpose is to add a background image to cover the dialog window of any/every dialog window that pops up. (similiar to how it does in the shutdown/logoff dialog
VG said:
Ah. Now you told the right point which you wanted.
So you want to add a bitmap in any dialog box background like I have done in RUN dialog box.
Pls read following points in above tutorial:
Adding new Bitmaps/Icons/Cursors/AVIs:
Adding Newly added Resources in Dialog Boxes:
You have to simply add a BITMAP and then insert a BITMAP in the dialog box and give the same label.
John Sigler said:
cool, but now i was wondering why when i open the file and try to enter a new control, as listed above, i select the bitmap icon in the new window and nothing happens…is this normal or is there something wrong with my program?
VG said:
You didnt read point 5:
5.) Don’t forget to fill the Caption entry. Actually we hv to enter the resource name in Caption so that our added resource can be displayed on that place! e.g., if u hv added a Bitmap and gave it name as 401, then give 401 in Caption.
John Sigler said:
ok, i tried that and still the “ok” button is grayed out… I created a bitmap resource named 101 (the only one in the file) , i then go to the dialog that i want to edit, (for the sake of testing, i am using dialog 1071) and click on the dialog to open the add control window…this all works then i type “101″ (without the quotes) into the caption field, (maybe some other things in the other fields, but just to make sure i am not missing anything…
) then i hit the bitmap icon ( to make it select the resource as a bitmap…) and still nothing changes…
here is a screen shot of the window for your review…
John Sigler said:
how do i send you an image or URL to image…?
VG said:
You did the right thing but in wrong way. First click on BITMAP and then put Caption.
And to post image, just copy its Direct URL and paste here.