Jump to content


Photo

Rom Dump/Build Application

* * * * * 2 votes

  • Please log in to reply
706 replies to this topic

#1
wes58

wes58

    Diehard

  • Members
  • PipPipPipPip
  • 442 posts
  • Devices:I900
Since the start of this application it has evolved and more options/functions became available, therefore I decided to re-edit this post.

With this application you can do the following:
1. Dump (or as some other people prefer to call it Decompile, Extract files from) the rom file. The rom file can be in the format of '.bin' (rom_dump.bin - dump from the phone with Sorg's application), '.nb' or '.nb0' files.
2. Dump (Extract files from) a selected CSC from the multi-CSC file.
3. Re-build a CSC file based on the previously extracted CSC file
4. Modify dumped rom. Delete files from OEM or SYS folders and save a log of deleted files which can be reused for next rom versions.
- Edit registry, provxml and other files with external applications (text, hex editor, registry editor etc) that can be launched from this application.
- Add your own packages to the OEM folder (you have to do it manually) but they will be included in BuildOS.
5. Build new rom based on a current sys version or ported any other version of WM.
In the build you can:
- use LZX compression of IMGFS
- provide some protection to your rom against dumping it, by converting all packages to one
- port new version of WM
- change the Page Pool
- can disable check for Certificate and File Signing so the applications that you add to the rom can start without any notifications
6. Rom Beta expiry date (Timebomb) patch

Note:
I have attached to this post also steps needed for Reallocation of modules manually, just in case there are problems with automatic reallocation.


If you find any problems please post some details (or PM me) not just saying "it's not working" I will try to fix it.

And the last note as usual - USE IT AT YOUR OWN RISK! 


Edit:

Updated archive.
- Added an option to change PDA version in nb0 file.

- 20/01/10 Version 1.2Beta added - fixed some bugs, changed messages. Now, when there is an error during building it should stop building and have a message that build failed. There are some functions disabled (for porting new OS xip) until I have a chance to fully tested. Replace romTool.exe with the one from the archive.

.....

27/02/10 Version 1.8 Replace the file romTool.exe
- added an option to change Page Pool value. Some information about Page Pool can be found here: http://msdn.microsof...y/aa915315.aspx
or here http://blogs.msdn.co.../17/494177.aspx

6/03/10 Version 2.0 Full kitchen in the archive, but you can only replace romTool.exe if you wish.
This will be the last version that I release unless I find some major bugs.
- changed the layout of dump and build tabs. I reduced number of options to select.
- added an option to Disable for checking for signed files and certificates so you can load unsigned files even during boot - thanks to information from cmonex from xda-developers website.

7/03/10 Version 2.0.1 - bug fixed. Replace romTool.exe
- fixed the problem when "Patch - Disable File Signing/Certificate checking" is selected and "Change Page Pool" was not selected, it came with an error "Invalid new page pool value".
- added, displaying messages when page pool value is changed and path for disabling file signing is applied.

7/03/10 Version 2.0.2 - a small bug fixed
- I found a small bug with 'Patch - Disable File Signing/Certificate checking' checkbox. If you selected it and then de-selected it the program still thought that the checkbox was selected.

8/03/10 Version 2.0.3 - bug fixed
- Fixed a bug where new xip.bin was not inserted into the new PDA if only 'Page Pool change' was selected and not porting new OS xip.
- Change the number of characters that can be used for PDA version. Before it was fixed at 11 characters.
- One more note, not a software bug, but settings in EXTReloc. To fix the problem with running Samsung Kies (and maybe some other issues that we haven't found yet) when using EXTReloc you have to change some settings:
1. When EXTReloc starts go to Tab "Options"
2. Select "Use packages.cif for reloc of IMGFS"
3. Select "Use flag L for IMGFS"
4. Press "Save". Settings will be saved.
5. Do reallocation of XIP/IMGFS as usual

27/03/10 Version 2.1.0 - replace romTool.exe with the one from the archive, copy All_packages_to_one.exe to Tools folders.
- At a request from sinancetinkaya I added an option to convert All Packages to One when building rom. It gives some protection to the rom from dumping.
- Changed naming of xip folders. XipOrg should be renamed to XIP, and xipNewOS_xxxx should be renamed to XIP_xxxx, where xxxx is the number/text used in corresponding SYS_xxxx folder.
IMPORTANT!!!
*** Rename XipOrg folder to XIP folder (in _Template\XipTools\ and in any rom XipTools\ folder)
*** Rename any XipNewOs_xxxx folders to XIP_xxxx folders (in _Template\XipTools\ and in any rom XipTools\ folder)
- Added an option to delete one more module from xip - mencfilt.dll (used for encryption of SD card).

31/03/10 Version 2.2.0. Copy the files to correct folders in your kitchen
- At a request from sinancetinkaya I added an option to use LZX compression of Imgfs.bin when building rom. He tested it, so if there are any problems please direct any questions to him.
To use this option:
--- copy contents of \ROM folder to the \ROM folder in _Template folder and any other rom folders that you have. The files that are in this folder will be created when you dump the rom but if you are using already dumped rom you need to have a file imgfsLZX.src in \ROM folder.
--- copy (backup existing) cecompr_nt.dll from \TOOLS folder into all your \TOOLS folders. It is used for LZX compression by imgfsFromDump.exe.
--- copy \LZX folder in XipTools to all your XipTools folders. In this folder there is a cecompr.dll module that replaces original ones in your xip
- Added an option to automatically run reallocation of modules. Extreloc screen still opens so you can see the progress but there is no need for pressing any buttons (pressing any can cause some problems with the application "lock up")
- Added in Setting tab, an option to set default status for "Manual/Auto Reallocation" and "All Packages to One" options. Also, added a button to Start ExtReloc.exe to review/change settings.
- Added correct header to built CSC file so it displays correct information when loaded to Octans.

1/04/10 Version 2.2.1 Replace romTool.exe
- Fixed the problem that can occur during Reallocation in a certain conditions - ExtReloc could close while still reallocating imgfs modules.

2/04/10 Version 2.2.2 Replace romTool.exe
As requested by Sonblack I added:
- 'Delete Temp' button in Build tab to delete temp folder with all the files created by BuilOs. Normally this folder is deleted prior to building new rom, but if you want to 'clean' you folders you can delete it after your rom is built.
- Added patch of 'Timebomb' (rom Beta expiry date in some roms) in shell32.exe. Thanks, Ryrzy for information.
- To make rom Beta patching complete I also delete registry keys with 'Beta' in shell folder.
All this is done automatically.
- Also added some information that is displayed when you change to the Build Tab, change the Rom or Sys version. It displays the current information about "Timebomb", Page Pool and Certificate Patch. It looks like this:
**************************************************************
*** TIMEBOMB already Patched in \shell\shell32.exe
*** BETA keys not Found in 1f1aca24-d942-464a-9281-10567741499c.rgu
*** Certificate, File Signing Security check already Patched
*** Page Pool change Lock already Patched
*** Page Pool Current Value = 8
****************************************************************

5/04/10
Test Csc Backup application, (modified Samsung application to backup csc on your phone) added.
I did some more modifications since this morning and currently the whole csc file can be extracted as one file with correct header. The files can then be extracted from this CSC using my application.
I will have to modify my application to build the file with the proper 'footer' (end of csc file which has to be added). I am not sure how many people are there who still have original csc file on the phone and want to back it up, but I thought I try to make it work.

If anybody would like to try/test it and let me know if it works it would be good.
How to do it:
1. Extract the archive on you PC and copy the folder csc_bak on your Main Storage (don't put on SD or "My Storage"!).
2. Run cscGetFiles.exe from you file exporer on the phone. It doesn't give you any information that is has completed but you can check the content of the csc_bak folder and BACKUP.CSC file should be there.
The csc file, BACKUP.CSC will be created in the csc_bak folder on your Main Storage. The CSC_bak folder has to be created on main Storage.
3. After that you can extract files using my application and you will see if all the files are there.


11/04/10 Version 2.2.3. Fixed build of csc files.
- fixed bug with build of CSC files - loosing csc binaries (images for charging, rom download...)
- added an option to change csc version (update in csc file and in CSCConfig.reg in the csc file), and csc pda version.

18/04/10 Version 2.2.4. Added an option to use imgfsFromDump TURBO. NOTE: Version 2.0 has all necessary files/folders for application to work. Extract this first than overwrite with new files.
- In Settings tab set 'Use imgfsFromDump Turbo' if you want to have it as deafult.
- You can still use previous version of ImgfsFromDump.exe (if you have problems with the rom) if you leave 'Use ImgfsFromDump Turbo' not checked.
- Copy imgfsFromDumpTurbo.exe to your Tools folders.
- If you find newer version on xda-developers, rename it to imgfsFromDumpTurbo.exe and copy to your Tools folder
Edit: 19/07/10 Fixed a bug that enrico988 found. Attached fixed version romTool2.2.4 fixed.rar

9/05/10 Version 3.0 Archive with all files and folders need attached.
- Dump tab added an option to modify PDA file (.nb0, .bin or .nb) without dumping the file. Page pool value and security patch can be changed.
- Build tab added an option to change PDA version of the rom
- 'EXT_OEM packages' tab added. You can place your own OEM packages in the EXT_OEM folder and select which ones you want to use with your current build.
- Xip.bin can be build when porting new OS, and when xip.bin for new OS is not available but only having MSXIPKernel folders with xip files.
NOTE: copy buildxip.exe into your 'xipTools' folders for this option to work.

11/05/10 Version 3.0.1 Small bug fixed. Download first version 3.0 and then eplace romTool.exe from the archive.
- A bug fixed in 'Dump' tab (thanks twu2 for finding it). Page Pool value was not changed when changing page pool of existing .nb0 file that had page pool already patched.

NOTE: File CABARC.EXE is missing from the Tools folder in version 3.0 archive. Download it here, and extract the file to Tools folders.

I should thank the authors of the tools that made cooking of roms possible. Authors of osnbtool, buildOs, imgfsFromDump, pkgTool, dump, XIPport, EXTReloc.

Attached Files


Edited by wes58, 16 May 2010 - 12:47 AM.

  • 2
If you find this Application useful, you can buy me a glass of wine




Posted Image


Samsung Omnia II GT-I8000

#2
Teflanzy

Teflanzy

    Regular

  • Members
  • PipPip
  • 92 posts
  • Gender:Male
  • Location:Bahrain
  • Devices:Samsung Omnia 2
i will try it tomorrow.

hope it works for me because i want to learn how to build roms

thanks for sharing

  • 0

#3
pompoko

pompoko

    Newbie

  • Members
  • Pip
  • 20 posts
Thank you very much
I can build my favorite rom finally.

  • 0

#4
pompoko

pompoko

    Newbie

  • Members
  • Pip
  • 20 posts
Can you add function to do MST->NB0? 'Cause many rom that secany support is MST
Thanks.

  • 0

#5
twu2

twu2

    Diehard

  • Members
  • PipPipPipPip
  • 353 posts
  • Devices:Samsung i8000
you can try rodrigofd's o2util.exe to convert mst to nb0.
http://www.modaco.co...lity-for-i8000/

  • 0

#6
pompoko

pompoko

    Newbie

  • Members
  • Pip
  • 20 posts

you can try rodrigofd's o2util.exe to convert mst to nb0.
http://www.modaco.co...lity-for-i8000/


Thanks.

  • 0

#7
kaplex

kaplex

    Newbie

  • Members
  • Pip
  • 40 posts
Thanks wes58. i've tested in window vista and its work.
i've finally managed to ported new winmo built and custom csc.

the problem i get so far is i notified that appear Beta expires 05/01/2010 on wallpaper and my samsung dialer has scrollbar.
anyone know how to fix it?

  • 0

#8
wes58

wes58

    Diehard

  • Members
  • PipPipPipPip
  • 442 posts
  • Devices:I900

Thanks wes58. i've tested in window vista and its work.
i've finally managed to ported new winmo built and custom csc.

the problem i get so far is i notified that appear Beta expires 05/01/2010 on wallpaper and my samsung dialer has scrollbar.
anyone know how to fix it?


To remove Beta and expire date from today screen you have to change registry:


[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\DeviceBeta]
"Today"="Beta" -> change to empty string
"Expiry"="Expires: %02d/%02d/%04d" -> change to empty string
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\DeviceBeta]
"About"="- BETA"

If you want to do it before cooking Rom change it in 1f1aca24-d942-464a-9281-10567741499c.rgu in sys\shell folder

Samsung Dialer and some other software have the problem in WM6.5.3, WM6.5.5 because of different sizes of bottom and top bars.

  • 0
If you find this Application useful, you can buy me a glass of wine




Posted Image


Samsung Omnia II GT-I8000

#9
wes58

wes58

    Diehard

  • Members
  • PipPipPipPip
  • 442 posts
  • Devices:I900

you can try rodrigofd's o2util.exe to convert mst to nb0.
http://www.modaco.co...lity-for-i8000/


With Rodrigo's application you can extract nb0 file but it is still with language packs. You won't be able to modify it. Unless Rodrigo managed to do it now, we could not get it working before.


The best way is to flash Secany's mst file on the phone and then dump rom with Sorg's application. You rename the dumped rom_dump.bin to pda.nb and then you can do with it what you want.

  • 0
If you find this Application useful, you can buy me a glass of wine




Posted Image


Samsung Omnia II GT-I8000

#10
Wilson@China

Wilson@China

    Regular

  • Members
  • PipPip
  • 73 posts
Wes,you are great.

  • 0

#11
Ganhiru

Ganhiru

    Regular

  • Members
  • PipPip
  • 126 posts
  • Gender:Male
  • Location:NL
  • Devices:Piramid,HD2,i8000, i900, X500+
Great pack, just used it to get a single CSC so I can be shure ppl will use the right CSC with the Rom I made.
I'll keep playing with it, if I encounter problems I'll let you know.
TY for sharing.

  • 0

#12
sx1000

sx1000

    Newbie

  • Members
  • Pip
  • 6 posts
It is strange but it does not work, tried to dump firmware PDA_RFD_LEO2FUSION_BETA1.nb0 when getting:
Error deleting \SYS and \OEM and
error Error Move FolderFiles \SYS and \OEM
after dumped to packages

And when you try to build:
> Please Wait ...
> Error Opening. ROM \ imageinfo.bin - even though the file exists
> BuildOS exited.
> ExtReloc exited.
> not Found
> Error Opening imgfs-new.bin

Can not do that'll show please? :)

Edited by sx1000, 18 January 2010 - 02:45 AM.

  • 0

#13
wes58

wes58

    Diehard

  • Members
  • PipPipPipPip
  • 442 posts
  • Devices:I900

It is strange but it does not work, tried to dump firmware PDA_RFD_LEO2FUSION_BETA1.nb0 when getting:
Error deleting \SYS and \OEM and
error Error Move FolderFiles \SYS and \OEM
after dumped to packages

And when you try to build:
> Please Wait ...
> Error Opening. ROM \ imageinfo.bin - even though the file exists
> BuildOS exited.
> ExtReloc exited.
> not Found
> Error Opening imgfs-new.bin

Can not do that'll show please? :)

Where did you extract the kitchen archive? You should keep a path short and extract kitchen to c:\ or whatever other drives you have. The structure of the folders should be like this.

Drive C, D:\ (doesn't matter)

rootfolder\ (whatever name you want - default one is i8000kitchen)

... \Tools

... \XIPtools

... \Rom

... \Finished Rom

... romTool.exe

... pda.nb0 or pda.nb (your rom file - name is not important).





When you dump first time, you won't have some folders created (like SYS, OEM in root folder) and you will get an error message saying Error deleteing SYS... don't worry about it.

  • 0
If you find this Application useful, you can buy me a glass of wine




Posted Image


Samsung Omnia II GT-I8000

#14
kaplex

kaplex

    Newbie

  • Members
  • Pip
  • 40 posts
i cook rom with your utility, but my phone have little bug. whenever i connect to activesync, it will disconnect back and phone become sometime hang.

i follow this procedure to cook:
1. flash with latest rom by secany
2. dump rom by using sorg's application
3. using rod's utility, i convert the dump rom to pda.nb0 which is flashable

Dump Rom
1. copy pda.nb0 to extracted i8000kitchen folder.
2. start romtool.exe and open file pda.nb0
3. tick extract header.., extract imgfs.bin, dump to package, extract xip.nb, dump xip.bin
4. press dump button
5. finish

Pre-Build rom
1. in xiptools folder start xipport.exe
2. click dump xip.bin
3. click write maps
4. close xipport

Build rom
1. in build Options, i tick box-1,2,5,6.
2. Press build button.
3. Buildos will start and press play button.
4. after finish, i close buildos and extreloc will start.
5. Go to work page, press "import xipport" and xipport start
6. Press "ReallocV" in extreloc
7. Go to xipport and press "realoc P". Press "write map" in xipport
8. Go to extreloc and double click on "physlast" number, press "realloc nk.exe gsiir" ... button
9. Go to xipport and press "realloc P" again
10. In extreloc drag the vertical white line to the left and press "realloc imgfs"
11. Press "Save .VM and .ROM". Close extreloc
12. close xipport and extreloc.
13. rom available in finished rom
14. i flash the phone.

Problem
1. in built rom process i got 'Error Opening imgfs-new.bin'. i found out the file is in temp folder.
2. the phone cant connect to activesync.

Information
1. i did nothing changes on sys, rom, oem.

hope this information will help you build better utility for i8000 community. i appreciate for all your helped wes58.

  • 0

#15
sx1000

sx1000

    Newbie

  • Members
  • Pip
  • 6 posts
Remarkably, unpacking was successful!
Given your recommendations message ceased to appear,
but the pack did not have:

> Please Wait ...
> BuildOS exited.
> ExtReloc exited.
> Not Found
> Error Opening imgfs-new.bin
> Done CheckForErrors

imgfs-new.bin nowhere does not appear

Changes in any package or in the other options do not move that

'll Show what I'm doing is not so, in what may be my mistake?

  • 0

#16
wes58

wes58

    Diehard

  • Members
  • PipPipPipPip
  • 442 posts
  • Devices:I900

i cook rom with your utility, but my phone have little bug. whenever i connect to activesync, it will disconnect back and phone become sometime hang.

i follow this procedure to cook:
1. flash with latest rom by secany
2. dump rom by using sorg's application
3. using rod's utility, i convert the dump rom to pda.nb0 which is flashable

Dump Rom
1. copy pda.nb0 to extracted i8000kitchen folder.
2. start romtool.exe and open file pda.nb0
3. tick extract header.., extract imgfs.bin, dump to package, extract xip.nb, dump xip.bin
4. press dump button
5. finish

Pre-Build rom
1. in xiptools folder start xipport.exe
2. click dump xip.bin
3. click write maps
4. close xipport

Build rom
1. in build Options, i tick box-1,2,5,6.
2. Press build button.
3. Buildos will start and press play button.
4. after finish, i close buildos and extreloc will start.
5. Go to work page, press "import xipport" and xipport start
6. Press "ReallocV" in extreloc
7. Go to xipport and press "realoc P". Press "write map" in xipport
8. Go to extreloc and double click on "physlast" number, press "realloc nk.exe gsiir" ... button
9. Go to xipport and press "realloc P" again
10. In extreloc drag the vertical white line to the left and press "realloc imgfs"
11. Press "Save .VM and .ROM". Close extreloc
12. close xipport and extreloc.
13. rom available in finished rom
14. i flash the phone.

Problem
1. in built rom process i got 'Error Opening imgfs-new.bin'. i found out the file is in temp folder.
2. the phone cant connect to activesync.

Information
1. i did nothing changes on sys, rom, oem.

hope this information will help you build better utility for i8000 community. i appreciate for all your helped wes58.


To start with. When you dump rom from the phone using Sorg's application you don't have to use rod's utility. You simply rename the rom_dump.bin to pda.nb and use my application.


Dump Rom: If you use pda.nb you may untick "extract header from nb0" or you can leave it as it is and you will just get a warning message.

Prebuild Rom: Unless you are porting a new OS you don't have to change anything in xip, so you don't really have to dump xip.bin with xipport. Especially, that when you build Rom you didn't select option to "build and insert xip".

Build Rom: Steps from 5 to 9 where not necessary because you didn't select option to "build and insert xip". If you got an error "Error Opening imgfs-new.bin" you shouldn't get a new rom built. I am not sure what you were doing.

Just do a simple test: 

Just do a simple test.
-Run romTool.exe
-Leave all options as they are
-Open your pda.nb (renamed rom_dump.bin after you dumped from the phone)
-Press 'Dump'
-You should have rom dumped without error messages.

Build Rom
-Change tab to Build Rom.
-Don't change any options.
-Press 'Build'
-Press play on BuildOs and close when it finishes (without errors!)
-Close ExtReloc (without making any changes)
=You shouldn't gat any messages
-You should get a new rom in 'Finished Rom' folder

I just tried it while I was writing it and didn't get any errors.

Then I tried using ExtReloc with the steps that you have written 9 to 11 (I didn't open xipport because there was no need to use it), and the Rom was built again without errors.

  • 0
If you find this Application useful, you can buy me a glass of wine




Posted Image


Samsung Omnia II GT-I8000

#17
wes58

wes58

    Diehard

  • Members
  • PipPipPipPip
  • 442 posts
  • Devices:I900

Remarkably, unpacking was successful!
Given your recommendations message ceased to appear,
but the pack did not have:

> Please Wait ...
> BuildOS exited.
> ExtReloc exited.
> Not Found
> Error Opening imgfs-new.bin
> Done CheckForErrors

imgfs-new.bin nowhere does not appear

Changes in any package or in the other options do not move that

'll Show what I'm doing is not so, in what may be my mistake?


Try to do the test that I described in the post above and see if you get any errors.

  • 0
If you find this Application useful, you can buy me a glass of wine




Posted Image


Samsung Omnia II GT-I8000

#18
sx1000

sx1000

    Newbie

  • Members
  • Pip
  • 6 posts
wes58 The report repeats and no file, do not start packing :)

  • 0

#19
wes58

wes58

    Diehard

  • Members
  • PipPipPipPip
  • 442 posts
  • Devices:I900

wes58 The report repeats and no file, do not start packing :)

Do this:


Go to command prompt (click on windows button and 'Run'. Type "cmd" without "" of course). Hopefully you knew how to do it but just in case.

Then change to directory where your kitchen is (type "cd.." without ""  and press Enter, then type "cd c:\i8000kitchen" or whatever location you have and press enter. This is default location.

Then type "dir > log.txt". This will create  file log.txt with the list of all files in this directory. Post this file here and I will have a look at it.

  • 0
If you find this Application useful, you can buy me a glass of wine




Posted Image


Samsung Omnia II GT-I8000

#20
kaplex

kaplex

    Newbie

  • Members
  • Pip
  • 40 posts

To start with. When you dump rom from the phone using Sorg's application you don't have to use rod's utility. You simply rename the rom_dump.bin to pda.nb and use my application.


Dump Rom: If you use pda.nb you may untick "extract header from nb0" or you can leave it as it is and you will just get a warning message.

Prebuild Rom: Unless you are porting a new OS you don't have to change anything in xip, so you don't really have to dump xip.bin with xipport. Especially, that when you build Rom you didn't select option to "build and insert xip".

Build Rom: Steps from 5 to 9 where not necessary because you didn't select option to "build and insert xip". If you got an error "Error Opening imgfs-new.bin" you shouldn't get a new rom built. I am not sure what you were doing.

Just do a simple test:

Just do a simple test.
-Run romTool.exe
-Leave all options as they are
-Open your pda.nb (renamed rom_dump.bin after you dumped from the phone)
-Press 'Dump'
-You should have rom dumped without error messages.

Build Rom
-Change tab to Build Rom.
-Don't change any options.
-Press 'Build'
-Press play on BuildOs and close when it finishes (without errors!)
-Close ExtReloc (without making any changes)
=You shouldn't gat any messages
-You should get a new rom in 'Finished Rom' folder

I just tried it while I was writing it and didn't get any errors.

Then I tried using ExtReloc with the steps that you have written 9 to 11 (I didn't open xipport because there was no need to use it), and the Rom was built again without errors.


Thanks wes, i will try it.
one more thing, if i want change folder NetCF in sys folder to new 3.5 from new build only, is there need to cook follow my procedure above?

  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users