Compare DLL versions - Windows Mobile

Is there a program that compares two dlls and gives their versions, so as to know which is newer?

see the kitchen tools repository thread (if the answer is there please read first) maybe windiff can do that

You could try peinfo; it might tell you the version number (it dumps a lot of info, it must be in there somewhere). Here's an EXT of it. On you PC, PE Explorer probably will do what you want, or maybe reshacker (maybe not).

Resource Hacker 3.4.0 doesn't give such info.
PE Explorer 1.99 b2 gives a lot of info indeed, but not version.
Maybe it is called different but i didn't find something similar.

Version info is only going to be put in a DLL if the programmer specifically put it there, it is not generated automatically. In PE Explorer it would be found in the resources section (As it is stored in an executable as a resource)

Da_G said:
Version info is only going to be put in a DLL if the programmer specifically put it there, it is not generated automatically. In PE Explorer it would be found in the resources section (As it is stored in an executable as a resource)
Click to expand...
Click to collapse
Thank You Very Much.

Related

n00b question about adding my own programs

Okay I understand you have to use mkrom and Linux (or cygwin on Windows) to roll your own ROM my question is regarding how one could say remove one program from the SE ROM and include something else, for instance take off the byte counter and put another different counter on or such, would you just copy the necessary files (.exe and dll's) to the files1 or files2 folder and that's it ? What more is involved? Thanks in advance!
for simple programs, that is all there is to it.
some might need more research, as to which registry settings need to be tweaked to get te program to run from the windows directory. and what settings it needs to run at all.
You copy the files to either files1 or files2. Both sets of files end up in the \Windows subdir. So if you do not want to copy the files to RAM (see below), you should make sure the program is set to run from \Windows. Then you add any necessary registry keys to "default.reg", and any file-copy or directory creation commands to initobj.txt. Then run "mkrom <ROMfile>" and hey-presto.
Thanks so much for all your guys awesome work!!
entropy1980 said:
ok sounds good, what would one need to do to mod the registry for the programs (By that I mean prior to booting) I don't want to be mucking around with a reg editor after the device boots just to get the progs to work...
Click to expand...
Click to collapse
Not sure I understand the question. Default.reg just holds the entire registry as present after a cold restart. So if you put something in there, this will be in the registry when the device wakes up.
I think we wrote at the same time , so you answered my question before I posted it !!! What you said made complete sense! Thanks!
entropy1980 said:
[...]so you answered my question before I posted it !!! [...]
Click to expand...
Click to collapse
I installed the phpBB telepathy mod a couple of days ago, so I guess it's working.
Hey I knew you were going to say that.... :lol: :lol:
hi,
i want to add the skelmir java virtual machine (thats default installed in windows\ceej) and copy the swingall.jar in the windows\ceej map.
I have the cab file of the virtual machine but i can't find out which files are in it (when i open it with cabextract is shows .001 files and not the files that i find back in the device)
please help me
Using Special Edition ROM, Tthe CabInst tool will run CAB files on the device if you move it there manually and double-tap it. It allows to set a new directory to install in.
Also the System Snapshot tool will write a file in the root of the device which holds a list of the entire filesystem and registry contents, so you can compare and see what changed. UltraEdit for the desktop has a compare function.
Good luck...
hi,
i installed it to a seperate directory and zipped the files. i also took a snapshot when the xda was fresh and after install. i only can't find where the xda's gets is files from in:
43 <! [\Windows\AppMgr]
8544 <! 31/12/2002 12:31 1632 FC0E9EE1 Skelmir CEEJ Virtual Machine.DAT
8576 <! 16/02/2003 23:10 27 AEBB1DF3 CEEJ.lnk
8587 <! 16/02/2003 23:10 40 1EAF4EB3 CEEJ Examples.lnk
8588 <! 16/02/2003 23:10 27 AEBB1DF3 CEEJ.lnk
because these are not in the map where i extracted the cab file too. maybe you can take a look for me and tell me what i have to change in mkrom to have ceej by default installed
the extraced cab map:
http://www.devosjansen.nl/xda/java installed.rar
the snapfiles:
http://www.devosjansen.nl/xda/xda snapshots files.rar
thanks in advance
laurens0619 said:
hi,
i installed it to a seperate directory and zipped the files. i also took a snapshot when the xda was fresh and after install. i only can't find where the xda's gets is files from in:
43 <! [\Windows\AppMgr]
Click to expand...
Click to collapse
These files are generated during the install process, and contain uninstall information. You do not need to write them if you install in ROM, since you don't need/want your programs to show up the in the 'Add/Remove Programs' dialogue.
ah i understand,
so i just put the files in the files1 or files2 directory and add this reg files to the default.reg? i dony really understand the readme file
ah little kick,
isn't also good for the next SE rom? because you have finally a java virtual machine on the xda and the app is freeware (got it from www.skelmir.com)
laurens0619 said:
isn't also good for the next SE rom?
Click to expand...
Click to collapse
Noted...
nice but can you please help me out for the moment? i dont know which part i must add to the default.reg file
laurens0619 said:
I dont know which part i must add to the default.reg file
Click to expand...
Click to collapse
default.reg holds the registry that is present when the system wakes up from cold-boot. So any registry entries your installer (or first run of the app) has made that you would like to have present should go in there. Clear enough?
almost
so i just copy paste the **** at the end of the reg file? and the files in the files 2 map
but how will the rom know where to put the files??
sorry if i'm stupid but i don't want to f*ck my rom so i can use me xda's as a frisbee
Yes, the registry entries can be pasted at the end of default.reg. It doesn't matter if there's earlier entries with the same values, since the latter ones override.
All files in files1 and files2 will end up in \Windows, and if you want them somewhere else, (where they'll take up RAM), you must manually copy them (or pre-made links pointing to them) by issueing commands in initobj.txt.
Take a real close look at initobj.txt, and you'll get the picture.

Checking DLL EXE version

Dear Dev,
How to check pocket app dll or exe version from the desktop and from the pocket, preferable without installing complex development tools.
Thanks,
Right click, choose properties, and choose the "Version" tab if it's available.
Not all apps are compiled with this information built in, but if it's there, it's there.
Resource Hacker will let you edit/view this for free.
V
Thanks V, I downloaded Resource Hacker but it doesn't work with pocket dll or exes is there a pocket version?
Not as far as I know - not impossible to write though.
V

Problem changing string in tapres.dll.0409.mui

I'm having trouble modifying a string in tapres.dll.0409.mui. I've tried changing the string, even just one letter, in PE Browser and even hex editing.
I've tried signing the file with various different certs, but nothing helps. The file does not work when I boot up with it.
What am I missing here?
fluxist
Several things:
1) Were did you get the original file? The file may be corrupt to begin with.
2) You need to remove the signature (if any) before editing the file or it will be permanently ruined.
3) It is recommended to use Platform Builder to edit MUI files (you can download evaluation version from MS site for free).
Hope this helps.
levenum said:
Several things:
1) Were did you get the original file? The file may be corrupt to begin with.
2) You need to remove the signature (if any) before editing the file or it will be permanently ruined.
3) It is recommended to use Platform Builder to edit MUI files (you can download evaluation version from MS site for free).
Hope this helps.
Click to expand...
Click to collapse
I extracted the file from an RUU. I've been editing it with Visual Studio 2005.
I've tried removing signatures, when present. I've been using UnSigner for that.
It seems that even without editing it, just copying it into /Windows and overwriting the original causes the same problems. I've tried signing it with different SDk certs, also importing the certs to the device, and that doesnt help.
I read in a thread that you need a dll file with an intact PE header, so I've tried removing the resources from another dll and adding my resources to it, but that didn't work either.
Has anyone done this before who can chime in?
fluxist
You are correct about the PE header.
Strange, moving the resources in to a clean DLL should have worked.
Two more things I can think of:
1) What OS is the original DLL for and what SDK did you compile the clean DLL with?
For example WM 6 DLLs will not load on WM 5, and in some cases WM 6 refuses to use WM 5 DLLs as system MUI.
2) If you can, make a simple app that will call LoadLibrary and see if you get an error loading the DLL.
if there is an error it means the DLL is still corrupt for some reason, if not it is most likely some kind of signature / permissions problem.
MUI files usually have only resources.
You can try re-dump it using my ROM Extractor.
When you can try to edit it again.
Some editors rather often corrupt files.
Try different resource editors.
levenum said:
Several things:
1) Were did you get the original file? The file may be corrupt to begin with.
2) You need to remove the signature (if any) before editing the file or it will be permanently ruined.
3) It is recommended to use Platform Builder to edit MUI files (you can download evaluation version from MS site for free).
Hope this helps.
Click to expand...
Click to collapse
Can you guide me to Platform Builder download, i have tried to search for it, even on MS site, and i found sdk stuff, not a debug software that can edit MUI.
So, please, help me...

[HELP] How to register a dll?

I try to create a program which consists of
.asx files (to show online tv channels),
.lnk files (shorcuts to the .asx files) and
a .dll file which contains only some .ico files (icons of the tv channels).
I added all these files to a cab using WinCE Cab Manager and tried to install it on my ppc. So far so good. The problem occurred when the message “The program can not be installed. Choose another location” appeared during installation, just after the process bar was filled.
Although I have no idea about computer programming, I have created many cab’s with WinCE Cab Manager for skins I have created for several programs. Anyway, I realized that the problem occurred due to the .dll file, since this is the first time I add such a file in a .cab.
I created my .dll file using a .dll from another program which had only icons in it, as well. I deleted them using Restorator 2007 and I had an “empty” .dll sized 4KB. Then I added my icon files using XN Resource Editor.
I searched the Internet to see what might be the problem with the .dll and I found out that I have to “register” my .dll file. I really have no idea what this means but it needs to be done. I also found an option in WinCE Cab Manager for “self-registering” file, but it didn’t work either.
So, the question to you dev guys is how can I register my .dll file, or should I create it from the beginning with another way?
Please help! Thanks in advance!
sorry to repost but it seems that posts keep coming in this forum and this thread is already in the second page and I'm afraid that noone will see it and reply to it. By the way, is there any special sub-forum for such questions?
This may help. I use his instructions to edit existing DLL's
http://www.modaco.com/content/i9x0-...88904/lisbian-taskbars-for-i910/#entry1023568
It will unsign the dll which will probably fail on your custom dll but it should sign it when you are done editing.
NilsP
Many thanks for your suggestion but unfortunately it didn't work for me.
As you said, this is mainly for resigning already signed .dll files.
Any other help will be appreciated. I can attach it here if anypne is willing to help. Or just tell me the way. Thanks!
I deploy a few dll's with my app, without any problem. If the installer complains about the location, what did you specify where it should go?
There are 2 approaches to solve this problem:
1.) If you have a private key to match a certificate in the device's certificate store, sign the .dll and .cab with this private key and it will be installed with elevated privledges, and be successful. To facilitate this you can install the "SDK Certificates" - and sign with the matching private key (you should be able to find these on a search, term "SDKCerts" or similar)
2.) Look for an "Application Unlocker" or other security reduction tool, run it, and you should be able to install the cab. On this note, if you check here, it will give you a more technical overview of the security policies. You want to change 4101 / 0x1005 to "SECROLE_MANAGER" (8) - which tells the system to install it with elevated privledges. Also make sure 4102 / 0x1006 is set to 1 to allow unsigned applications.
6Fg8
I don't believe that is the location I specified that causes the problem because when I deleted the .dll file from the .cab, it was installed properly. How do you create your dll files? With programming or you just edit existing files? If I send you my .ico files, will you be able to create the .dll file for me?
Da_G
Thanks but both approaches seem very complicated for me!
So, will I need Visual Basic in order to do this or is there any easier way? Can anyone sign the dll for me?
angelos_cy said:
6Fg8
How do you create your dll files? With programming or you just edit existing files? If I send you my .ico files, will you be able to create the .dll file for me?
Click to expand...
Click to collapse
Yes with programming, C++ or .net. Never had any issue with signing. I can try to make a dll if you send me the icons (or post them here if they aren't too secret ).
6Fg8 said:
I can try to make a dll if you send me the icons (or post them here if they aren't too secret ).
Click to expand...
Click to collapse
I have sent them to you by pm. They are not secret at all but I will create a "program" (wannabe ) with that dll and I want that program to be a surprise for users of the forum where I'll post it. I may post it on xda too, but it's nothing important.
Many thanks!
angelos_cy said:
The problem occurred when the message “The program can not be installed. Choose another location” appeared during installation, just after the process bar was filled.
Click to expand...
Click to collapse
This happens because you've changed resources in signed file, which changed file checksum and invalidated it's signature, and Windows installer refuses to install file with invalid signature. But it won't refuse to install this file WITHOUT signature at all - so use unsigner (search for it on XDA) to remove signature completely; if you encounter error, try to remove signature from original (unmodified) file, and then change resources in it...
6Fg8
the_ozyrys
Thanks to both of you!
6Fg8 has created and signed the dll for me and it finally worked, but I also tried the_ozyrys' method and it also worked.
So thanks to baniaczek too, since he created the unsigner.exe.
Everything worked fine with the dll. Now the cab is installed properly.
However, I have another problem. Just after the installation of the cab on my ppc, it seems that the device freezes for about a minute. This is propably because my cab contains a lot of shortcuts (.lnk files) that go under Programs folder.
So, I would like to ask for another favour, if it's possible. As I said I intend to give this cab to others too. Since this delay can make them believe that my program has freezed their device, I would like to make the cab restart the device just after installation and after uninstallation as well. I think this is made with the "Setup.dll" which I don't know how to create.
If anyone knows how to do this and has the time for it, could you please create this setup.dll for me. If the cab is needed to do this, just tell me to send it to you.
Thanks in advance!
Anyone? Plzzzzzzz!
If you want to sign .dll or .exe u can use the apps posted in the two posts below
http://forum.xda-developers.com/showthread.php?t=432041
or
http://forum.xda-developers.com/showpost.php?p=3530246&postcount=18
raykisi
Thanks for your answer but 6Fg8 and the_ozyrys already helped me on that.
My question now is how to create a setup.dll in order to make my .cab to prompt the user to restart the device after installation and uninstallation. If anyone can do it for me, I can send you the .cab which I alreday created and you can add the setup.dll with those functions.

[Q] Creating a rom with a blank contact list

ATT ships at least some of their Windows Mobile phones with a pre-populated contact list to a bunch of their services.
It is probably pim.vol which is not in the pda.bin, but is found in the root of the storage system after startup.
The goal is to have a blank contact list after hard reset or burning.
Is this something that can be accomplished in one of the control files during cooking or is it possibly a case of overwriting a default pim.vol that is copied from the extended rom during hard reset? The data does not appear to be in any of the *.rgu, *.xml, initflashfiles.dat, *.provxml files.
This is the last trace of ATT customisation in the current custom rom and it would be nice to get rid of it.
AT&T stores them in the file default_contacts.xml
I don't remember which OEM folder it is in, but you should be able to find it. I just create a blank file with the same name and store it in my personal EXT folder. That way it overwrite the AT&T file.
Thanks for your quick reply.
There is no file named default_contacts.xml in the dump here.
The dump is of the pda.bin only because that is all that is available for that version in vanilla factory form.
When you say "OEM folder" is that in some other area of the rom?
Are you cooking a ROM or what exactly are you trying to do?
In the kitchen, the file is in the OEM\<Device Name>\OEM\409\OperatorPkg folder.
If you can't see the file in your kitchen, make sure you have your file explorer set to show all hidden files as well.
I can assure you that the file is there in my kitchen and I just dumped it from the new Tlit2 ROM. Was also there in the original stock ROM for the Tilt2
I'm cooking a pda.bin which is loaded using USDL Grandprix.
The source is a dump from a Samsung Epix device, not the update file.
This is because it is an Omnia kitchen which does not seem to know everything about the file structure, but is able to cope with the pda.bin in both directions when supplied with an OS.NB from a rom dump.
Exploder is showing all files with hidden and system attributes. attrib.exe was also used to double check for the existence of the file in the entire tree.
There is no OEM directory.
If the OEM directory actually represents another partition on the flash, then which one?
All WinMo devices are similar. Find where all the pplication packages are (EXT) and there shoud be one with all the AT&T customization.
DJGonzo said:
All WinMo devices are similar. Find where all the pplication packages are (EXT) and there shoud be one with all the AT&T customization.
Click to expand...
Click to collapse
Well of course they are. They all start with the same code base from Microsoft.
The point of the question is to find out whether the files are in a partiition that the software has not managed to dump.
Post your stock rom and/or dump please.
plumsauce said:
Well of course they are. They all start with the same code base from Microsoft.
The point of the question is to find out whether the files are in a partiition that the software has not managed to dump.
Click to expand...
Click to collapse
Post a dump then buddy.
What you should do is just look in the \windows folder (you can flash the rom, right?) and then just copy out all of the provxml's and xml's. Look through them, and you'll probably find the one that's buggering up pim.vol. My guess is that it will have a name suggestive of its purpose.
If you have mortscript, then you can just do it automatically with this script:
Code:
XCopy("\Windows\*.provxml","\Temp\",TRUE,TRUE)
XCopy("\Windows\*.xml","\Temp\",TRUE,TRUE)
They'll end up in the temp folder; you can copy them to a pc and then open all of them up and search for the contact names.
Farmer Ted said:
What you should do is just look in the \windows folder (you can flash the rom, right?) and then just copy out all of the provxml's and xml's. Look through them, and you'll probably find the one that's buggering up pim.vol. My guess is that it will have a name suggestive of its purpose.
If you have mortscript, then you can just do it automatically with this script:
Code:
XCopy("\Windows\*.provxml","\Temp\",TRUE,TRUE)
XCopy("\Windows\*.xml","\Temp\",TRUE,TRUE)
They'll end up in the temp folder; you can copy them to a pc and then open all of them up and search for the contact names.
Click to expand...
Click to collapse
Yes, flashed it 20+ times yesterday while debugging
The latest is that there are a couple of mxip*.xml files that appear in the root of the pda storage area. The content has not been looked at yet because it was discovered at the end of the session. But, one of them is mxip_initdb.xml. As you said, "highly suggestive". These files are not part of the dump. So, they must be getting copied or written by a process instead of being static.
update
actually, they are in the dump, just not *.xml, they are *.vol.
binary format, so I guess I'll have to troll around in there using a hex editor.
/update
The device already has a tricky piece of code. It runs a process on cold restarts that rewrites imei* files. The trick is to disable the process. Then, modified imei* files will work properly without being overwritten.
There are also some registry entries that cannot be touched on a flash/restart because there are insufficent permissions at the time. Entries that are known to work after reg unlocking will fail to work at that stage. Touching any one of the restricted entries with a mxip* file will fail everything in the whole file.
DJGonzo said:
Post a dump then buddy.
Click to expand...
Click to collapse
And what would you look for in the dump?
plumsauce said:
And what would you look for in the dump?
Click to expand...
Click to collapse
The stuff you've missed.
indagroove said:
The stuff you've missed.
Click to expand...
Click to collapse
wouldn't it be more productive to at least describe what area to look in?
plumsauce said:
wouldn't it be more productive to at least describe what area to look in?
Click to expand...
Click to collapse
You are saying that your stock device rom is different than most. Other chefs have already described what to look for. You have been offered help to look through the rom and the dump, but you seem to be declining the offers, so never mind.
indagroove said:
You are saying that your stock device rom is different than most. Other chefs have already described what to look for. You have been offered help to look through the rom and the dump, but you seem to be declining the offers, so never mind.
Click to expand...
Click to collapse
I have said that there are differences between devices. That would hardly be surprising. When someone says look for file "x" and it is not there, that would be a difference. It is then fair game to ask if whether it might be stored in one of the other partitions which has not been dumped.
If someone has said that they have checked from the root of the dump and double checked using a second tool, then that assertion is likely valid.
If you have no specific file or files to look for, then so be it.

Categories

Resources