1. Navigate to /private/var/mobile/Applications and locate the folder for the app whose icon you want to change. If you are using iFile then you can set it to show you the app name as well as the 32 character Alphanumeric Identifer. If you're using an FTP program (WinSCP/Filezilla etc) you will only see the 32 character Alphanumeric Identifer so you will have to check each folder manually or use Find and search for the app name.
2. Once you have located the app folder, open it and you should see another folder ending .app, this is the contents of the application. Open this folder and locate Info.plist. Some .plist files can be read by notepad others can’t. iFile can read them natively. If you cannot read the .plist then you need a third party reader such as Plist Editor.
3. Open the .plist file and look for the following:
<key>CFBundleIdentifier</key> <string>com.something.something</string> This string is the Bundle Identifier. Copy this string.
<key>CFBundleIconFile(s)</key> <string>Icon114.png</string> <string>Icon72.png</string> <string>Icon57.png</string> This string is the Icon Filename. Workout which icon is right for your device and copy the appropriate string.
iPhone 4/iPod Touch 4 use icons that are 114x114 pixels (118x120 for system and cydia apps). They will normally be called one of the following but can be called anything:
Icon@2x.png / Icon114.png / Icon.png Make sure you pay attention to the case of the filename as the iDevices are case sensitive and this is where most errors occur.
4. Create a folder and name it the Bundle Identifer String. Then take your custom icon and rename it to the Icon Filename String. Take care not to duplicate .png in the filename (i.e icon.png.png), this is the cause of a lot of users issues. Place the icon in the folder.
5. Copy this folder into /private/var/stash/Themes.xxx/Theme_Name.theme/Bundles where Themes.xxx is replaced with your Themes folder name and Theme_Name is replaced with the name of the Theme you want to modify.