help with 6700 ROM dumping - Windows Mobile Development and Hacking General

Hi,
I am new to this site and have been reading various posts and sites trying to piece this together, but I definitely have areas in which I am confused.
Please correct anything I have wrong.
I have a xv6700 and been attempting to extract the ROMs out of curiosity.
If I am correct these (HTC) phones have 3 separate ROM sections.
ROM - main OS
Extended ROM - Provider add ons
Radio ROM - Deals with radio hardware specific to the device
I used mamaich's TestDump.exe to dump what I assume is my main ROM. This file was 60 meg.
I then used dumprom -5 to extract files from this image file. I read some where that the imports table may be shifted by a DWORD but for example coredll.dll looks fine.
The resulting files don't look to be the whole OS.
For example: Some programs I downloaded have imports from cellcore.dll which is missing from my dump.
Are this the appropriate path for extracting the ROM?
I have seen mention of unlocking the Extended ROM and have looked at a download of said Extended ROM. It does appear to contain cabs related to provider software.
What is in the Radio ROM and how does one extract it?
There are also some terms I can't seem to find definitions for, mostly file types.
I have downloaded other ROMs in order to study them and have seen these types.
.nbk
.nba
PRL
PRI
I really want to understand the OS before I consider modifying it. Has anyone been successful modifying the ROM for this phone?
Thank you for any help provided and will gladly take links to the information. I am not looking to be spoon fed information but rather I am a fellow traveler asking for directions.

dumprom can dump files only from XIP section
You should use my viewimgfs tool to dump files from IMGFS section or rdmsflsh.pl script by itsme. itsme's script reconstructs DLLs to a normal form that are ready for decompilation.

Related

Building Rom using MKROM

Can anybody please help me to build a rom? specially to the XDA-developers, thanks in a million...in advance.
My question is:
1. Do i need a base rom(no program included) on the cfg/(rom.nb1)? is it necessary ?
2. what is the maximum files i can put in the files/ directory? that will be splited by mkrom, i know it is depending on the version since 3.17 the maximum for all files is 5 M. how about other version. 4.01,4.05, 4.10 and 4.16
3. when i run the bash setup.sh nk.nb1(4.05), using parameter for 4.05 i get a message "!!! your rom is not known to me: md5:fb9e70c5786f08e4db6db7c184c59704" is this normal or it is not define on the splitrom.pl ?
4. what kind of editor did you use for building a BMP file with 16 bit, I tried to use adobe photoshop 6.0, but i can not seem to save it as 151 k, the option is only 24 bit and 8 bit, if you can give me a site where i can download it , i will really apreciate it.
Thanks for the Help..
More power to the XDA team
and
Welcome TMO 4.16!!! (which i think no diff with 4.10)
1. yes you do need some kind of rom to start with
2. you can check using
Code:
perl splitrom.pl yourrom.nb1 -ob <your bmp offset> | perl calcgaps.pl 0x3ffff
and add the sizes of the holes.
you have to figure out where the bootsplash is for your rom. ( for new roms this is most likely 0x81ec0000 )
3) there is a list of 27 roms I know about in splitrom, if I never saw your rom, the signature will also not be there.
btw, what rom do you have?
4) I think we used photoshop for that. ( Peter Poelman knows more about that )
thanks for the reply XDA developer Itsme,
but how can i build a baserom with the rom i have, I have a ROM 4.05 which i created in jeff's kitchen? or any site where i can download the base rom 4.05?
I have a ROM 4.05, 4.10 which i get from jeff's kitchen and also the original 4.10 TMO. regarding the signature of the ROM, i read your splitrom.pl and i found out you 27 list of roms, but i didn't find that signature "md5:fb9e70c5786f08e4db6db7c184c59704" is it because my ROM is not base ROM?
my param is ;
wincever=4
start1=21740000
size1=0040000
start2=003c0000
startbmp=81ec0000
startop=81b00000
I'll still try to use the photoshop, maybe i miss something there.
Please correct me if i done something wrong with my commands.
I have Perl 5.8 and cygwin, installed in windows 2003
then make the path for perl/bin and cygwin/bin
then i copy all the things i need to build a rom in one directory including nk.nbf(with jeff's 4.05) and mkrom tools(which i got from the demokitchen)
i run "perl setup.sh nk.nbf" to extract the bootimage.bmp and rom.nb1 to cfg/ directory
then i dump "dumprom -4 -d files -q nk.nbf" to extract all files in files directory
then i convert "perl fdf2reg.pl files/default.fdf cfg/default.reg"
"tr -d "\0" <files/initobj.dat >cfg/initobj.txt"
"cp files/initdb.ini cfg/initdb.ini"
then in files/ directory i delete all the windows files i leave only the program with the dll i wanted to add in the rom like total commander, file commander.. etc...
(I compare it with the original files of WM2003)
then i run "bash mkrom.sh out/out.nbf"
but i got an OVERLAP message on the screen
and also the same message like i told you before "Your rom is not know to me"
Please Help me with this because i want to build my own rom according to the program i need.. and many thanks.
split rom does not recognize romkitchen roms, since they vary too much.
you should use an original rom, not one from the romkitchen.
the overlap means that somehow the params file was not correct.
or maybe you just tried to add too much files.
XDA developer Itsme said:
split rom does not recognize romkitchen roms, since they vary too much.
you should use an original rom, not one from the romkitchen.
the overlap means that somehow the params file was not correct.
or maybe you just tried to add too much files.
Click to expand...
Click to collapse
Thanks Itsme, thats why splti rrom can not recognize the ROM I have, I'll try to search for the base ROM in the forum, or can you give me a site where i can download the baseROM, I think that's why I am having a OVERLAP because there is a added program on my ROM, XDA-Developers File1 and File2 is duplicated.
It answer my question regarding the ROM i have, thanks a lot man you really a good help.
Now my only problem is to find all the base rom so i can start cooking some ROM.

Remove files from ROM

How can I remove from the original ROM some files like T-Mobile, AIM ... etc. ?
I cooked up a 4.00.10 T-Mobile with GPRS monitor and batterypack but i want some more addons.
Can someone tell me what steps are required to remove from the ROM some files ?
Thanks,
Decebal
ROM = Read Only Memory.
But, i've we're able to add Programs to the ROM in the ROMkitchen, i think we're also able to remove programs.
Regards
Stefan
cruisin-thru said:
ROM = Read Only Memory.
Click to expand...
Click to collapse
obviously i do not deserve that
i was talking about the ROM image and since i've already succeded in putting into the ROM two apps i want to try something else.
so if anyone know how to remove at least T-mobile and AIM files from the image i'll be happy.
thanks,
Decebal
I believe they are in an area not able to be modified.
I was just quoting from that site, it does state that it cannot be erased, modified etc, no offence meant here. :roll:
The mkrom tools will allow you to 'unpack' a rom, i.e. extract all the files that are in it.
A rom, to the best of my understanding, has a 'native' or stock part to it, and then a series of XIP chains -- programs that are added into the free spaces of the rom.
I dont know what happens if you try to remove files from a rom that are part of the standard build...
Maybe the TMobile stuff is in a 'removeable' section of the ROM... there is also the 'operator' section... I am assuming that is a location that will give the 'operator' or creator of the rom space to put specialized programs, such as TMobiles phone apps, etc.
So, it seems that your best bet is to get the mkrom tools and read about how to extract/remove files/rebuild a rom.
Hey, it may even work!
J
You can rebuild a rom image from extracted files and leave some files out but Mkrom does not use compression and therefore the rom you end up with will probably be bigger than the rom you started with.
Richard
If I am correct, an eeprom is something else than a flash-rom.
so the article at least states it incorrectly.
if it is flash, you should be able to modify it.
XDA developer Itsme said:
If I am correct, an eeprom is something else than a flash-rom.
so the article at least states it incorrectly.
if it is flash, you should be able to modify it.
Click to expand...
Click to collapse
Now, I do think that the real question is "How do we unlock the 'ROM' so that it can be modified being that it is an eeprom?"
Misterdollymaker
you need backup the ROM to *.nb1 or *.nbf file, than using tools to add/delete file to *.nb1 , write the new file back to XDA ROM. it is fun to add/delete file to your personized ROM!
cgigate said:
you need backup the ROM to *.nb1 or *.nbf file, than using tools to add/delete file to *.nb1 , write the new file back to XDA ROM. it is fun to add/delete file to your personized ROM!
Click to expand...
Click to collapse
this is quite interesting...can you elaborate further?? I wish to learn more...
cgigate said:
you need backup the ROM to *.nb1 or *.nbf file, than using tools to add/delete file to *.nb1 , write the new file back to XDA ROM. it is fun to add/delete file to your personized ROM!
Click to expand...
Click to collapse
Yes, please! I wish to learn more too! I am looking to remove the standard sounds and replace them with my own (using same names) as well as the boot image and desktop.
yea, no kiddin, i'd like to know how too!
im sure its not impossible, 'they' did it the first time arround.
why not hacking it? and since its all at no charge (no profit) are we realy breaking any patents?
I wanted to know if there is an easy :wink: way around, to put our own programs in the rom. xda-developers certainly can't put ezwap2.5, and the total commander appears to be older version, while new version is much better. There are some more freeware application I'd love to put in there
xda-developers already posted some tools to do job, such as MKROM ...
cgigate said:
you need backup the ROM to *.nb1 or *.nbf file, than using tools to add/delete file to *.nb1 , write the new file back to XDA ROM. it is fun to add/delete file to your personized ROM!
Click to expand...
Click to collapse
I'm interested too
How can i add/delete file from nb1 file?
Thanks
Fabio
I've used mkrom suite to do this (even for Smartphone2002). This are great tools.
Unfortunately it's not as easy as you might think. It's nearly impossible to build a ZERO-KNOWLEDGE ROM file explorer which can add or delete files "on the fly".
You will still have to look for valid gap's in the original rom where you can add a new XIP block.
All .exe and .dll files are "fixed up" that means they MUST run at THE fixed ROM position where they have been initially placed (execute in place). If you dump an exe or dll file you can't use it for other than disassembly to see how things work.
Removing files is a very hard task (they are splitted over the whole rom). And the resulting gap's are mostly not more than 10-16 kB. All you can do is to "hide" files (simply patch the directory entry).
So you see compression is not the real problem (see programers corner for a .bib file which can be used with romimage.exe - a Microsoft Tool to build XIP blocks, this tool supports compression)
John Smith
only the kernel actually runs in the virtual memory area mapped to rom,
all the other XIP stuff runs from a virtual memory area mapped somewhere
in the top of each processes memory space.
( look at the 'real=' values in the output of dumprom )
so for all the other modules it should be possible to move them around
in rom a bit, I think you only need to keep the pagealignment the same.
Hi,
The virtual memory address is also fixed in the module. (That's why I've to rebuild all the stuff I want to copy from other roms).
Since all relocation info is gone the module can't run from another memory position. So the only thing you can do is to move it in it's own XIP section...
John

Scoter Kitchen Release

The Scoter Kitchen team is proud to release the first release of the kitchen. This kitchen incorporates all the tools used by Oki and the rest of the team to decode, modify, and rebuild ROMs. It includes a help system that is meant to be clear to new users, and useful to old pros. Of course, this is only the first release, and thus will have bugs, and areas in need of improvement. This Kitchen is based on Bepe's WM5 Kitchen, and many of his tools. Special thanks to Mamiach, itsme, machinagod, gmap, buzzlightyear, and many others. Oki started the initiative, and we in the team are grateful for allowing us the privilege of contributing. There are also many additional tools not directly used for general ROM analyzing that can be found throughout. The kitchen is designed to be sleek and clear for the new user, while still containing all relevant tools for every part of the build process. This post is one of many across multiple forums. We are opening up development to all, and ask for volunteer translators. We will coordinate through forums primarily, but later plan on PM's, e-mail, etc. to effectively coordinate further development of the Scoter Kitchen. In addition, the kitchen is designed to extract most HTC ROMs, but it has it's limitations in the tools included, and the outlined process which are in the help files. Again, this will become better implemented through the help of the community. Now though this Kitchen is designed primarily for the Scoter, we intend to make this kitchen the primary hub for all PDA customization across all WM5 platforms. This post will be posted on many forums, and since the team members communicate primarily w/ English, we ask that those respond to this thread in English, or at least include an English translation. As a last note, you are solely responsible for any damage to your device or computer that might result from the use of the Scoter Kitchen, or any of it's parts. The following posts are left blank and will be filled w/ info later. Here are the download links:
http://www.MegaShare.com/107480
http://rapidshare.com/files/15460590/Scoter_Kitchen_1.0.exe.html
Regards,
Jason
Kitchen Team Members
Oki
JKR
DwD
Theo - Greek translation
Nadavi
gerttom
Preaper
Friends of the kitchen
Bepe (done as much as any other member and is considered an incredible contributor, and even that doesn't give him enough credit)
Kinger
blueboy
Marshal
cyril - French translation
bakker_be - Dutch and German translation
kterz
Regards,
Jason
Reserved,
Regards,
Jason
Bakup Files Of 0 Bytes
i had done a backup with ur utilites but the size of BDK0,BDK1 & BDTL0 is 0 byte why it is so ?????????? I stop here and wating for reply
to bad these dont work for the hermes .nb and .nbh files.. hopefully in the future it can be integrated..
shogunmark said:
to bad these dont work for the hermes .nb and .nbh files.. hopefully in the future it can be integrated..
Click to expand...
Click to collapse
Yep, we plan to add the nbhextract to the tools. And as far as the backup utility, that only works for the Scoter. We don't own htc devices, so that why we've asked the community to fill in the gaps. The extraction is universal, since there will be back and forth on various ROMs. The ROM installer also only works for the scoter. So, some info on these and anything else that the HTC community would like added, just tell us how. We can't really test these things, so we rely on you guys. At some point, the installer will ask what device you have, and install apps that apply to your individual devices.
Regards,
Jason
thats cool.. integrating the the hermes stuff will be difficult at this time anyway since we dont have a good set process on everything, we are still fighting the possibility of bad nand blocks with some cooked roms.. Something that i think would be really cool would be a full blown GUI with all these features built in..
here's some release notes I posted over at Buzz's site
JKR said:
4d45h said:
Questions.....
1. What is OS.bat. It says missing OS.bat when I click Cooker and start the build OS.
2. Where do you put pakages inside LOC(Bepe ways of cooking)
3. What is CEImage.bin? Is it the same as nk.nba base ROM Bepe ways.
Thanks and what a great tool.
Click to expand...
Click to collapse
1. That is a file created when you decode a ROM. I'm not sure what exactly it is for, bepe could answer that.
2. You can't use the current Kitchen ROM archives. The Scoter Kitchen incororates some more advanced versions of bepe's apps. The best way to describe the current situation is that bepe's WM5 Kitchen is version 1.0, and the Scoter Kitchen is 2.0. Since bepe was a big part of the Scoter Kitchen development, this should make sense. Keep in mind that this is not ready to be a replacement to bepe's kitchen yet, because it is only setup for building ROMs for the Scoter. We released it to all for many reason: 1) To speed up the development of the Kitchen for use w/ other devices, 2) it currently seems to be the most complete set of tools and help files for decoding ROMs, 3) the help files have a lot of info that may be interesting to many users. Most notable tools from bepe that are in the Scoter Kitchen are: DMP2PKG.exe, and PKG2DMP.exe. These tools actually have their own UI's that are fairly impressive. So to answer you question, you'd need to decode your current ROM and then begin modify that. Oki is the ROM hacker on the team. Essentially what he does, is extract the drivers (in the OEM folder) from various ROMs for our device, picks the best ones, adds in the SYS files and then puts in the packages for various apps. Anyways, bepe combined the LOC and SYS folders together into the SYS folder. for aesthetic reasons, the SYS folder is referred to as the OS folder in the build room. This is only a short cut name, and actual folder is still called SYS and is located in the Utilities folder.
3. Yes, this is in the help files in file:///C:/Scoter%20Kitchen/Utilities/Tools/Excess%20stuff/J-Guide/Extraction%20Room.htm?zoom_highlight=.bin .nb, .bin, and .nba are handled in the same way. just copy the location i posted into your browser address box.
Regards,
Jason
Click to expand...
Click to collapse
JKR said:
A few release notes. The install directory is C:\Scoter Kitchen. You will also see an uninstall script in c:\. This obviously uninstalls the Kitchen, everything is removed (including any work files in the kitchen) except the desktop shortcut. Also, since the imgfs tools are used so much by ROM cookers including myself, the Kitchen will place a copy of the imgfs tools in the %SystemRoot%\system32\ directory. This allows these tools to be opened by any command box w/o having to change directories. As you explore the kitchen you will see readme files in almost all folders, describing what is in that particular folder. Lastly, you will see like 15 command box shortcuts throughout the kitchen, this just makes things easier since their working DIR is the one they are placed in.
Regards,
Jason
Click to expand...
Click to collapse
Nobody here seems to be too forthcoming w/ info about other devices. Now I could go and search for all this info on my own, but then I probably wouldn't have the time or energy to modify the kitchen accordingly. W/ that said, I'll list some specific questions.
1. What programs are required for installing ROMs on various devices, and what are the procedures?
2. Are other devices capable of changing just the CE image through the boot loader, or does this have to be done using itsme tools? And what is the procedure?
3. Is the page pool setting in the same address on all HTC ROMs, or does this vary from model to model?
4. Explain the whole IPL and radio rom issue.
5. What would you like added to this kitchen?
You could just point me to specific posts too. Like I said, the Kitchen is completely functional for us Scoter guy's, so we won't spend the hours and hours required to research this stuff, since we won't get any benefit. But if some direction is given, we are willing, and wanting to expand our kitchen for use w/ other devices.
Regards,
Jason
I thought that it is just for Mio, and a little more documentation to it will be nice, thanks
xplode said:
I thought that it is just for Mio, and a little more documentation to it will be nice, thanks
Click to expand...
Click to collapse
Well it is fully functional for the Mio, but most all tools are here on this site. The two things specific to the Mio are the ROM backup utility, and the ROM update utility. Everything else applies to the HTC community. We are hoping that somebody will point us in the right direction for the equivalents of the two previously mentioned tools. Now as far as the documentation, yes, we plan to expand it. However, what specifically do you feel should be added?
Regards,
Jason
First of all, this's a very FANTASTIC tool!
In the BEPE's ROM Kitchen, there's an initflashfiles.txt file in the folder of each OEM apps which is used to create shotcut or copy/move files, its content will be combined with others into the initflashfiles.dat. Does this file still make sense in your kitchen?
BrightMoonHeart said:
First of all, this's a very FANTASTIC tool!
In the BEPE's ROM Kitchen, there's an initflashfiles.txt file in the folder of each OEM apps which is used to create shotcut or copy/move files, its content will be combined with others into the initflashfiles.dat. Does this file still make sense in your kitchen?
Click to expand...
Click to collapse
yep
Regards,
Jason
@JKR
I have reach up to using the DMP2PKG.exe stage, which can see the files in the *.dsm (see attached pic).
How to extract the files in the *.dsm?
How do I use RECMOD.exe?
CWKJ said:
@JKR
I have reach up to using the DMP2PKG.exe stage, which can see the files in the *.dsm (see attached pic).
How to extract the files in the *.dsm?
How do I use RECMOD.exe?
Click to expand...
Click to collapse
Hi,
You probably read the help files, huh? Yeah, those are dated, my bad. You don't actually have to touch DMP2PKG. The extract modules/files has dmp2pkg already scripted. At the time I wrote the help file, bepe didn't allow for command line commands. He has since, and I have scripted for it since. The following is an excerpt that I post over at Buzz's site.
JKR said:
Ahhh, I see problem. the .dat file needs to be in one of the folders, the OEM one i think. When Oki (rom team member) creates a file set, he includes the .dat file in the same folder that mxip_lang.vol is in, on our device it's 6acba9af-b4de-c7a3-802b-91ff1f140caf, but is probably different on yours. Anyways, I'm not sure where you got the idea to drag those to the tools folder, if it's in the help file, please tell me where. I've just re-looked at the help files, and they are quite dated. I've added a lot of automation to the process. Sorry for that. The correct procedure to extract a rom and rebuild it is to extract a .bin, .nba, .nb, or .nb0 file from your rom image. Then drag it to the extract modules. Open in another window the build room. put the .dat file (if it was placed in the modules folder) in the OEM folder. Drag all the contents of the OEM folder to the OEM shortcut in the build room. Drag all the contents of the SYS folder to the OS shortcut. Place the .bin or equivalent file in the rom template folder, and place the boot.rgu file in the \rom template\xip folder. The boot.rgu may be different for different devices, so use one that works on your device. I don't remember where exactly we got ours from, but I think it may have been from bepe's file set for his kitchen. Now launch the cooker. In the end, you should have a .bin file in c:\Scoter kitchen, aka one level up from the build room. hmmm, looks complicated. This is in the help files, but like I said, I need to update them, we were anxious to release the kitchen, since it had been under development for so long.
Regards,
Jason
Click to expand...
Click to collapse
As one more note, you probably wouldn't have to worry about the missing entries in the dmp2pkg interface. Probably just dated references from your ROM, it's a custom ROM?
Regards,
Jason
The rom is custom rom by Helmi, AKU3.5 v1.3, see my signature.
I will take sometime to digest you writings.
Still have not able to extract the *.dll, *.exe, *.hv, etc.
Will try adding & delete files later.
@JLR
I am back, manage to get some time to try the extract problem I faced.
Thanks, the extract works.
See the attached zip file of extracted files' directory list.
I have some questions,
1. what "<DIR> SYS" does, seems to have some *.dsm and some repeated DLLs.
2. If I do not need some *.exe, *.lnk, *.etc files, I just delete them?
3. How do I know that I fully deleted the files related to the feature that I do not want?
4. How do I know which corresponding *.dsm to be deleted?
5. How do I know which files goes to which directory in the \Windows\ of PPC?
6. How do I add files, how do I know what *.dsm to add and the name of the directories with very long string.
Questions please...
What is the importance of extracting files compared to extracting modules?
I have a base nbf file that I converted to nba file, that I want to modify to add the apps to build the ROM, I am confused as to which one I need, is it the files or the modules?
Great work! Thx for very useful tools!
What about map.txt support that helps to replace the GUIDs with the actual Package Names? I seen it in Bepe's kitchen...
JKR said:
Reserved,
Regards,
Jason
Click to expand...
Click to collapse
I need help. I was able to run the cooker file without any errors. Now what?
How can I recreate the .nbf file? Where can I find it? Should I be looking at the DUMP folder?

Samsung i718 (i710, i718+) ROM Kitchen

Hello!
Thanks to ppl from this forum I've managed to assemble from various sources files required to dump, build and flash back to device WM6 English ROM. It is not a "plug & play" style kitchen yet, so I call it "ROM Kitchen essentials"
Most of files are made by other people. Mine part was converter and flasher hacking. As for now, you have to edit dumped ROM absolutely manually. There are no support for initflashes.dat automatisation. You may want to use rgucomp to make changes to default.hv and user.hv.
Thanks goes to (not in any order )
trinca
mamaich
bepe
itsme
faria
double_ofour
yhauwang
and many others...
Actual version is 0.1 and RAR archive is about 50Mb.
All required files (including WM6 Eng ROM distribution and flasher) can be downloaded from:
h**p://www.r*pidshare.com/files/47189318/Juggler_Samsung_WM6_Eng_ROM_Kitchen_0.1.rar.html
You also may want to download original WM6 English ROM from here:
h**p://r*pidshare.com/files/45439904/Juggler_WM6_i718ZMGF4_PDA_Eng.rar.html
And radio firmware (required for some i71x to work with WM6):
h**p://r*pidshare.com/files/45950071/Juggler_WM6_i718ZMGF4_Phone_Eng.rar.html
In case somebody don't know how to flash Samsungs i71x:
Make backup!
Have your your firmware at hand so in case of troubles you can flash your original firmware back!
Turn off device.
Disable all ActiveSync connectivity (usb, comm, etc).
Run flasher and click start.
Hold "down" button on device and turn it on while holding "down".
Flasher recongnize it and start to flash.
After flashing make a hard reset.
If GPRS/EDGE do not work your radio firmware is not compatible with new WM6. You have to go back to your original firmware or flash new radio!
To flash new radio firmware you should have SPECIAL FLASHING CABLE for samsung phones! It is not the one that comes with device!
Now you have options to buy such cable, build one yourself, flash your original fimware back or continue using WM6 without GPRS/EDGE - it is your choice.
So - to flash WM6 you need usual usb cable. New WM6 probably work with your radio. If not - you should flash radio!
Special flashing cable is the cable with USB-Serial adapter or plain serial cable:
h**p://www.fonefunshop.co.uk/datacables/samsung.htm
Search for UNLOCK / FLASH CABLES and you'll see
"Samsung D800 - T809 - E900 - D900 USB Cable
This cable is needed to unlock / flash the Samsung D800 - T809 - E900 - D900 etc."
Notice the difference with the usual USB cable supplied with device!
Have you read my thread on the Samsung i60x?
Hello, there,
Please refer to this thread:
http://forum.xda-developers.com/showthread.php?t=316647
It seems very familiar to the i600. I will download your image just for the sake of taking a look... The ROM with header B000FF is prepared with the Romimage tool from the MS WCE IDE and is named the Run-time image, the nb0 ROM (that works with the WM5 kitchen) is prepared by Romimage by splitting the nb0 ROM in 128 KB records, a header is added containing start address, record length and Checksum 32. Then all this chunks are added together and compressed with another tool named compbin, the "encryption" you are seeing is no other than the aftermath of this compbin tool.
If you read myu thread you will find I was able to extract the flat image using cvrtbin (also another MS tool that comes with visual studio) you may grab a copy from here:
http://www.toradex.com/colibri_downloads/Linux/linux_to_wince/?D=D
Then you will be able to use the common tools from xda-developers such as prepare_imgfs (with the switch -acer) and so on.
Making the ROM back to the B000FF format is going to be the trouble. Again, read the thread.
There is also an excellent article on Mobilepro BIN roms made by cmonex, you can get a copy of that tutorial inside his Romtool packege, get it from here:
http://hpcmonex.net/nec900/files/releases/romtoolpack.zip
Be informed the Mobilepro ROM is very different in the way the Runtime file is organized, however is the best resource I have seen so far.
Besides, there are some really good tools inside that package
Best regards and start cooking!
trinca
Thanks trinca, at least I have something to read to start with. But the first thing a can't figure out how correctly RIP rom image from EXE file and then after modifing it PUT it back to flasher. There s.b. some proprietary tools for samsung phones or pdas.
Extracting the i718 ROM image: a suggestion
JugglerLKR said:
Thanks trinca, at least I have something to read ...
Click to expand...
Click to collapse
My friend, we are all navigating uncharted waters..., this requires some research, and the courage to flash the phone with the outcome of your research.
Please read my post:
http://forum.xda-developers.com/showthread.php?p=1371344#post1371344
It will give you a hint on how I found out how to extract the O/S payloads for the i60x, pretty sure it may work for your model as well. A quick look to your executable shows the arrangement may be similar, I would say for the i718, the O/S ROM is located last as it is on the i60x, starting at address 0x01620000 now, just by looking for the end indicator (following the string B000F, 0x0A, 0x00000000 which is the ROM start address, 0x00CA5F03 which should be the offset -little endian-, actually would be 035FCA00), however be noticed the runtime image is compressed using compbin during preparation, therefore I would guess is a little more beyond. You may have to do some research here.
Start by cutting the area surrounding such an offset and use viewbin to determine the offset length and cvrtbin to find if your cut was successful.
BTW it would be nice to find a tool to just decompress B000FF Runtime ROMS. (differently of what it does cvrtbin converting and decompressing Runtime images)
One other thing you may do is to use xdautils, you may find those here:
http://wiki.xda-developers.com/index.php?pagename=XdaUtils.
This collection of utilities has pdocread allowing you to extract the contents of raw partitions in the pda. Make sure to use the handle to extract each raw partition.
Regards,
Trinca
I had no success with cvrtbin. How to decompress image after compbin? I've found pdocread and put it to phone, but it won't work :-( Are there any tools to dump ROM to flash card or something like that?
JugglerLKR said:
I had no success with cvrtbin. How to decompress image after compbin? I've found pdocread and put it to phone, but it won't work :-( Are there any tools to dump ROM to flash card or something like that?
Click to expand...
Click to collapse
To decompress the image:
Get a tool named viewbin, also part of the MS PE, run it on your file and will tell you the start address and the offset of the img files. THen use this information with cvrtbin. If viewbin reports the start address is 0, then use 1 in cvrtbin, otherwise the extraction will fail.
To use PDOCREAD, you run it from your computer, it will install itsutils.dll in your phone and you must accept this in the smartphone. Your phone must be unlocked to do that and the policies set to allow unsigned applications to be installed in your phone. TO accomplish the above you need to modify the registry on the phone. See how it is done here:
http://www.modaco.com/index.php?showtopic=244205
TO dump the ROM with PDOCREAD, see a detailed procedure here:
http://wiki.xda-developers.com/index.php?pagename=Hermes_HowtoDumpRom
Be informed some phones like the i607 require the disk kernel handle, reported with pdocread -l, if you follow the procedure in the above link with no results, then add the disk handle.
Wish you good luck....
CAn Anybody help PLEASE????
I have a i718 but was bought in China and the OS is in Chinese. The blur me can only read English. Is the ROM in English? If I were to download it (still struggling now with the russian words), how can I change it? All I need is the phone to be in English. I do not need to improve anything as WM5 is good enough. I know I am a newbie and I might not be in the right thread. Can anybody please help? Any links to show "how-to-change the ROM" would be most appreciated. Thank you in advance
Your phone is also known as i710
Your phone Samsung i718 is the chinese version of the Samsung i710, all you have to do is to install the phone serial/modem drivers from the companion CD and place the phone in bootloader mode. If you get the ROM package cited above in the first post of this thread by JugglerLKR you will find complete instructions on how to download the ROM into your phone.
Good Luck!
Thank you
Thank you very much for the quick response sir! Really appreciate it. I finally managed to download the ROM and will give it a go this weekend. Wish me luck. I will be reading more to make sure I am doing the right thing as I am definitely a nOObie. First time flashing a phone .
I looked at the CD that came with my phone and the only thing I see is the ActiveSync 4.2. Worse of all, everthing seems to be in Chinese. Guess I have to do more research to see where I can get the drivers you mentioned. There are also alot of things I do not understand like bootloader, how to do a hard reset, etc. I will continue searching and reading and will post the development of my virgin "flash" as I move along.
Thank you once again.
Trinca - so I dumped my ROM from device to .raw files. What can I do with them now? viewbin shows only zeros on b000f .bin image extracted using winhex from .exe
Use Mamaich's ROM Kitchen
You can find instructions to do some cooking and tools here:
http://forum.xda-developers.com/showthread.php?t=249836
This is self-explanatory, tell me if this is enough or you need some extra info. Once finished, the trouble would be to put that back in B000FF format for flashing, as there is no tool to do that yet, and you can't just download a raw image back into the phone. The Runtime image is formed as follows:
Byte---->--1--2--3--4---5--6--7--8---9--10--11--12--<----------- 128KB------------>
Record 0> 42-30-30-30-46-46-06 <Start add> <lenght of ROM> -----------------(42-30-30-30-46-46 = B000FF in ASCII ; 06 = end of header B000FF)
Record 1>--<Address> < length > < CHKSUM32 > <----Chunk of Raw image-->
Record 2>--<Address> < length > < CHKSUM32 > <----Chunk of Raw image-->
" "
" "
V V
Last Rec>-00-00-00-00--00-00-00-00--00-00-00-00
I am doing some crazy splitting and Hex scripts to achieve that, but it is a pain in the neck. So I have decided to make a proggie to help me out with that. Please see the thread
http://forum.xda-developers.com/showthread.php?t=316647
on the 2nd post you will see what I am talking about.
Regards,
trinca
Tried viewbin on my extracted from .exe bin file - Image Start = 0x00000000, length = 0x02C1D3E0
Start address = 0x00000000
Done.
Looks like something is missing. Also cvrtbin is not working also, as it cannot accept 0x00000 as start adress
JugglerLKR said:
Tried viewbin on my extracted from .exe bin file - Image Start = 0x00000000, length = 0x02C1D3E0
Start address = 0x00000000
Done.
Looks like something is missing. Also cvrtbin is not working also, as it cannot accept 0x00000 as start adress
Click to expand...
Click to collapse
Start address = 0001ffe0
So, How to convert dumped LZX packed rom to B000F format for flashing to device?
How to convert dumped LZX packed rom to B000F format
Please refer to my thread:
http://forum.xda-developers.com/showthread.php?p=1392761#post1392761
I am unable to download your file (can you post it on rapidshare ou megaupload?). I am in the same situation as well but I appiled the english patch from asukal and Buzzlightyear and it worked .. I now have a device in english ... I am waiting for the firmware in english.. I have wm6 roms in chinese that I have not tested it ...
I also have a i710 rom but it's also a .bin file dumped from a i710 device ...
Hope this helps,
-Hau
I have uploaded several files... Can you tell me which one you have trouble with?
trinca
Oops ... My message was intended for Juggler uploading his ROM ...
Thanks,
-Hau
Thanks to trinca and bepe, mamich and many others i've managed rom kitchen essentials - look at first page.
i downloaded your flasher but why when i run i718ZMGF4_PDA_Eng, i click detect but nothing detected....
phone is on and connected via active sync

Creating Kitchen from Dumped ROM

This started out as a pm between hilaireg and me. i'm reposting the conversation here in order to benefit the rest of Chef Central.
I have a NEON400 which has recently been SPLed...finally.
However, there are no ROMs out there for the device and one guy who tried failed miserably. Mostly due to the fact that he doesn't own a device and can't test it.
what I'm looking for is a tutorial or some way to turn the dumped OEM ROMs we have into usable clean ROMs or upgraded to 6.5. Obviously there is no way that you can help me without having a device but is there any generic tutorial out there so I can get started learning how to do this?
Thanks for your help if you can... I appreciate anything you can do for us lowly NEON400 users.
thanks!!!
FROM: hilaireg
I'm not sure as to how much help I can be; that said ...
1) NEON Specs
I had a look at the NEON specs on the WIKI to get an idea of what is possible with the device.
From the specs, the unit is 128MB of ROM which may necessitate RECMOD'ing of module in order to achieve a bootable ROM. SLOT0 is generally the issue with WinMO 6.1 as SLOT0 should remain free of modules for the final ROM compilation. Here's some supporting information on Virtual Memory that will better explain what I am referencing:
Virtual Memory as it applies to the Windows CE 5.2 Kernel
http://forum.xda-developers.com/showpost.php?p=4268137&postcount=2
2) ROM's
I haven't conducted a search to see if an update ROM has been released for the NEON (either through BELL or HTC); I'm going to describe two possible scenarios.
Scenario 1: No update ROM
The best approach here would be to determine how to dump the ROM from an existing device. Once a device is "dumped", the dumped content could serve as the starting point for building a custom ROM. Dumping a device ROM requires a few procedures ... I recommend a forum search with these keywords:
dump device rom
The threads that will appear will not be NEON specific, you'll have a bit of reading on your hands, but may provide some insights at what may be required.
Scenario 2: Update ROM available via BELL/HTC
If an update ROM has been made available for download, it should be possible to perform a dump via a kitchen such as Ervius Visual Kitchen (EVK). Here's a link to a tutorial I put together that walks aspiring chefs through the process of dumping an official updated HTC ROM using EVK for the Raphael - but is essentially the same for any device. Once a ROM is dumped using EVK, this would serve as your starting point for building a custom ROM.
[TUT] Sous-Chef's Guide to XIP Porting in Ervius Visual Kitchen 9.7
http://forum.xda-developers.com/showthread.php?t=526610
3) Custom ROM
Once you have a starting point ROM, you can use it to create a net new kitchen. A net new kitchen could be a matter of copy/pasting the dumped kitchen from #2 (above). Things to keep in mind:
ROM: OEMXIPKernel is device specific and usually doesn't change until a NEON update ROM is release by BELL/HTC
ROM: MSXIPKernel is MS specific, this usually gets updated when a new O/S release is issued (ex: 6.1.21054, 6.1.21056, 6.5.23541, 6.5.23549, etc.)
OEM: this is device specific package which often are device drivers, carrier (operator) configuration, device functions, etc. and usually doesn't change until a NEON update ROM is release by BELL/HTC
SYS: this is MS specific and usually gets updated when a new O/S release is issued (ex: 6.1.21054, 6.1.21056, 6.5.23541, 6.5.23549, etc.) the MSXIPKernel & SYS should always match.
I would suggest starting with 6.1 and once you have a working build, you could look to move to 6.5. What's is important to keep in mind is:
you may need to RECMOD modules
closely review the .RGU (.REG), INITFLASHFILES.*, and .PROVXML files for any carrier (operator) specific lock downs
you will need to Cert Patch the ROM, possibly reduce the ULDR, possibly adjust the PagingPool - all selectable features in the newest version of EVK
Lastly, don't hesitate to ask questions in Chef Central ... some senior chefs may have some pointers that could help.
Chef Central: Windows Mobile/Windows Phone
http://forum.xda-developers.com/forumdisplay.php?f=612
HTH
OMG, this is so much info. you are awesome.
Okay...to get some stuff out of the way:
1.) No update ROM was ever released from Telus or Bell (the phone was released by both)
2.) the OEM ROMs have already been dumped.
1. you may need to RECMOD modules
2. closely review the .RGU (.REG), INITFLASHFILES.*, and .PROVXML files for any carrier (operator) specific lock downs
3. you will need to Cert Patch the ROM, possibly reduce the ULDR, possibly adjust the PagingPool - all selectable features in the newest version of EVK
Click to expand...
Click to collapse
This went entirely over my head.
RECMODding? How do I do this? It looks like No2Chem released some sort of EXE for this.
What am I looking for in the carrier specific files?
I don't think I can use EVK because I don't have an upgrade ROM, or can I?
FROM: hilaireg
Okay...to get some stuff out of the way:
1.) No update ROM was ever released from Telus or Bell (the phone was released by both)
2.) the OEM ROMs have already been dumped.
Click to expand...
Click to collapse
Haven't downloaded the file; ideally the download should either be an *.NBH or *.NB file. If it is, you should be able to use it in EVK.
The question to ask yourself is, has someone gone through the trouble of ... dumping the entire ROM from the phone? Or, only dumping the OEM portion?
If it's fully extracted, is there a ROM, SYS, OEM, (PACKAGES\EXT) folder structure? If so, then you should be able to use it in EVK. If there is a PACKAGES folder, they likely used the PkgBuildOS (oldstyle) kitchen to dump the ROM; Ervius released a tool to convert an oldstyle PACKAGES folder to a newstyle EXT folder.
1. you may need to RECMOD module.
Click to expand...
Click to collapse
Recoded Modules usually appear like this:
<filenameasfolder.dll>
imageinfo.txt
imageinfo.bin
S0001
S0002
S0003
...​
Included in the TOOLS folder of the EVK is a RECMOD.EXE, when you drag the <filenameasfolder.dll> folder (and contents) onto the EXE, it creates the compiled .DLL - ex: filenameasfolder.dll.
2. closely review the .RGU (.REG), INITFLASHFILES.*, and .PROVXML files for any carrier (operator) specific lock downs.
This went entirely over my head.
RECMODding? How do I do this? It looks like No2Chem released some sort of EXE for this.
What am I looking for in the carrier specific files?
Click to expand...
Click to collapse
Since WinCE is really a mobile version of Windows - being simplistic here - there are some things that are similar.
Registry changes are typically kept in .RGU/.REG files.
INITFLASHFILES.* are usually used for file copy operations on the device.
CONFIG_*.txt are usually used to launch .CAB files, copy operations, etc.
.PROVXML are usually used to configure MS and Carrier (Operator) specific settings. They can also be used for copy operations, registry changes, etc.
3. you will need to Cert Patch the ROM, possibly reduce the ULDR, possibly adjust the PagingPool - all selectable features in the newest version of EVK
Click to expand...
Click to collapse
As you are cooking a custom ROM, you need to disable the security certificate checking or the custom ROM may not boot. The reason for this is that MS/Carrier (Operator) don't want people doing what we're doing ... it's similar to HardSPL, it tells the device that "it's ok to use this ROM".
I don't think I can use EVK because I don't have an upgrade ROM, or can I?
Click to expand...
Click to collapse
Shouldn't be an issue. As long as you can obtain the ROM (OEMXIPKernel & MSXIPKernel), OEM, and SYS, you should be able to build a working custom ROM.
Have a look at my kitchen thread:
http://forum.xda-developers.com/showthread.php?t=471288
Download the kitchen and have a look through it to get a sense of what the final product should look like. The change logs will give you a sense of what had to be removed/changed/added to produce a custom ROM.
And once again, don't hesitate to ask questions in Chef Central ... that's why it was created; to help aspiring chefs learn.
Cheers,
All right, I downloaded v1.8.1 of EVK and used it to load the dumped .NBH. This seemed to work flawlessly and I now have a folder called 'dump' that contains the following folders. (I manually entered the Device name NEON400 when EVK prompted for it):
EXT
MyTools
OEM
RELEASE_NEON400
ROM
SYS
Tools
I'm guessing I've successfully extracted the ROM image.
i would like, for ease and simplicity, to just make this into a clean 6.1 version. I don't REALLY want to tackle 6.5 quite yet.
Is there a simple way to clean out the garbage? How do I know what's what?
I really appreciate your help, you've gotten me this far. I hope you don't get too exasperated with my noobness.
88fingerslukee said:
All right, I downloaded v1.8.1 of EVK and used it to load the dumped .NBH. This seemed to work flawlessly and I now have a folder called 'dump' that contains the following folders. (I manually entered the Device name NEON400 when EVK prompted for it):
EXT
MyTools
OEM
RELEASE_NEON400
ROM
SYS
Tools
I'm guessing I've successfully extracted the ROM image.
Click to expand...
Click to collapse
Looks like it; now take contents from the 'dump' folder and move it to the top of your kitchen folder. For example:
Move NEON400_Kitchen\dump to NEON400_Kitchen\ - Yes To All.
This was one of the steps in my Raphael Tutorial:
[TUT] Sous-Chef's Guide to XIP Porting in Ervius Visual Kitchen 9.7
http://forum.xda-developers.com/showthread.php?t=526610
Afterwards, make a copy of the kitchen as this copy ("backup") will serve as your source/baseline which you can always refer back against ... how you got started. You should never make changes to this copy; what I typically do is .RAR the copy and store it in a safe place along with the source file (ex: the download RRU from HTC, etc.)
i would like, for ease and simplicity, to just make this into a clean 6.1 version. I don't REALLY want to tackle 6.5 quite yet.
Is there a simple way to clean out the garbage? How do I know what's what?
I really appreciate your help, you've gotten me this far. I hope you don't get too exasperated with my noobness.
Click to expand...
Click to collapse
There's no quick or easy way; now comes the steep part of the climb.
If you haven't obtained a file comparison tool yet, that should be your next stop. You really should get a good one that allows binary comparisons and such ... I use BeyondCompare; it's not free but it's worth it. Once you obtain the file comparison tool, you can use it to compare an existing folder against another - such as comparing two kitchens. As an exercise, you could compare your kitchen against my last Raphael kitchen to give you an idea as to areas typically require additions/removals/changes.
WinMO6.1.21056 Raphael Kitchen
http://forum.xda-developers.com/showthread.php?t=471288
Also download the .TXT files attached to the kitchen thread as I noted all of the edits I made to the OEM, SYS, and ROM folders in those files. Examine those areas of your kitchen. Pay special attention to operator packages, '.PROVXML', and 'CONFIG_' files in the OEM folder. This is where you will usually where you will find many Carrier/Operator specific changes or lockdowns. I usually move most of this content to a 'profile' package in the EXT folder; I never use the profile directly, I copy/paste the to a 'custom profile' and use the custom profile ... this way, I can eliminate underised "Carrier/Operator" features and only apply those features that are absolutely necessary. Additionally, extra components (themes, cabs, etc.) are often installed via a series 'CONFIG_' packages; these will likely require alteration.
A few last things to remember along this part of the climb ...
stop for breaks
drink lots of coffee
have fun
and don't forget to yodel
may i ask a small Q....regardingthe OEM....
if i want to put an app in my cooke ROM i know that i can covert the app from cab--to---ext..however i can do cab--to--OME and OEM --to-- EXT...what are the different and which is better ??? really need help to understnad this
An OEM package is essentially a kitchen package. The term OEM came about partly because the ROM extraction tools - essentially, the tools extract the content of an OEM .NBH/.NB file. An OEM package usually consists of files, files as modules, <guid>.dsm, <guid>.rgu, shortcuts, *.provxml, *.txt, and *.dat.
When chefs refer to OEM packages, they are generally speaking about the folders that appear in .\OEM, .\SYS, and the .\PACKAGES (or .\EXT) folder. Here is some background for Ervius Package Builder (PkgBuildOS) & Ervius Visual Kitchen (EVK).
PkgToolsBuildOS
In the older PkgBuildOS kitchen, the OEM package had a relatively flat structure. Most OEM packages were prefixed with 'PACKAGE_' - chefs would see these folders in .\OEM and .\SYS. It was also preferable to move such folders into a '.\PACKAGES' folder structure making it easier to choose which packages to include during the ROM compilation. Ideally, chefs would only keep essential (critical) packages in the .\OEM and .\SYS. The structure of the OEM package would look similar to the following:
Code:
[B][COLOR="Blue"]<PACKAGE_oem_packagename>[/COLOR][/B]
[INDENT]<guid1>.rgu [COLOR="Purple"][I](<guid1>.rgu + <guid2>.rgu)[/I][/COLOR]
<guid1>.dsm
[COLOR="Purple"]<guid2>.dsm [I](removed)[/I][/COLOR]
files
*.provxml
shortcuts
*.txt
*.dat
option.xml
[B][COLOR="Blue"]<modulefoldername>.[[COLOR="Green"]ext[/COLOR]][/COLOR][/B] ([COLOR="green"][B]ext [/B][/COLOR]= dll, cpl, ocx, etc.)
[INDENT]imageinfo.bin
imageinfo.txt
S0001
S0002
S0003
...
[/INDENT]
[/INDENT]
Visual Kitchen
When Ervius created the Visual Kitchen, he also created a tool to convert old PkgBuildOS OEM packages into the new kitchen format. During the conversion process, the tool would read the .DSM filename information and rename the folder accordingly - sometimes a folder would be prefixed with 'PACKAGE_' and in other cases not; it depended on the internal .DSM name. The new format of the package was such that it divided the language-specific files into a sub-folder within the EVK OEM package.
Additionally, the tool would copy the OEM packages to the .\EXT folder as once again, it is preferable to have OEM packages in the '.\EXT' folder structure as it makes it easier to choose which packages to include during the ROM compilation. Ideally, chefs would only keep essential (critical) packages in the .\OEM and .\SYS. The structure of the OEM package would look similar to the following:
Code:
[B][COLOR="blue"]<oem_packagename>[/COLOR][/B][INDENT]<guid>.rgu
<guid>.dsm
app.reg
app.dat
_skip
[B][COLOR="blue"]Files[/COLOR][/B][INDENT]*.provxml
shortcuts
*.txt
*.dat
[B][COLOR="Blue"]<modulefoldername>.[[COLOR="Green"]ext[/COLOR]][/COLOR][/B] ([B][COLOR="green"]ext [/COLOR][/B]= dll, cpl, ocx, etc.)[INDENT]imageinfo.bin
imageinfo.txt
S0001
S0002
S0003
...
[/INDENT]
[/INDENT]
[B][COLOR="red"]<LANG> [/COLOR] ([COLOR="red"][B]LANG[/B][/COLOR] = 0409, 040C, etc.)[/B][INDENT]<guid2>.rgu
<guid2>.dsm
app.reg
app.dat
_skip
[B][COLOR="blue"]Files[/COLOR][/B][INDENT]*.provxml
shortcuts
*.txt
*.dat
[B][COLOR="Blue"]<modulefoldername>.[[COLOR="Green"]ext[/COLOR]][/COLOR][/B] ([B][COLOR="green"]ext [/COLOR][/B]= dll, cpl, ocx, etc.)[INDENT]imageinfo.bin
imageinfo.txt
S0001
S0002
S0003
...
[/INDENT]
[/INDENT]
[/INDENT]
[/INDENT]
The tutorials I put together for the Visual Kitchen (EVK) and Package Builder (PkgToolsBuildOS) provide some additional details about the folder structure of the kitchen so I won't get into more details about it here.
HTH,
The guy who failed miserably to cook a wm 6.5 rom,ultimately cooked the first ever wm 6.5 rom for Neon 400
http://forum.xda-developers.com/showthread.php?t=650446
damn... nothing to say just.......
if this guy wants to learn how to cook for his device... just leave him to learn, BTW why you dont leave intact the rom links?

Categories

Resources