[Tilt, TyTN II, MDA Vario III Windows Mobile ROM De] mrhayami:
[TUT] 101 RAM, EXTND_ROM & Icon Removal and Editing

Alright first a quick question before I add another to this quick and easy tutorial for the Paradox kitchen, and it's directed at PARADOX: Does your kitchen already use the lzx compression?

------------------------------------------------------------------------

Now for the TUT. Since the Paradox kitchen is slightly different from the other kaiser kitchens out there you may run in to some trouble at first as to how to set up a few things since lets say the rom folder isn't filled with os.nb and all that jazz. Also the main reason I am doing this is because I have searched for weeks and tried many different ways of doing these modifications with no luck until I decided for the heck of it just to try. So the answers may be out there but I have not found them or at least any that worked, mainly for the icon removal and simple extended rom.

FIRST: 101.32mb RAM Hack

So for the most part for those who have ROMs that are already cooked and don't want to dump them there is a way! You can hex edit the payload file in the ROM folder it will work! As for making this automated I am unsure. So the initial question still stands is there a way to make this automated.

To do this in os.nb.payload simply do a hex search for 8234A013 and change the second instance of it to 8334A013, you can either do the second instance (there normally is only two) or you can do both instances, however I have not figured out if having them both does anything more than just that one does.

Thanks ANRYL, chavonbravo, and deepthroat for the hack and info!

-------------------------------------------------------------------------

Second: Building a super simple Extended ROM

Yet again I searched for days with no real simple way for some reason maybe I just overlooked it. But instead of building and cooking it separately there is no need to when you can simply make a folder in the OEM dir. named "OperatorPKG" and have it auto install on the first boot up your tweaks and apps as well as customizations that weren't cooked in.

To do so simply make that folder or copy it from a dumped ship rom, take out everything but the "config_operator.txt." Now make a cab that you want to install and make sure that no user input is required make it "read only" and throw it in the folder as well as any other cabs you would like to install (I will not go into how to make a setup dll right now...sorry). Once that is completed you need to edit your config_operator.txt.

Mine is simple and you can use it as a template.

LOCK:Enabled
XML: \windows\mxip_e35374dc-feed-4e37-a5d3-32d3f9c2aac4.provxml
CAB: \Windows\Hayami Corp. EXTENDED_ROM.cab
RST: Reset

LOCK

must be the first item in your config and you can choose whether or not to disable it.

XML

is used as a guide for installing, moving, editing or removing items; mine for example removes registry keys, we will get to that later.

CAB

is the cab file you wish to deploy.

RST

is another command that must be present in the config and will reset your device when finished.

After you do all this simply make the files read only and cook! Make sure that your config and all other files are in that same folder I.E. the xml, cab and any other :D

-------------------------------------------------------------------------

Third: Icon Removal and Editing

This will be some what of a continuation of the previous since here we will show you how to edit the registry with that xml file to remove...lets say some unwanted icons in the settings tab? Now I've been looking for some time as to how to hide some if not flat out remove them automatically using a cab or extended ROM but for some reason none worked for me (i.e hide=0, hide=1, (-) in front of the address and after the = for the values. So this is where google & MSDN helps!

Adding a Key and Values, and Modifying a Value Example taken from MSDN

This example adds a registry key (Registry\HKLM\Software\Microsoft\TestKey3), adds values to the key, and then modifies one of the values (TestValue).
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKLM\Software\Microsoft\TestKey3">
<parm name="TestValue" value="5" datatype="integer" />
<parm name="TestValueBoolean" value="1" datatype="boolean" />
<!-- boolean is stored as an integer in the registry -->
<parm name="TestValueFloat" value="3.14159" datatype="float" />
<!-- float is stored as a string in the registry -->
<parm name="TestValueString" value="testtesttest"
datatype="string" />
<parm name="TestValueDateTime1" value="10/20/01 3:55:04 pm"
datatype="date" />
<!-- date and time may be combined into a
single value using either date or time datatypes -->
<parm name="TestValueDateTime2" value="10/20/01 3:55:04 pm"
datatype="time" />
<parm name="TestValueString2"
value="string1string2string3" datatype="multiplestring" />
<!-- multiple strings are separated by  -->
<!-- multiple strings are ended with two  -->
<parm name="TestValueInteger"
value="5iAGkAbgBhAHIAeQAgAGIAbABvAGIA" datatype="binary" />
</characteristic>
</characteristic>
</wap-provisioningdoc>

Deleting a Value Example taken from MSDN

This example deletes a value (TestValue) from a registry key (Registry\HKLM\Software\Microsoft\TestKey3). <wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKLM\Software\Microsoft\TestKey3">
<noparm name="TestValue" />
</characteristic>
</characteristic>
</wap-provisioningdoc>

Deleting a Key, Values and Subkeys Example taken from MSDN

This example deletes a key (Registry\HKLM\Software\Microsoft\TestKey3), including the associated values and subkeys, from a registry. <wap-provisioningdoc>
<characteristic type="Registry">
<nocharacteristic
type="HKLM\Software\Microsoft\TestKey3"/>
</characteristic>
</wap-provisioningdoc>

Here is my xml in my extended ROM that gets rid of the double icons in my settings window for things like the csd line which is now covered in the Advanced Network app.

<wap-provisioningdoc>
<characteristic type="Registry">
<nocharacteristic
type="HKLM\ControlPanel\CSD Line Type"/>
</characteristic>
<characteristic type="Registry">
<nocharacteristic
type="HKLM\ControlPanel\GPRS Setting"/>
</characteristic>
<characteristic type="Registry">
<nocharacteristic
type="HKLM\ControlPanel\HSDPA"/>
</characteristic>
<characteristic type="Registry">
<nocharacteristic
type="HKLM\ControlPanel\MyCPL\0"/>
</characteristic>
<characteristic type="Registry">
<nocharacteristic
type="HKLM\ControlPanel\MyCPL\1"/>
</characteristic>
<characteristic type="Registry">
<nocharacteristic
type="HKLM\ControlPanel\MyCPL\10"/>
</characteristic>
<characteristic type="Registry">
<nocharacteristic
type="HKLM\ControlPanel\MyCPL\8"/>
</characteristic>
<characteristic type="Registry">
<nocharacteristic
type="HKLM\ControlPanel\SMS Service"/>
</characteristic>
</wap-provisioningdoc>

Well that's it for now I'll post more on ez icon editing since some tuts here break the dll, app or mui.

Untill next time!

And thank you PARADOX for this lovely easy to use kitchen :3 I hope this helps other paradox kitchen users. More on the way as far as kitchen edits!

-------------------------------------------------------------------------

Links:

MSDN

All you need to customize a kitchen! 1 & 2