.DSM files? - 8125, K-JAM, P4300, MDA Vario ROM Development
Whether you are building a ROM with or without a 'kitchen' there are lots of .DSM files. Some of these are 0Bytes, others are tiny (2-3Bytes). What are they? I understand the .RGU files (registry entries), but the .DSM files I don't yet understand. I thought they were referenced by the 'option.xml' file in the \SYS folder (in most kitchens anyway?), however some are, others aren't.
Anyone have any details on this?
Thanks
Andy
ADB100 said:
Whether you are building a ROM with or without a 'kitchen' there are lots of .DSM files. Some of these are 0Bytes, others are tiny (2-3Bytes). What are they? I understand the .RGU files (registry entries), but the .DSM files I don't yet understand. I thought they were referenced by the 'option.xml' file in the \SYS folder (in most kitchens anyway?), however some are, others aren't.
Anyone have any details on this?
Thanks
Andy
Click to expand...
Click to collapse
I dont know what they are, but i do know 100%, that you delete these and you will kill your rom! These holder data that is needed in some case but in other not!!
funman said:
I dont know what they are, but i do know 100%, that you delete these and you will kill your rom! These holder data that is needed in some case but in other not!!
Click to expand...
Click to collapse
I don't want to delete them, however I am trying to resolve my L2TP/IPSec issue and I am now grasping at straws......
Andy
Good morning class, today we will be learning about dsm files...
Q:What are dsm files?
A:dsm files are thought to contain important encrypted information about file association.
eg What files are associated with the bluetooth function of your device? Well there's btdrt.dll, bthlink.dll, bthutil.dll, configmanager.dll, configmanager2.dll and so forth. We know this because we've researched the functioning of bluetooth with much detail, using such high tech methods as "What happens if i remove this file...**** my bluetooth doesnt work anymore...."
But how does your device know what files are associated with bluetooth functioning? Well in addition to the info contained in the .exe files it looks inside associated dsm files and decrypts the info thats in there.
Q: This seems confusing, is there some organised way of knowing what dsm files i have? or are they all just randomly put in my rom?
A:.dsm files are referenced by packages.sof. All of them are inside packages.sof
Q: packages.sof looks like a mess, how on earth do i read that?
A:the dsm filenames are just rearranged,
eg
9a6a05e1-cfde-4d32-9a82-85052c4d9de7.dsm appears as
E1 05 6A 9A DE CF 32 4D 9A 82 85 05 2C 4D 9D E7
So basically starting from the left side of the file name you split the first section of the dsm file name into pairs then swap the outside pair, then swap the inside pair.
eg 9a6a05e1 = 9a 6a 05 e1 = E1 05 6A 9A
Then you take the next section and swap the order of the pairs.
eg cfde = cf de = DE CF
Leave the next section alone
eg 9a82 = 9A 82
The last section isnt rearranged either. Its just split into pairs.
eg 85052c4d9de7 = 85 05 2C 4D 9D E7
So adding up all our sections we see that 9a6a05e1-cfde-4d32-9a82-85052c4d9de7.dsm is represented by E1 05 6A 9A DE CF 32 4D 9A 82 85 05 2C 4D 9D E7 inside packages.sof
Q: But how do i know what files are associated with my .dsm files?
A: A mysterious and clever man known only as bepe, gave us some tools. Some say that bepe fell from heaven, others say he was raised by a pack of wild german ladies with boobs as big as car tyres. Ask your history teacher about bepe.
Homework
Write a two-page report detailing why some dsm files (eg b50d833e-7d3f-44ac-615f-2da2c715cd93.dsm) appear in packages.sof but apparently dont reference any files....
Class dismissed, if anybody wants to ask me any questions, i'll be at the bar drinking beer.
Disclaimer: I wrote this with my best intentions, just a bit of fun. This is what i know about dsm files, it is immensely far from being 100% proven theory yet. I know the theory is flawed but it is a work in progress. If you think im wrong then feel free to correct me.
peter petrelli said:
Good morning class, today we will be learning about dsm files...
Q:What are dsm files?
A:dsm files are thought to contain important encrypted information about file association.
eg What files are associated with the bluetooth function of your device? Well there's btdrt.dll, bthlink.dll, bthutil.dll, configmanager.dll, configmanager2.dll and so forth. We know this because we've researched the functioning of bluetooth with much detail, using such high tech methods as "What happens if i remove this file...**** my bluetooth doesnt work anymore...."
But how does your device know what files are associated with bluetooth functioning? Well in addition to the info contained in the .exe files it looks inside associated dsm files and decrypts the info thats in there.
Q: This seems confusing, is there some organised way of knowing what dsm files i have? or are they all just randomly put in my rom?
A:.dsm files are referenced by packages.sof. All of them are inside packages.sof
Q: packages.sof looks like a mess, how on earth do i read that?
A:the dsm filenames are just rearranged,
eg
9a6a05e1-cfde-4d32-9a82-85052c4d9de7.dsm appears as
E1 05 6A 9A DE CF 32 4D 9A 82 85 05 2C 4D 9D E7
So basically starting from the left side of the file name you split the first section of the dsm file name into pairs then swap the outside pair, then swap the inside pair.
eg 9a6a05e1 = 9a 6a 05 e1 = E1 05 6A 9A
Then you take the next section and swap the order of the pairs.
eg cfde = cf de = DE CF
Leave the next section alone
eg 9a82 = 9A 82
The last section isnt rearranged either. Its just split into pairs.
eg 85052c4d9de7 = 85 05 2C 4D 9D E7
So adding up all our sections we see that 9a6a05e1-cfde-4d32-9a82-85052c4d9de7.dsm is represented by E1 05 6A 9A DE CF 32 4D 9A 82 85 05 2C 4D 9D E7 inside packages.sof
Q: But how do i know what files are associated with my .dsm files?
A: A mysterious and clever man known only as bepe, gave us some tools. Some say that bepe fell from heaven, others say he was raised by a pack of wild german ladies with boobs as big as car tyres. Ask your history teacher about bepe.
Homework
Write a two-page report detailing why some dsm files (eg b50d833e-7d3f-44ac-615f-2da2c715cd93.dsm) appear in packages.sof but apparently dont reference any files....
Class dismissed, if anybody wants to ask me any questions, i'll be at the bar drinking beer.
Disclaimer: I wrote this with my best intentions, just a bit of fun. This is what i know about dsm files, it is immensely far from being 100% proven theory yet. I know the theory is flawed but it is a work in progress. If you think im wrong then feel free to correct me.
Click to expand...
Click to collapse
OK, thanks for that. That is the first time I have seen that........
Another couple of questions then if you will oblige me?
1. In the various Kitchens that are out there, there is usually an 'option.xml' file in the \SYS directory that describes the various system packages that can be included in the ROM so they can be selected or excluded. The file is broken up into sections - transcriber, Enterprise, Games, Office etc. Listed in each of these sections are GUID's with a type and a GUID. Type is either 'p' or 'i'; 'p' references the .RGU file containing the registry settings. However the entries with the type 'i' don't seem to reference any GUID-named files I can see? I have applied the conversion logic you detail and the .DSM files don't tie-up with the GUID references, these may be unrelated though? For example the Autoupdate section:
Code:
<Item name="Autoupdate" group="System" checked="true">
<Guid type="p">8be73c02-3437-4c06-88c9-0a2e25bfaf2c</Guid>
<Guid type="i">c05687f7-7d0a-4738-9ecd-e043658f40cd</Guid>
</Item>
I can see the .RGU file (8be73c02-3437-4c06-88c9-0a2e25bfaf2c.rgu), however the second .DSM file is '89fc53c1-ec65-4648-9972-24afb3dcad3c.dsm', if the conversion logic you list is correct it should begin with c153fc89? Unless of course these are unrelated, however the number of GUID's listed always ties-up with the number of .DSM/.RGU files in each package (in different folders - e.g. Autoupdate, Autoupdate_Lang_0409).
2. How do you read the packages.sof? It just appears as few lines of unreadable characters in either Notepad or Wordpad?
3. Can .DSM files be transferred between ROM sources? In my quest to get L2TP/IPSec VPN working in the 5.2.1413 ROM I have been transferring the Enterprise files (ipsec.dll, ipsecsvc.dll, scard.dll & winscard.dll) from earlier ROMs (and other device ROMs) but have not had any (much?) success. Is there some logic to transferring files between ROMs?
Thanks
Andy
1. At this point in time I have no explanation as to why there are absent dsm's. I cant locate the dsm file you describe in any rom, i can only locate references to it. I can only speculate about why this is so.
2. Use a hex editor.
3. Yes you can trasfer dsm files but with mixed results. I have swapped some dsm files but when i did i moved the files associated with them as well. I had mixed success doing this.
I have exams on at the moment so I will look into this matter further towards the end of the month. Sorry my answers to your questions are so short. Good luck with your L2TP/IPSec VPN.
Related
MSN Pocket Messenger Emoticons found (almost, need help)
NOTE: only for wm2003 and wm2003se version I am trying to solve the emoticons puzzle from MSN Messenger. I got messenger from another rom. Perhaps I am missing a resource dll. First step is to enter in the registry: HKCU\Software\Microsoft\MessengerService "ShowEmoticonsUI"=dword:00000001 Start Messenger and goto the menu Tools > Options... You will find a new option checkbox "Emoticons" This will create a new binary value ShowEmoticons 01 00 00 00 in the key mentioned above. From instmsgr.exe you get the following text: emasl.bmp (?) emhugrt.bmp (}) emhuglt.bmp ({) emcake.bmp (^) emcat.bmp (@) emmusic.bmp (8) emstar.bmp (*) emcuffs.bmp (%) (Z) emmale.bmp (z) (Y) emthup.bmp (X) emfemale.bmp (x) (W) emwilted.bmp (w) (U) emunlove.bmp (u) (T) emphone.bmp (t) emsleep.bmp (S) (P) emphoto.bmp (p) (N) emthdown.bmp (M) emmessag.bmp (m) (L) emlove.bmp (l) (K) emlips.bmp (k) (I) embulb.bmp (i) (H) emhottie.bmp (h) (G) emgift.bmp (g) (F) emrose.bmp (f) (E) ememail.bmp (e) (D) emcocktl.bmp (d) (C) emcup.bmp (c) (B) embeer.bmp (b) ;-) emwink.bmp emangry.bmp :[email protected] emcry.bmp :'( :-[ emvamp.bmp emsmilep.bmp :-O emsmileo.bmp :-o :-> :-D :-d emsmiled.bmp :-< :-( emsad.bmp :-| emdgust.bmp :-s emcrook.bmp :-S emsmile.bmp Click to expand... Click to collapse (note: this forums engine draws some of the text above as emoticons) So I thought creating some bitmaps in the windows folder and case closed. But they don´t show in Messenger when typing the Emoticon codes, only white space and the text gets a little messed up. Anybody that can help me out with these Bitmaps? width/height, Bits per pixel, RLE? I used the emoticons from Windows Live beta, but they are PNG 19x19 pixels. Converting them to BMP did not work. Cheers.
Did you try creating just any BMP image with that size and putting it in the right folder? (since you're unable to convert from PNG to BMP)
Yes, tried everything: every size from 8x8 up to 19x19 pixels, from 8 bits per pixel to 256 to 16k and RLE. In the windows folder you name it. It is hard to determine (using IDA) with decompiling INSTMGR.EXE where they are loaded from. If only there was a tool like sysinternals FILEMON for WINCE. Another possibility is that the BMP´s must be inserted into the INSTMGR.EXE in a BMP resource section, which is not the case now. So this is going to be hard...
I don't think inserting BMPs into the executable is a nice idea to be done on a PPC software. You don't really want to load this much data. I think it's just an unfinished feature and it won't work. However, try putting the files in \program files\msn messenger or \my documents\. If that doesn't work, I don't advise you to waste more time on it
Or you could give up, since the new Windows Live Messenger for Windows Mobile is out soon (currently in beta) and supports smileys. As usual when they release an updated client, the old client will cease to function after a short while. Also, nearly every other IM client that supports the messenger protocol supports smileys too.
I don't think Pocket MSN Messenger will be blocked from accessing the service, because WM2003 devices can't use Windows Live Mobile. Anyway, yeah, time for upgrade I've been trying WLMM for hours and it refuses to connect
Just released: my utility for people reading 4pda.ru via Babelfish
4pda.ru, in addition to XDA-Developers, is one of the best sources of Windows Mobile-related hacking information. It was in there that, for example, I’ve found the hacked, 1023 TAO Midlet Managers, on which, then, Risidoro has built on his latest (1036) TAO releases at XDA-Dev, along with a lot of other info never published in English. Myself not being a businessman traveling in Russia all around or watching / reading / listening to Russian-language literature / music / movies, I would never have thought I would find my knowledge of Russian useful in my professional life – now I have Should you not know Russian, I’ve created a tool that greatly helps in reading 4pda forums. For this, you will, of course, want to use Babelfish to translate these pages. Just enter the URL (in the case of the MIDlet thread, http://4pda.ru/forum/index.php?showtopic=1333 ) in the Translate a Web page text field, select “Russian to English” in the lower “Select from and to languages” drop-down list and click the bottom Translate button. After a while, you’ll notice that not everything is displayed – after about 100 kbytes of source HTML, posts are cut and you can’t make the final part displayed in any way, as can also be seen in THIS screenshot (see the “<<<<<<<< snip >>>>>>>>” at the bottom – it shows Babelfish won’t translate more). The wrong approach you can take in these cases are as follows: you cut and paste the text in Babelfish in the upper, direct text input field. It’s a very awkward and slow solution because you can only have some 2-3 kbytes of text translated at one time save the original Web page to your local PC, edit its HTML source (cut out the first, say, half of the original page) and upload the edited version to any Web server so that it becomes visible to Babelfish. This also involves a lot of additional work. Unfortunately, the print mode (clicking the “Версия для печати” link, which takes you HERE – HUGE page!) doesn’t help much. Much as it (to some degree) cleans up the code and removes the, for most quick translations, unnecessary stuff (avatars, number of posts, links to other pages, ads), it returns the article as one big file, which is, with longer threads, well above 100 kbytes. This means you won’t see most of the newer posts translated either. The right approach, of course, is using my tools ;-). I’ve created a program that automatically downloads the contents of an entire thread, sliced to small HTML pages named following an easy-to-autogenerate-links-to naming convention. What is more, I also release the source (available HERE) for it so that you can see how it works. You’re also free to modify it to download other forum content in a much more Bablefish (and, for that matter, also PDA/ mobile) -friendly format. Usage if you haven’t already done so, install a Java environment on your desktop PC (free JDK download HERE) download the above-mentioned source file enter the “javac ForPDAruSimplifier.java” command in the same directory (from inside, say, Total Commander) so that the source is compiled enter the following command: java ForPDAruSimplifier 30 1050 1333 "4pda-" where the parameters are as follows: 30 is pretty much fixed for 4pda.ru (but different with other sites; this is why I’ve made it an easily modifiable parameter) – the number of posts displayed on a forum page 1050 is a product of 30 and 35. 30 is the above-introduced posts-on-a-page parameter; 35 is the number of thread pages. (Now, the MIDlet thread has 35 pages.) 1333 is the number of the thread itself; it can be very easily found. For example, the 1333 for the MIDlet thread can be very easily spotted if you take a look at the URL of the thread: http://4pda.ru/forum/index.php?showtopic=1333. Yes, it’s the number after “showtopic=”. Finally, "4pda-" instructs the tool to save the target files with the “4pda-“ filename prefix. You can use any other prefix.
After running the tool, upload the resulting files (in this case, 4pda-01.html … 4pda-35.html) to the Web so that Babelfish can access it. You can start entering the new addresses into Babelfish. An even better an easier approach is creating a link file, where all you need to do is clicking all the link files in order, with Ctrl (IE) or Ctrl-Shift (Opera) hold down. The latter makes sure the links are opened in a background tab. Just give a try to the following links to see this for yourself: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35. (Downloadable, original source of the above HTML links HERE) See the difference? None of the original pages were cut in half and all posts are perfectly readable. Note that I’ve modified the code so that it doesn’t include local file attachments (my code removes the links). If you know 4pda.ru (or, most Russian PDA sites and their views about international Copyright issues), you know why I’ve chosen to do so.
In the meantime, I've been pointed to Google Translate. See my related remarks in the comments section of http://www.pocketpcmag.com/blogs/index.php?blog=3&p=2229&more=1&c=1&tb=1&pb=1 - I've made quite extensive comparison between the results Google Translate and Babelfish produces when it comes to translating Russian text.
PagePool change procedure Menneissys ... this topic pops up in cryptic bits and pieces on the Kozhura ROM thread for the hx4705, and elsewhere. My unit has been upgraded (128MB memory) so that I have the capacity for a larger PagePool .. and perhaps cache (and/or RAM disk). Vivi's updated Kitchen has just been posted for Kohzura's new WM6-ver-4. All these are great presents under the Xmas tree as we have now seriously rejuvenated PPCs with great VGA-16bit screens. We sure would benefit from a discussion and comprehensible procedure for addressing these customizations. Mind you, of the some 350,000 followers of these threads .. only a small percent are hackers .. most like I are users with capabilities across the spectrum, but intensly interested in tweaking our PPCs to suit our unique usage; and 'bricking' our units no longer seems to be the threat it was just a few weeks ago, thanks to ChrisMRulz's great BootLoader. Any help from your direction would be greatly appreciated. Frank KF
FrankKF said: Menneissys ... this topic pops up in cryptic bits and pieces on the Kozhura ROM thread for the hx4705, and elsewhere. My unit has been upgraded (128MB memory) so that I have the capacity for a larger PagePool .. and perhaps cache (and/or RAM disk). Vivi's updated Kitchen has just been posted for Kohzura's new WM6-ver-4. All these are great presents under the Xmas tree as we have now seriously rejuvenated PPCs with great VGA-16bit screens. We sure would benefit from a discussion and comprehensible procedure for addressing these customizations. Mind you, of the some 350,000 followers of these threads .. only a small percent are hackers .. most like I are users with capabilities across the spectrum, but intensly interested in tweaking our PPCs to suit our unique usage; and 'bricking' our units no longer seems to be the threat it was just a few weeks ago, thanks to ChrisMRulz's great BootLoader. Any help from your direction would be greatly appreciated. Frank KF Click to expand... Click to collapse Sorry, I am not allowed to help with cooked, unlicensed ROM's (I don't want to lose my MVP status).
PagePool change procedure Understood, thank you. Frank KF
Is it possible to have a tool to read in english 4pda.ru but on the ppc?
i have followed the above steps and the html files i produced is like the picture below ... i've tried to change the encoding but i had no luck !!! what i'm doing wrong ?
Orange Plugin - What goes where?
Just a clarification question... I found the following files, packaged in a .cab, but don't think I need all of them and don't know where to put the files I do need. Here's what I have: 4orangeh.dll HomePage.xml HomeScreen.dll HomeScreen_menuF.bmh HomeScreen_MenuS.bmh orange.scheme.xml OrangeHomescreen.home.xml I'm thinking that the 4orangeh.dll is the only file I need and that it goes in the application data/home directory, and that the other files are associate with a homescreen this particular individual authored. Is that correct or no? Thanks for the help!
ahhhh NO.....nononono....thats wrong. You got the units for ABAXIA (all the files above exept the 4Orangeh.dll)and 4OrangeH. You may copy the files to /Application Data/Home and register the .dll manually with wm5regsvce.exe. May not work stable, but you got this: (Link to another Thread by me about the 2 DIFFERENT OrangePlugins called Abaxia and 4OrangeH (4Orangeh includes 10 different Plugins) ClickMeHard The Top Image is Abaxia, the second Images are 4Orangeh.Abaxia is poooooor, 4OrangeH really Impressive
Nice arpy! You wouldn't know where I can find some (English) documentation on how to use this plugin?
erm,no...sorry.Ive created a German Doc with all needed attributes for this Plugin, it was a hard trip and needs a lot of try-and-error-sessions to get nearly all informations about it. Here is a Howto in German, it includes nearly all Attributes and Parameters needed for 4OrangeH.Not finished yet...there are some more undocumented Features, like FreeMemory,Messages,Ringtone...it is like an OWN HOMESCREEN-PROCESS, so it can Host more than one Plugin in one Line...an REALLY DAMN ****IN **** MISSING FEATURE in my lovely SmartPhone. the file maybe helpful, if you always create Homescreens...
Thank you. I'll try and see how this comes through a translater.
How to decipher the "start time" information in the registry entry of appointments
How to decipher the "start time" information in the registry entry of appointments I have a Kaiser. If the following is Kaiser specific or not I wouldn't know. There is a registry entry \HKCU\System\State\Apppointments\Current\Start Time Which contains information about the start time of the current appointment (and similarly End time). I am trying to write a program where I want to read the contents of this entry. However the data here seems encoded in some manner and is not directly available in ASCII or any printable form. For example for an appointment that I know starts at 7:30 PM on Jan 30th, 2009 the data here (in hex) is 00 30 3E 62 07 7B C9 01. Does anyone know how to decipher this? I tried looking at lot of such entries for lot of appointments and tried to discover the pattern to figure out how to interpret this. Does anyone know how to do that. Is there some Windows mobile internal documentation that can throw some light on how the date/time information is encoded? Would appreciate any help
Help with UC and xml.
Hello I'm trying to use xmlprovisioning to customize some features of S2U2. An example of one key I'm having problem with is the following: <parm name="ShowOwnerInfo" datatype="binary" value="01"/> I just cannot get the value of 01 to stick. When I go back into S2U2 registry setting it is still showing as value not being set (according to CeRegistryEditor). I don't have any problems changing other datatypes, such as: integer and string. Am I don't something wrong? Thank you in advance for all you guy's help. Okay, I think I found out the reason: "Binary values are a PITA since they're encoded Base 64 (see my entry for Owner Information above). If you want to set owner information as I did in the example, then you need to convert Unicode to Base64." from: http://forum.xda-developers.com/showthread.php?t=366337&highlight=user+customization+binary Can someone walk me through how to do this?
Is this any good? Unicode to Base64 Convertor
Thank you for the suggestion. I have already tried the tool, but what it gives me does not generate the effect that I'm looking for Maybe I need to manipulate the value some how and then put it into the encoder??
Hi, just an idea: Binary data are hex ... so i attached a little txt ... just rename it and import to your registry. It show how Binary-Values work (as far as i understood them ) In HKLM you'll find a Key (Folderlike) called "fwt" Therein are three values 1. Capital 2. SmallLetter 3. Test 1. => FWT as binary data => 46,57,54 2. => fwt as binary data => 66,77,74 3. => all signs (letters, numbers, symbols) from 00 to FF Space is 20 CapitalLetter start with 41 SmallLetters start with 61 Just use CeRegistryEditor and you can see them clearly . I hope this helps!