yashsingh1/xdaforums huggingface dataset:
[Windows Mobile Software Development] hilaireg:
Looks like u and i need to get acquainted ... sent u a PM.

Cheers,
[Windows Mobile Software Development] ND4SPD:
Just an update, I'm rebuilding the DSM Manager. The one that I've been using is not fit for human consumption :D This new one i've attached here will be integrated into the kitchen I showed earlier.

Here's the DSM Manager that I'm hoping to release later today:

btw, I tried making an update package, but it failed. I guess it's because of the dependencies. Does anyone know how to specify dependencies in the .dsm/whatever? Also, how do you add your own certificates to the Certificate Store on the already existing ROM?

EDIT: I just realized this version that I took the screenshot of doesn't have the certificate changer. That'll also be there in this program if I can get it done today.
[Windows Mobile Software Development] hilaireg:
@ND4SPD:

I just opened the '.\OEM\PACKAGE_Raphael_Arcsoft_MMS' DSM from the latest AT&T ROM 5.11.502.2 using DSM Analyzer and DSM Builder.

In DSM Builder:

The Dependency Package List and Shadow GUI List tabs contain entries. As I previously noted, DSM Builder seems to "break" the file. At first glance, it looks like the 'Unknown 1-4' fields correspond to the GUIDInterface field in DSM Analyzer; altho the bytes at the end appear to be incorrect.

In DSM Analyzer:

The information that DSM Builder displays is not present.

Cheers,
[Windows Mobile Software Development] Da_G:
Hey :)

If I don't stay in laughlin tomorrow, i'll be home.. and i'll drop you guys all pm's and update my first and 2nd post with more infos.. so we can get the ball rollin' again :)

dependencies are specified in the .dsm as one of the fields (id say where but typing from memory)

there's 2 dependency fields, one a straight dsm a depends on dsm b and another a 'group' dependency - the 'interface' dependency

i believe i put that info in post 2 already though :) will update with the full .dsm spec etc. when i get back! will be a cinch to get it all set up from that ;)
[Windows Mobile Software Development] ND4SPD:
Thanks for the info! I'll check it and see what I can get out of it. Also, I found that one of Microsoft's own assemblies (pkgcommon.dll which is used for both BuildOS and PackageTool) contains Image Update package builders and validators (for dependencies and such). Once I figure out how to use them properly, I'll let you guys know.

btw, I found out why we haven't worked the Image Update system before. maimach (developer of original imgfs tools) was asking questions as to how to do this but kept getting stonewalled by MS people saying that the platform builder and methodology was under NDA between MS and OEM companies and that people had to go through proper channels to find out. Here's the dicussion: http://forum.soft32.com/pda/OS-Image-Update-ftopict58426.html
[Windows Mobile Software Development] xda2_haseeb:
Well you know me :o... im just a amateur HTC Wizard user who learned how-to cook by mistake :(... Maybe Da_G has written enough info, i understood the whole concept but didnt understand how-to implement it :( i meant how-to cook ROMs based on it :( my bad :(
[Windows Mobile Software Development] CRACING:
Ah, don't be sad, BE HAPPY.

I know few of info about cooking which enables image update system.

1. fwupdate ( As many cookers uses a dummy fwupdate package which only 75+ KB but the full working fwupdate is about 1MB so we need to use the full fwupdate package in my ROM(s) )

2. ULDR part must not be removed or reduced, on MBR.

3. I think there is something to do with metadata inwhich I still cannot understand. I think we need to place a cert in meta. However da_g will be giving in details, when he comes to home. :)

btw; .cab.pkg is used for installing updates but it contains a cert which should match the cooked cert on the ROM(s) if doesn't match, it won't install.

Thats all I know but da_g, ameet and etc will be giving in full details to understand everything so no worries. ;)

Best Regards
[Windows Mobile Software Development] xda2_haseeb:
Im not sad :p i know all the info u told but i dont know how to do it e.g how to make a .cab.pkg file?? how not to remove ULDR part?? how to add certificates etc :p rest i knw :D
[Windows Mobile Software Development] inertiax3:
@Da_G... you said you managed to update your MSXIPKernel.. is it also possible to update the OEMXIPKERNEL this way? I have one that is specific for my device and it is newer than what is included in official ROMs.. does the update system auto-relocate the modules? And what about NK.exe? Thanx
[Windows Mobile Software Development] CRACING:
ULDR part will not be removed or reduced until you use the removing/reducing tool by ervius ( implantxip ). So don't use it if you are doing a image update system enabled ROM.

As of .cab.pkg, Da_g can explain in details since I'm not so well know. :)

Best Regards
[Windows Mobile Software Development] pauloviegas:
Great work

I'm sorry to put this spam but this is just to give you my support! when you manage to put this out for a rooky like me to use this, all will be great!

Keep up the GREAT work! Hope to see a easy way to use this possibility soon!
[Windows Mobile Software Development] malloth:
This file netcf.cab.pkg is already certified with "Microsoft Windows Mobile Firmware Publisher". If anyone knows a tool to decertificate a file it would be relatively easy to just sign this cab.pkg file with other certificate.

I've tested it a bit and I think that this mechanism checks for devices's ID. Why would it show a device ID underneath an error number? It would be wise to consider either removing this device ID check or find a method to write our own device ID into cab.pkg file (via Hex Edit perhaps).

I hex code of this package there's a palce where are 16 bytes which are exacly written like the device ID that gives us The Updater.

These are only my conclusions and ideas for this project to go forward.

I'd like to see the main CEO and its WiMo programists faces when they see that we've already have Update working on WM5+ devices :D.

Everything thanx to DA_G.
[Windows Mobile Software Development] adejager1:
Maybe you can ask Chainfire. In this thread he wrote an app to certify dll's

http://xdaforums.com/showthread.php?t=495145
[Windows Mobile Software Development] ND4SPD:
Here's the first version of my DSM Manager tool

You can analyze a .dsm file, an individual package, or the entire SYS folder at once. It gives you all the details including interface guid and dependencies as well as file listings and registry files associated with the package. You can view the dependencies as a tree if you analyze the whole SYS folder - it will show each package and then within, it will show each package that it depends on.

What still needs to be done:

I haven't had time to give it DSM editing features. That'll probably be tomorrow. The Editing Mode toggle button is there, but you really won't be able to do anything.

Give ability to remove certificates or add new ones or export them.

Fix a few small bugs when analyzing individual packages.

Hope it helps anyone else working with these packages

Oh, and if you want to look at the source code for it, you can decompile it with Reflector.NET. The UI code won't show because those were done with XAML files (unless you unpack it), but the code behind is viewable. You can see the messy work that went into it :D
[Windows Mobile Software Development] malloth:
I know how to certify cabs, files and have proper tools and certs to do so.

The problem is with tools to remove certs that are already in the files :).
[Windows Mobile Software Development] xda2_haseeb:
He made an app to certify DLLs maybe he know and can make a CAB to de-certify DLLs :p and maybe the procedure for DLLs and CABs is the same :p i can make CABs but never tried certifying them so dont knw much :o
[Windows Mobile Software Development] B4PJS:
Try this http://xda.b4pjs.co.uk/UnSigner.exe I found it in a thread about changing the taskbar Icons (which reside in signed dlls) :)

EDIT: All you need to do is drop the dll you want to unsign onto the exe :)
[Windows Mobile Software Development] malloth:
@B4PJS

This tool didn't work but I managed to delete MS certificate manualy with Hex Editor :). We'll see what will it give...

EDIT:

After cert removal it can't be certified again, or it just doesn't recognise this kind of file...
[Windows Mobile Software Development] Chainfire:
Are you trying to sign a DSM then?

Signing normally removes old certs, and I was indeed going to suggest unsigner. Coincidentally I wrote my own unsigner yesterday but I think it uses the same Win32 API mechanism as unsigner does.

Perhaps OpenSSL can do what you need.
[Windows Mobile Software Development] adwinp:
@malloth:

here's a cert-stripping app that works with traditionally signed resources.

http://xdaforums.com/showthread.php?t=416175
[Windows Mobile Software Development] malloth:
Sorry for such a deleay (MT on my head along with many things). Ok, I'll try both tomorrow. I know a way to implement certs to WM so that my services work even though there are not signed with Mobile2Market certs. So I'm hoping if I'll change the old cert to mine - it will go throught cert checking process.
[Windows Mobile Software Development] B4PJS:
So, just to get this straight:

If I am using the new style kitchen, I would have to create a dsm for every package in my EXT folders (Seeing as all the EXT packages dont use them) then theoretcally, if i wanted to update the package for the people that use my ROM I could just let them download the .cab.pkg and it would update it. Would I also need to add anything else to the package in the kitchen?
[Windows Mobile Software Development] GSLEON3:
Just a quick thought, but Verizon in the US has had, or did have (I have AT&T now), OTA updates that would update the firmware or portions thereof since the Blue Angel/Harrier.

Maybe it would help to look at how this was implemented on the older CDMA devices. I still have my harrier, maybe I have a battery that will still work, would anyone be interested in looking at the old Verizon update utility?
[Windows Mobile Software Development] ND4SPD:
Just found something interesting...and which I found completely by accident:

I was cleaning out stuff on my cluttered desktop when I noticed that the ROM Image for the T-Mobile variant of the HTC Snap.

Take a look at the header for the installer: "RUU_Captain_TMOUS_1.02.531.2_Radio_Sign_FOTA_0301_Test.exe"

I've just dumped that ROM image now and I'll be looking through to see if HTC has already implemented the Image Update system properly on this.

I'll report back with my findings.
[Windows Mobile Software Development] jjm34:
Outlook Mobile updated with Exchange 2010

So, Exchange Server 2010 will bring quite a few new features to Outlook Mobile (and SMS sync, yay!), and apparently this will also be possible through OTA updates on WM6.1+. I haven't found any info on whether this will use the Image Update System method, but if it does it may also help getting this to work with other update packages.

Unfortunately, I haven't been able to find a way of using these updates with the Exchange 2010 beta release; maybe it's not implemented in the current beta.
[Windows Mobile Software Development] anryl:
so the pkg file is just a cab created from oem package with dsm and rgu

its signed for my device

if i created cab from oem pkg renamed to .cab.pkg then executed on device it will get not enough memory error but nothing about signing :confused:

it says reboot device and try again
[Windows Mobile Software Development] pidsw:
The verification system for updates is fairly complex. I have never seen it fail, and I have recieved many FOTA updates. However I am on a beta program.

I can sync SMS OTA, as I recall, I first saw this in WM6.1 after an FOTA, and most versions of Outlook included with WM6.5+ should come with it.

Outlook is also faster on WM6.5, especially if you have a very large mailbox.

You should also get pictures of your contacts showing up next to sms messages and emails (if the contacts have pictures).

You may need to set an enableRichMail flag to 1 in your registry.

There are also personal contact groups that can send mass sms and mass emails.

I still have yet to get FOTA or image update to work with a cooked ROM. da_g has done this however.
[Windows Mobile Software Development] mac_es:
In which key? I haven't any enableRichMail value
[Windows Mobile Software Development] CWKJ:
Wow, this is an awesome thread.

It will be good new to all of us especially those who do not use HTC device (I hope).

So many "old senior" gurus / chief working, it will be a nice dish.
[Windows Mobile Software Development] inertiax3:
Dear Da_G and other gurus,

can you please shed some light on the following.. below are snippets of sections from a log when applying an update. I would like to known which errors you think might be critical and cause the update to not execute.

Section 1 of log:

Processing Graph for GUID =	{1A22BB67-D4C4-7BB4-C5D2-75CB3A85C45B}

ERROR: No Valid paths were found for the graph.

Processing Graph for GUID =	{45116509-E364-4775-9098-C25F0B1FBAC2}

ERROR: No Valid paths were found for the graph.

Processing Graph for GUID =	{723FB954-D931-4348-B672-82A188E587B5}

ERROR: No Valid paths were found for the graph.

...

...

Section 2 of log:

CheckFileOwnership: Starts

CheckFileOwnership: New file: file: boot.hv does not exist on the base node of Graph with GUID:

GUID =	{449DA4EF-E9C1-5CB4-2EC5-FB9B4C27A865}

CheckFileOwnership: New file: file: boot.rgu does not exist on the base node of Graph with GUID:

GUID =	{449DA4EF-E9C1-5CB4-2EC5-FB9B4C27A865}

CheckFileOwnership: New file: file: cecompr.dll does not exist on the base node of Graph with GUID:

GUID =	{449DA4EF-E9C1-5CB4-2EC5-FB9B4C27A865}

...

...

CheckFileOwnership: Now actually deleting the Terminal Nodes

CheckFileOwnership: Ends.

Section 3 of log:

No dependencies for graph with GUID =	{1A22BB67-D4C4-7BB4-C5D2-75CB3A85C45B}

No dependencies for graph with GUID =	{45116509-E364-4775-9098-C25F0B1FBAC2}

Can't find graph for GUID =	{D9E835B3-E88F-45DF-9E7B-DE74090E43A1}

Missing Dependency for Package with GUID =	{723FB954-D931-4348-B672-82A188E587B5}

Can't find graph for GUID =	{D9E835B3-E88F-45DF-9E7B-DE74090E43A1}

Missing Dependency for Package with GUID =	{D92A4F0A-378A-4482-8FD3-BD127A05E4DE}

Dependency of GUID =	{9A6A05E1-CFDE-4D32-9A82-85052C4D9DE7}

Version: Major: 5 Minor: 2 QFELevel: 5000 BuildNumber: 21194

is incorrect, should be: Major: 5 Minor: 2 QFELevel: 5000 BuildNumber: 21215

I would suppose Section 3 is the problematic part (there are lot's more errors in this section, however they are a combination of the above 3 error types), however I don't understand these 2 things...

1.

Can't find graph for GUID =	{D9E835B3-E88F-45DF-9E7B-DE74090E43A1}

Missing Dependency for Package with GUID =	{723FB954-D931-4348-B672-82A188E587B5}

... does this mean that D9E835B3-E88F-45DF-9E7B-DE74090E43A1.dsm is missing 723FB954-D931-4348-B672-82A188E587B5.dsm?

EDIT: just looked at it properly and it seems that 723FB954-D931-4348-B672-82A188E587B5.dsm requires D9E835B3-E88F-45DF-9E7B-DE74090E43A1.dsm.. however there is no such file in my ROM dump. I will try creating "bogus" DSM and try it out tomorrow

2.

Dependency of GUID =	{9A6A05E1-CFDE-4D32-9A82-85052C4D9DE7}

Version: Major: 5 Minor: 2 QFELevel: 5000 BuildNumber: 21194

is incorrect, should be: Major: 5 Minor: 2 QFELevel: 5000 BuildNumber: 21215

... is this also a critical error? If so, could I use any of the available DSM tools to change the values to the ones required?

I'd like to fix all possible critical errors and try updating my friends phone, don't have mine since it got stolen :(

Thanks for help ;)
[Windows Mobile Software Development] ND4SPD:
You should be able to use DSM Analyzer posted a few pages back to edit the dsm files. I have not released my version that can edit the files as of now.

btw, attached is a test tool to convert modules (folders with imageinfo.bin + s00x files) into files with MNGE headers. You must select the SYS folder in order for this to work - I haven't put in a lot of error handling code in - so this step is important

Try it and tell if it converts them properly. Once again, you have the ability to decompile the code to see what I did/improve on it.
[Windows Mobile Software Development] ND4SPD:
I'm sure I've got an Image Update working. It's installing right now and upgrading everything to build 21730. I'll post the .cab.pkg file to test tomorrow.
[Windows Mobile Software Development] elektrownik:
So it works ? Will it work on any device or it is only for one device, from which wersion it update? Do we need cert to update?
[Windows Mobile Software Development] inertiax3:
Could you please post your UpdateValidator.log? I'd like to see how a succesfull update is logged
[Windows Mobile Software Development] inertiax3:
ND4SPD, is it possible to delete dependencies from DSM files? I can't get rid of 2 dependencies:

Can't find graph for GUID =	{C128308B-69BF-4A32-9F1E-6BF1734C501E}

Missing Dependency for Package with GUID =	{723FB954-D931-4348-B672-82A188E587B5}

Can't find graph for GUID =	{70FADBC4-874E-4D67-BB2C-48B52842DE4A}

Missing Dependency for Package with GUID =	{208F8BE6-1362-45B3-AE17-95D4AB426C11}

Your DSM analyzer correctly lists both of these GUIDS in the "Dependents" box when I analyze 723FB954-D931-4348-B672-82A188E587B5.dsm and 208F8BE6-1362-45B3-AE17-95D4AB426C11.dsm. However I can't find these 2 DSMs anywhere in my ROM dump.. Any advice please?
[Windows Mobile Software Development] ND4SPD:
Turns out my phone didn't have enough memory to complete the update when I turned it on (I guess it's because mem usage was hovering around 72%). I'm going to try again with a clean ROM. It did everything successfully except that last part.

Attached is the log file (it's too big to be viewed directly).
[Windows Mobile Software Development] Da_G:
Here's a successful UpdateValidator.log from an upgrade from 21721 to 21728 that was sucessful, using a single super package containing all the needed upgrade canonical packages..

It was quite the trick to get all the dependencies and interface dependencies matched up right ;)

I've got alot more info to post on the topic, but lack time at the moment! soon..
[Windows Mobile Software Development] sammypwns:
That. Is. So. Cool.
[Windows Mobile Software Development] slovoflud:
can we expect your next ROM for the D with this feature then? :)
[Windows Mobile Software Development] inertiax3:
Thanx for both logs ;) I was wondering if anyone can tell me (while Da_G gets some time to write his guide - thanx in advance for this) how to satisfy a dependence when the required GUID (.dsm file) doesent even exist?! Specifically the 2 above GUIDs I posted - I cannot find them in any kitchen I have on my PC nor in any ROM dumps :confused:

I tried making bogus DSM's with the required GUIDs but my friend reports it still throws up the same error :(
[Windows Mobile Software Development] pidsw:
The Guids are for redist and msxipkernel. However, these are for the Hermes. Where did the dependant packages come from?

This is an old listing, but guids last foreveer :)

---- Package: redist (208f8be6-1362-45b3-ae17-95d4ab426c11.dsm) ----

Package Version: 5 1 2300 14955

04/11/2006 16:39 4166 208f8be6-1362-45b3-ae17-95d4ab426c11.dsm

04/11/2006 16:38 281940 cplmain.cpl

04/11/2006 16:38 14468 bthlink.dll

04/11/2006 16:38 532 srvtrust.exe

04/11/2006 16:38 7944 remnet.exe

04/11/2006 16:38 9020 wap.dll

04/11/2006 16:38 150188 netui.dll

04/11/2006 16:38 394796 tmailutl.dll

04/11/2006 16:38 68100 obexapi.dll

04/11/2006 16:38 242260 syscsps.dll

04/11/2006 16:38 34624 bthutil.dll

04/11/2006 16:38 53056 btdrt.dll

04/11/2006 16:38 228368 outres.dll

04/11/2006 16:38 6996 gx.dll

04/11/2006 16:38 105636 configmanager2.dll

04/11/2006 16:38 406208 tpcutil.dll

01/24/2006 10:38 13 welcome.lnk

04/11/2006 16:38 1412 wsppush.dll

04/11/2006 16:38 141512 wsp.dll

04/11/2006 16:38 106196 tapres.dll

04/11/2006 16:38 22340 pushrouter.dll

04/11/2006 16:39 26816 obexsrvr.dll

04/11/2006 16:39 58428 rehost.dll

04/11/2006 16:39 62072 configmanager.dll

04/11/2006 16:39 234144 htmlnote.dll

04/11/2006 16:39 335096 wmlview.dll

04/11/2006 16:39 24456 ATCIUI.exe

01/24/2006 10:37 26 ATCIUI.lnk

04/11/2006 16:39 23888 coresecproviders.dll

04/11/2006 16:39 2640 pushprxy.dll

04/11/2006 16:39 19872 welcome.exe

04/11/2006 16:39 15116 obexinbx.dll

Package size: 3141615

---- Package: msxipkernel (723fb954-d931-4348-b672-82a188e587b5.dsm) ----

Package Version: 5 1 2300 14955

04/11/2006 16:38 2502 723fb954-d931-4348-b672-82a188e587b5.dsm

04/11/2006 16:38 599608 coredll.dll

04/11/2006 16:38 34040 certmod.dll

04/11/2006 16:38 79808 fsdmgr.dll

04/11/2006 16:38 8820 diskcache.dll

04/11/2006 16:38 25612 fsreplxfilt.dll

04/11/2006 16:38 1088 device.exe

04/11/2006 16:38 24676 fatutil.dll

04/11/2006 16:38 45112 pm.dll

04/11/2006 16:38 8468 hd.dll

04/11/2006 16:38 238976 filesys.exe

04/11/2006 16:38 454736 crypt32.dll

04/11/2006 16:38 65092 fatfsd.dll

04/11/2006 16:38 27296 imgfs.dll

04/11/2006 16:38 4424 regenum.dll

04/11/2006 16:38 18248 mspart.dll

04/11/2006 16:38 40184 osaxst0.dll

04/11/2006 16:38 11696 busenum.dll

04/11/2006 16:38 35912 devmgr.dll

Package size: 1735587
[Windows Mobile Software Development] ND4SPD:
You can bet on it :D
[Windows Mobile Software Development] jwzg:
FWIW, attached is an actual security update from MS for the old 15342 WM6 build (for the Wizard). It contains the log, package and a temp file that may or may not be complete. Please disregard if you already have seen it.
[Windows Mobile Software Development] jwzg:
Try this package instead...I think this log is more complete since I'd heard this package would make the device useless and rebooted a little early on the first install. After install, the device showed authentication failure even after a hard reset, so it's definitely writing to the ROM successfully. Keep working on it!
[Windows Mobile Software Development] Diewi:
I read the thread with a lot of interest. It's a great finding from you, Da_G.

I honor the effort made by the people here and the time they invested.

But after a SYS and XIP update has been successful, I think it would be the

right time to write a little basic howto that explains the steps to build an update

a little (perhaps even on page 1).

Please don't blame me by telling me to read. I've done this. But it's become so

confusing with cross-posts, some things not fully explained etc. right now.

For example how to get an validated update (signing).

I guess a lot of people here would be very thankful for a little summary.

Regards
[Windows Mobile Software Development] anryl:
thanx for info

just take u time

u'r TheMan :cool:
[Windows Mobile Software Development] Da_G:
I am working with some talented coders behind the scenes to create the tools that will be necessary to cook a ROM compatible with ImageUpdate (this is currently not possible with any tools we have, I am doing it at a very low level, dumping a stock rom with imgfstodump, doing all modifications to \dump, reassembling with imgfsfromdump, so is very non user friendly)

As soon as these tools are in a more user-friendly state, they will be released, and the documentation I have written will be updated :) Soon, I hope!