Extracting imgfs.bin - Windows Phone 7

I want to extract the contents of an imgfs.bin file that comes from a Lumia 800 stock rom. I used nb7split to extract the files and now I'm stuck with the imgfs.bin file. Osbuilder reads it, even lets me see the struture and when I select the files to extract (wma or wav) it won't extract them to the folder.
What other option do I have?

Related

How to rebuild a .dll to include it into a cooked Rom?

Hi there,
How can i replace a base rom file while cooking my own rom? I want to replace the browser.dll, but not afterwards when the image is on my phone, i want to include it into my rom. My problem is after i build my own rom i got the "patched" browser.dll replaced by the original one.
I understand that i have a imageinfo.txt and imageinfo.bin along with the 5 files s000, s001, s002, s003, s004 and i guess the browser.dll is build from these files. But how can i generate those files or modify them to that my patched browser.dll is included into the cooked rom. Or isn't that possible at all?
regards,
nEUTRon
if browser.dll is a module (it's in a folder in the dump dir whose name is also browser.dll) then just remove the folder and replace it with your own dll.
The actual technique required to do this depends on the kitchen you're using. With Tadzio's tools, I simply remove the folder then move my new dll to the dump directory. Tadzio's tools rebuild imgfs from the dump dir and then merges it back into the XIP section.
Hi....I have the same problem....
What's wrong??
1) I split a .NBH to some .NB
2) Put in the same folder, Tadzio's Tools and OS.nb
3) Make the payload using the string "NBSplit -hermes OS.nb"
4) Make the imgfs.bin using the string "Imgfsfromnb OS.nb.payload imgfs.bin"
5) Extract all files to dumpfolder using the string "ImgfsToDump imgfs.bin"
Ok....now I would want to replace the "MsgStore.dll" and the "cespell.dll"....
Both are MODULEs (in the dump folder I have two folder named as, contain the dll e few other files)
So, I'll delete this two folder from Dump folder, and put in this my two DLL as they are
(note: original MsgStore size: 151 kb / My MsgStore size: 152 kb
note2: original cespell size: 7kb / My cespell size: 8 kb)
6) Make a new imgfs.bin using the string "ImgfsFromDump imgfs.bin imgfs-new.bin"
7) Make the new payload using the string "ImgfsToNb imgfs-new.bin os.nb.payload os-new.nb.payload"
8) Make the new OS.bin using the string "NBMerge -hermes os-new.nb"
What's WRONG ????
Tnks,

[Question] Cooking a personal Rom

Is it possible for me to cook a personal ROM? I have tried alot of ROMs here but ever since HTC's new official ROM was out (asia) , I find it really good for me. One thing i hate from the ROM compared to cooked roms are that everything is disorganised. Everything is in 1 program file. In cooked Roms, the chefs have already taken the liberty to assign each app to their appropriate folders (apps,connection,multimedia, etc)
I would like to do the same , however it takes alot of time for me to do so but I can manage that. What i really want to do is, after organising the apps to their respected folders, and installing all of my needed softwares on the phone, how do i make a complete backup of the ROM, and then save it on my computer perhaps. So then i could flash my phone with the backup ROM and the next time i were to flash my phone, everything would be there (my apps, my organised folder).
Will it be possible (i'm sure it's possible, i just need the right software / app to do it)
You're going to need a Kitchen to cook your own ROM; assuming you have a Raphael device, have a look at this thread:
Useful Links Thread
http://forum.xda-developers.com/showthread.php?t=439783
Many folks use Da_G's Kitchen ... but there are other great Chefs that have made their Kitchens avalaible.
HTH,
Thank you for the link hilaireg. It's very helpful.
After reading the available tutorials, i have a question. Most of the kitchens are using pre-existing ROMS.
I would like to use a new official HTC ROM to start with. "-HTC Touch Pro-MRII-RUU_Raphael_hTC_Asia_WWE_5.07.707.2_Radio_Signed_Raphael_52.58.25.30_1.11.25.01_Ship"
I noticed that all the tutorial require a .nb file which they say comes in the package. However, when i extracted the .exe file , a few files were extracted alongside a .nbh file. But there is no .nb file. What do i do?
arvin2212 said:
Thank you for the link hilaireg. It's very helpful.
After reading the available tutorials, i have a question. Most of the kitchens are using pre-existing ROMS.
I would like to use a new official HTC ROM to start with. "-HTC Touch Pro-MRII-RUU_Raphael_hTC_Asia_WWE_5.07.707.2_Radio_Signed_Raphael_52.58.25.30_1.11.25.01_Ship"
I noticed that all the tutorial require a .nb file which they say comes in the package. However, when i extracted the .exe file , a few files were extracted alongside a .nbh file. But there is no .nb file. What do i do?
Click to expand...
Click to collapse
You need to have NBHextract Tool it will be in include in kitchen...me too trying to cook on same build with no results. It's no easy try try that's it...
krish_nank, Is this your first time building a ROM?
If so, we're on the same boat...
I tried using NBHextract Tool but when i run the .exe a pop up cmd window comes out and then dissappears. I added the program manually in cmd, and here is what it says , but it doesn't do anything although i have place my .nbh file in the same folder with it.
"
C:\Users\xda>C:\Users\xda\NBHextract.exe
=== NBHextract v1.0
=== Extract contents from HTC NBH files
=== (c)2007 xda-developers.com
=== by: pof & TheBlasphemer based on itsme perl scripts
Usage: C:\Users\xda\NBHextract.exe <nbh file> [-v]
C:\Users\xda>
"
arvin2212 said:
organising the apps to their respected folders, and installing all of my needed softwares on the phone
Click to expand...
Click to collapse
If you just want to organize your existing app then all you have to do is go to this folder,
\\\Windows\Start Menu
This folder has all the icons for the programs. So now you can arrange/ rearrange icons, create folder and move the links to the respective folders as you see fit. Total Commander can be used for this.
If you want a way to install apps after installing a new ROM, you can use UC you can read about it here
http://forum.xda-developers.com/showthread.php?t=366337
But if you just want to build custom ROM then the easiest kitchen is Da G's. If you want a fully loaded kitchen try At0mAng - Advance Kitchen - V2
nnkumar73 said:
If you just want to organize your existing app then all you have to do is go to this folder,
\\\Windows\Start Menu
This folder has all the icons for the programs. So now you can arrange/ rearrange icons, create folder and move the links to the respective folders as you see fit. Total Commander can be used for this.
If you want a way to install apps after installing a new ROM, you can use UC you can read about it here
http://forum.xda-developers.com/showthread.php?t=366337
But if you just want to build custom ROM then the easiest kitchen is Da G's. If you want a fully loaded kitchen try At0mAng - Advance Kitchen - V2
Click to expand...
Click to collapse
Both Da_g's & AtomAng kitchen or based on some OS build we ...we want to dump a ROM & Rebuild it on our own way we want.......
krish_nank said:
Both Da_g's & AtomAng kitchen or based on some OS build we ...we want to dump a ROM & Rebuild it on our own way we want.......
Click to expand...
Click to collapse
okay, my bad. Then I am sure you have seen the ROM reconstruct thread. Hope that thread helps you.
Have a look at the first three posts in the following thread:
[TUT] Sous-Chef's Guide to Da_G's Simple Kitchen
http://forum.xda-developers.com/showthread.php?t=490787
Essentially, once you unpack the "-HTC Touch Pro-MRII-RUU_Raphael_hTC_Asia_WWE_5.07.707.2_Radio_Signed_R aphael_52.58.25.30_1.11.25.01_Ship" executable, you run a script that performs the actions required to prepare the NBH file for custom cooking.
That should get you started.
HTH,
krish_nank said:
Both Da_g's & AtomAng kitchen or based on some OS build we ...we want to dump a ROM & Rebuild it on our own way we want.......
Click to expand...
Click to collapse
With my kitchen do this...
Backup the OEM and SYS folder...
If you have the NBH file already place it in the BaseROM folder
If you do not have the NBH file then run the EXE downloaded from HTC, let it go all the way to the first install screen and dont do anything yet, go to your temp folder on the computer, dig around the folders if there are many, you will see ruu_signed.NBH, copy and paste into the BaseROM folder of kitchen.
Once NBH is in the baserom folder start my kitchen
Select 2, 1, 1 and let it do its thing
When extraction is completed and you are back at main menu select option 8, move dumped OEM/SYS from Temp
When that is done select option 6 Copy Extracted ROM XIP from Temp
When that is done your new dumped ROM is ready to be built.
Delete or do not select any duplicate packages
Clean out the new OEM/SYS folders. There is a lot of junk in there that can be removed, welcome folder, do a search in the OEM/SYS folders for *.3gp and remove the welcome movie and blah blah blah...
If you take the time to look at the folder structure of the OEM and SYS folder you should be able to figure it out pretty quickly.
If you need further help you may ask in my kitchen thread.
Hope this is a start for you guys...
nnkumar73, Thank you for your suggestion but i already known about manually doing it from the start menu folder. However it's not practical as , i would have to do it everytime i reflash my phone. If there is a new rom available, and i were to try it and somehow wanted to go back with my older ROM, i would have to do all the moving etc all again.
hilaireg once again, thank you for the link..
At0mAng, Thank you very much as well. I will follow your steps and see how it goes. I appreciate your effort of posting the right steps for it. Thank you.
DELETED.......................
Just an addition to previous posts
arvin2212 said:
C:\Users\xda>C:\Users\xda\NBHextract.exe
Click to expand...
Click to collapse
I can see u missed out the command : nbhextract ruu_signed.nbh
arvin2212 said:
3.If you do not have the NBH file then run the EXE downloaded from HTC, let it go all the way to the first install screen and dont do anything yet, go to your temp folder on the computer, dig around the folders if there are many, you will see ruu_signed.NBH, copy and paste into the BaseROM folder of kitchen.
Click to expand...
Click to collapse
The easiest way is to use any packer apps like winrar. u can extract the nbh directly. if u r using total commander will be a lot easier. just press ctrl+pg dn & u can extract the file instantly.
Thanks to everyone's help especially At0mAng,
I finally extracted the ROM. I can see aloto of files in SYS and OEM folder.
What i would like to know now is, how do i create folders (icons are not neccessary for the folders) so that i can group installed apps in them according to category? Example is, A multimedia, navigation and games folder is created and , my apps are stored in the folders according to their functions. Like GPS tool goes into navigation and so on..
To simply copy files from \Windows to another directory, you can use an initflashfiles.txt in the OEM. Syntax is:
Directory("\Windows\Start Menu\Programs\Tools"):-File("Enable Proxy.lnk","\Windows\Enable Proxy.lnk")
If you are trying to just place Start Menu items in different folders, it's a bit more complicated. There are many places that this can happen.
1) In \OEM\OEM_Lang_0409\initflashfiles.dat
You can edit this file in Notepad if you remove the ReadOnly bit in Windows. Once you've edited it in Notepad and saved it, you need to re-open it in a Hex editor and delete the first 2 bytes "ff fe". Once you delete those first 2 bytes, save the file and reset the ReadOnly flag. In this file is where I define the Folders I want to use in my "Start Menu" folder like this:
; Start Menu contents
Directory("\Windows\Start Menu")ermDir("Programs")
Directory("\Windows\Start Menu")ermDir("Settings")
Directory("\Windows\Start Menu\Programs"):-Directory("Games")
Directory("\Windows\Start Menu\Programs"):-Directory("Navigation")
Directory("\Windows\Start Menu\Programs"):-Directory("Internet")
Directory("\Windows\Start Menu\Programs"):-Directory("Multimedia")
Directory("\Windows\Start Menu\Programs"):-Directory("Office")
Directory("\Windows\Start Menu\Programs"):-Directory("Phone")
Directory("\Windows\Start Menu\Programs"):-Directory("Tweaks")
Directory("\Windows\Start Menu\Programs"):-Directory("Tools")​2) *.provxml files
You need to edit these files with a unicode editor. Personally I use EmEditor. You'll notice that in mose packages in \OEM and \SYS there is a _Lang_0409 dir that goes along with it. It's "usually" in this folder where you'll see a *.provxml file. If you open these in EmEditor you'll see that there are lots of file operations. You want to seach or the line containing the *.lnk. In that line you can set the patch of where you'd like the icon installed.
There may be other places that this happens as well, but that's just off the top of my head.
Good Luck!
-e
eras2r said:
To simply copy files from \Windows to another directory, you can use an initflashfiles.txt in the OEM. Syntax is:
Directory("\Windows\Start Menu\Programs\Tools"):-File("Enable Proxy.lnk","\Windows\Enable Proxy.lnk")
If you are trying to just place Start Menu items in different folders, it's a bit more complicated. There are many places that this can happen.
1) In \OEM\OEM_Lang_0409\initflashfiles.dat
You can edit this file in Notepad if you remove the ReadOnly bit in Windows. Once you've edited it in Notepad and saved it, you need to re-open it in a Hex editor and delete the first 2 bytes "ff fe". Once you delete those first 2 bytes, save the file and reset the ReadOnly flag. In this file is where I define the Folders I want to use in my "Start Menu" folder like this:
; Start Menu contents
Directory("\Windows\Start Menu")ermDir("Programs")
Directory("\Windows\Start Menu")ermDir("Settings")
Directory("\Windows\Start Menu\Programs"):-Directory("Games")
Directory("\Windows\Start Menu\Programs"):-Directory("Navigation")
Directory("\Windows\Start Menu\Programs"):-Directory("Internet")
Directory("\Windows\Start Menu\Programs"):-Directory("Multimedia")
Directory("\Windows\Start Menu\Programs"):-Directory("Office")
Directory("\Windows\Start Menu\Programs"):-Directory("Phone")
Directory("\Windows\Start Menu\Programs"):-Directory("Tweaks")
Directory("\Windows\Start Menu\Programs"):-Directory("Tools")​2) *.provxml files
You need to edit these files with a unicode editor. Personally I use EmEditor. You'll notice that in mose packages in \OEM and \SYS there is a _Lang_0409 dir that goes along with it. It's "usually" in this folder where you'll see a *.provxml file. If you open these in EmEditor you'll see that there are lots of file operations. You want to seach or the line containing the *.lnk. In that line you can set the patch of where you'd like the icon installed.
There may be other places that this happens as well, but that's just off the top of my head.
Good Luck!
-e
Click to expand...
Click to collapse
Somehow, i am not able to find this file , initflashfiles.dat in my OEM_Lang_0409 folder. :?
Do you have Windows Explorer setup to view all system/hidden files? (Tools->Folder Options-->View)
If using a kitchen that supports it (mine does for sure) you can create a new, blank text file in a package folder, initflashfiles.txt
it uses the same format eras2r posted above, but gets appended to initflashfiles.dat during the cooking process
in this manner you can have initflashfiles.dat changed on a per-package basis, it's also easier because you don't have to worry about the first 2 bytes etc.
e.g. \Packages\beer\initflashfiles.txt
When cooking rom check box next to package "beer"
now the contents of \Packages\beer\initflashfiles.txt get appended to initflashfiles.dat automatically during cooking, don't get applied if box is not checked
similarly this initflashfiles.txt can go in any folder in \OEM and \SYS as well
eras2r, yes , it has already been configured to show hidden files & folders
Da_G, i get what you mean, roughly. What you're saying basically is that i can manually create a txt file for initflashfiles and leave it in the packages folder?
Also i am not sure about the syntax that eras2r posted. I find it alittle well above my level of knowledge. Maybe someone can guide / explain to me regarding this?
Right right, an initflashfiles.txt can go in any subfolder under \OEM \SYS or \Packages
You can create the file with notepad, no need to worry about removing things with a hex editor or otherwise using anything other than notepad.
The syntax is as follows:
using this example to create a directory:
Code:
Directory("\Windows\Start Menu\Programs"):-Directory("Tools")
Directory("\Path\to\create\directory\in\goes\here"):-Directory("Name_Of_Directory_To_create_in_path") - essentially you're saying "Switch to the folder named \Path\to\create\directory\in\goes\here and create a new folder named Name_Of_Directory_To_create_in_path inside of it.
similar syntax to copy a file from one directory to another:
Code:
Directory("\Windows\Start Menu\Programs\Tools\"):-File("Fieldtest.lnk","\Windows\Fieldtest.lnk")
Directory("\Path\to\copy\file\in\goes\here"):-File("destination_file_name.ext","\source\path\to\filename.ext") - here you're saying "navigate to \Path\to\copy\file\in\goes\here, copy file from source \source\path\to\filename.ext, rename it to destination_file_name.ext when copying (you can use the same filename here if you don't want it renamed, renaming is useful for files that might be indexed by windows media player, or the windows help system, etc.
That should clear it up a bit, let me know if it doesnt

[Q] Make modifications to "os.nb"

I wanted to make an own Windows Phone 7 Custom Rom for my HTC HD7. Nothing special, just my own splashscreen, some special wallpapers and (of course) unlocked
But now I got more or less stuck...I extracted the .nbh file with the "NBHImageTool" (which was made by Da_G). Now, I've got a file called "os.nb" in the nb folder and a .xml file in the xml folder. But how can I make my modifications to the "os.nb"-file now?
I'd be very glad to know that
Thanks!
riginally Posted by Football
Btw, IMGFS is protected from dumping, so it will take time to extract the content and use it for HD2 for example or recook it HD7...
You can use IMGFStoDUMP or Xidump to extract the contens of OS.nb
Edit the files you like (mybe Regestrie: default.hv & user.hv)
and when you are finished repack the contens of the DUMP folder with IMGFSfromDUMP

need help about xip.bin file

how to extract a xip.bin file?
I used xipport and it gived me necessary files: S000, S001 and S002
but these were in binary format. so I could modify these only via hexeditor. is there any way to extract or convert these files?
if we can do this, I will try porting rmnet protocol to clk bootloader

Plugin Descriptions (Donate Version)

Plugin Installation:
Open the Plugin Manager
Choose Install a Plugin
Choose the plugin you want to install
Choose Run a Plugin
Choose the Plugin you want to run
Enjoy!
NOTE: The usage instructions in each plugin description below assume you have already installed it. When the instructions end, that's when you run the plugin from the plugin manager.
SuperR's Kitchen Plugin Descriptions
SuperR Maintained Plugins:
add_placeholder
Only for system-as-root devices
Adds placeholder files to all empty directories in your project
add_remove_files
Add all apk files from a directory
Choose apk to import
Choose directory structure to import
Delete files from your ROM based on directory structure
NOTE: To use "Choose directory structure to import" and "Delete files from your ROM based on directory structure", your directory must be set up as the following example:
Code:
your_directory_name/system/anything_you_want
your_directory_name/vendor/anything_you_want
your_directory_name/cache/anything_you_want
your_directory_name/hidden/anything_you_want
your_directory_name/boot.img
The above is only an example. You can add anything you want as long as there is a "system" directory inside another directory. When choosing the directory, choose your_directory_name instead of system or it won't work. Think of the directory structure exactly like the kitchen project directory. When you import directory structure, your directory will be copied into your project directory and files will be overwritten if they already exist. When you remove a directory structure, you will choose your_directory_name again and the plugin will remove the same files it finds from your project directory.
amlogic_unpack
Unpack Amlogic firmware img
apktools
Choose an apk from your current rom directory.
Decompile the apk.
Build apk.
Sign apk with 3 options (use signapk.jar, copy original META-INF to new apk, or copy new classes.dex and resources.arsc to original apk).
Move apk back to where it came from.
Patch smali using .ptch files
Delete META-INF from all apk files
Delete SEC-INF from all apk files
Separate lib directory from all apk files
Zipalign apk files
aroma_install
Install Aroma in your existing ROM.
Create aroma-config using a menu.
Choose apk files to add to the option menu.
Usage:
Extract your ROM normally using ONLY set_metadata or set_perm.
autorom_config
Creates an AutoROM config file to automate the extraction process and many other tasks.
Currently supports perm type, vendor.img, rom name, custom signature, deodexing, root, su.d, and Busybox
buildprop_add
Adds lines from a file to build.prop.
concatimg
Combines partition_*.img files into a single img file
custom_zip
Create a flashable zip of one or more image files as long as you know the partition name where it should be flashed.
Create a flashable patch zip from directories that have matching fs_config and file_contexts3 files
Convert updater-script to update-binary script for use in the mods_install plugin
Usage:
Copy the partition images and/or directories you want in the zip into a new directory in your project.
In the kitchen main menu, choose Plugin Manager > Run a plugin > custom_zip
Choose the new directory from the list.
For img files in by-name devices, type the partition name from your device where it should be flashed (ex. aboot)
For img files in mmcblk devices, choose your block from the list (add it to the device superr_mmc file if needed first).
decrypt_htc
Decrypt ruu.exe and ruu.zip files stored in your current project directory.
Extract system.img & boot.img to the current project directory for extraction.
Usage:
Copy ruu.exe or ruu.zip to current project directory (ruu.zip must be named exactly ruu.zip).
gapps
Downloads and includes Open Gapps in your ROM.
Choice of aroma, super, stock, full, mini, micro, nano, or pico
Detects Android version and architecture from ROM to download the latest available version for your device.
If there is no ROM, it will allow you to choose Android version and architecture.
Remove gapps if it already exists.
gen_set_metadata
Generates set_metadata lines for every file in project directories that have matching fs_config and file_contexts3 files.
img_tools
Allows rebuilding ext4 img files that have been extracted by the kitchen even if there is not a complete ROM in the project.
Convert sparse img to raw img
Convert raw img to sparse img
Build super.img
Resize img
super.img Build Requirements:
All included img files must be built as sparse.
img file names must be either partition.img or partition_new.img.
super.img size must be in 00_project_files/srk.conf.
Example:
supersize=9437184000
The numeric value in the example above is the raw super.img file size in bytes.
The kitchen adds the super.img size when unpacking a super.img. If the kitchen did not unpack the super.img, you can enter the size in srk.conf manually.
Optional values metadata-size and metadata-slots can also be added to srk.conf. Defaults are listed below:
metadata-size=65536
metadata-slots=2
*This plugin will only work in v3.2.1.0 or higher*
lg_tools
Unpack LG kdz files
Removes rctd, ccmd, and triton from LG boot.img.
mods_install
Add any flashable zip to your ROM that uses an update-binary script instead of a updater-script
Remove mods
Shows the kitchen added mods you currently have installed
ozip_decrypt
Decrypt firmware.ozip files
payload_dump
Unpack payload.bin firmware
rockchip_unpack
Unpack Rockchip firmware img files
samsung_tools
Asks one-by-one if you want to add ro.config.tima=0, ro.config.knox=0, ro.securestorage.knox=false, ro.securestorage.support=false, ro.security.mdpp.ux=Disabled, and wlan.wfd.hdcp=disabled to ramdisk default.prop
Create tar.md5 from all img, mbn, ext4, and bin files in your ROM directory.
Create tar.md5 from all the above except system.img, system.img.ext4, boot.img, and recovery.img
Decode OMC/CSC
Deodex patch for Android 8.1+
Pack *_new.img files to lz4
sepolicy_injector
Converts sepolicy denials into allow rules, and optionally patches seplicy with the new rules.
Paste a denial
Read denials from 00_project_files/logcat.log
unsign_mtk_img
Removes MTK signature from img files
updateapp
Extract firmware.zip that contains UPDATE.APP
Extract img files from UPDATE.APP
Usage:
Place a firmware.zip or UPDATE.APP in your rom directory.
xiaomi_patch
Patches several things in Xiaomi firmware.
Usage:
Extract your firmware with the kitchen, then run the plugin.
xperia_unpack
Unpack Xperia firmware
Choose full firmware zip, an ftf file, or a sin file.
When choosing a sin file, all sin files in the project directory will be unpacked.
Respects the partition_extract_list variable from kitchen/tools/srk.conf
User Contributed Plugins:
None
Custom Plugins
The donate version has plugin support. This means you can integrate your own script into the kitchen. Each plugin must have its own directory inside the kitchen plugin directory, and it must be named the same as the plugin script.
Examples:
/kitchen/tools/plugins/example_bash/example_bash.sh (Linux, Mac)
/kitchen/tools/plugins/example_batch/example_batch.bat (Windows)
You can check the example plugins in the kitchen for more details and use them as templates for your own plugin.
There are 3 variables set in the example plugin to take note of:
bd = /path/to/kitchen
rd = /path/to/kitchen/superr_projectname
plugdir = /path/to/kitchen/tools/plugins/pluginname
NOTE: If you would like to contribute a plugin, please PM a link to the plugin for review.
This post contains the last working versions of all plugins that have lost native Windows support.
If you are running the kitchen in WSL, WSL2, Linux, or Mac you should use the kitchen plugin manager to get the latest versions of these plugins.

Categories

Resources