[DEV] ROM Tools - Windows Mobile Development and Hacking General

Hi,
I'm currently working on a few tools, and want to know what features would be liked by cooks/users or anyone really.
The first tool is an exe generator for hot fixes. Simply put, you plug some files into it, and it generates an exe that can be run on the target device which will do all the hot fixes.
The advantages it gives:
No more cabs!
Can use a custom icon for the exe if desired
Things like messing around with setup.dll files doesn't need to happen, and an application can be launched after install if wanted
Files can be deleted
File properties can be changed
Can use XMLs
Can edit registry
Can install files
Since it's written in native C++, it should run without a hitch on WM5+ devices, whether or not they have .Net whatever...
The second tool is an AutoRun/UC/whatever like system that simply searches through a folder, finds all cabs/xmls/provxmls and then installs them. This means there's no reliance on autorun for parsing config files, or any other requirements. Again, it's written in native C++ so is better
Any suggestions/ideas would be welcome!
Oh, and once I've got slightly further, both these will be released as open source. Probably.

l3v5y said:
Hi,
I'm currently working on a few tools, and want to know what features would be liked by cooks/users or anyone really.
The first tool is an exe generator for hot fixes. Simply put, you plug some files into it, and it generates an exe that can be run on the target device which will do all the hot fixes.
The advantages it gives:
No more cabs!
Can use a custom icon for the exe if desired
Things like messing around with setup.dll files doesn't need to happen, and an application can be launched after install if wanted
Files can be deleted
File properties can be changed
Can use XMLs
Can edit registry
Can install files
Since it's written in native C++, it should run without a hitch on WM5+ devices, whether or not they have .Net whatever...
The second tool is an AutoRun/UC/whatever like system that simply searches through a folder, finds all cabs/xmls/provxmls and then installs them. This means there's no reliance on autorun for parsing config files, or any other requirements. Again, it's written in native C++ so is better
Any suggestions/ideas would be welcome!
Oh, and once I've got slightly further, both these will be released as open source. Probably.
Click to expand...
Click to collapse
Wow, this sounds very very promising. Can't wait!
dwizzy130

yeah some user friendly and easy to understand specialy editing the rom or making add/remove programs EASILY is the best specialy to noobs like me when cooking ROMS all in one tool with advance AI for error checking

Sounds very attractive. go on my friend.....

Sounds good mate

I'm looking for a tool to easily make a setup.dll. Like setup.dll maker/generator/wizard.
Seems the only tools I can ever found is from e-pocketsetup, but that company was sold to another company and the product was never available since then.
I know cooks hate a cabs with a setup.dll. But seems without setup.dll a cab installer can not execute some little complicated actions. And it is impossible to make a setup.dll without grasp a computer language like c++.
Edit: Found another one: setupdllcreator , but it's not strong enough and not freeware.
Edit: If these can be realized, a setup.dll maker is much less needed:
No more cabs!
Can use a custom icon for the exe if desired
Things like messing around with setup.dll files doesn't need to happen, and an application can be launched after install if wanted
Files can be deleted
File properties can be changed
Can use XMLs
Can edit registry
Can install files
Click to expand...
Click to collapse
But we need above mentioned fubctionalities to be DYNAMIC, like:
Can detect availability of certain reg entries or installed apps, base on the result to decide which variants of install files to be installed, or whether some supporting apps like netcf or mortscript to be installed. Or can detect device id, resolutions, drivers to decide what to do.
Otherwise it still can not completely replace setup.dll.
But if dynamic actions can be executed, wow that's a dream of developers & hackers and even common users can benefit from that, a real revolution !

woww can wait for realese

l3v5y said:
Any suggestions/ideas would be welcome!
Click to expand...
Click to collapse
So I'm posting my requests again, the idea is this: It will be much helpful if I can know what is happening/changed in the registry after I did anything to my WM devices. So maybe you can develop a tool to monitor & log the real-time changes of registry. Or at least we can have a registry-comparision tool on ppc.
Another thing is it seems we don't have a file structure viewer on ppc, not the stuff like total commander etc., want to export the file structure to a file like .txt or .jpg.
Update: Now my idea is clearer for this, what I suggest would be a System Snopshot program to realize this:
Can make a system snapshot to record the registry content, file structure, ram usage etc.
The snapshot can be initialized in the similiar way of CapSure screen capture program, i.e., a hardwre button, a fixed time, a screen tap, a program launch, etc., defined by user.
Can choose a full system snapshot or only on selected part of registr, file system etc.
Can generate a file containing the recorded system condition.
Can compare any two system snapshot result and generate a comparision chart/change log.
So I've posted my requests as per your request, whether or not you'll do it is not my business lol.
Update: Found SK Tracker, cost EUR9.95, so forget this one. Why I did not know it in the past?!

Related

Quick & Dirty Installer?

Got some files in a CAB I want to install on a number of units. I would "like" to create an installer that I just double-click on desktop & it installs via ActiveSync - simple. But I'm not a programmer - what would be the best way to do this? Prefer not to copy via explorer & click the CAB on the XDA unit & others may be doing this, so trying to keep it simple. Ideas/recommendations?
I brought Natural Installer a few years back and it has been the business. It is very simple to use, all with a windows interface and creates a single exe as you say that you just double click on to install.
Have a look here :-
http://naturalinstaller.com/
The site does not mention 2003, have you had any problems with that?
Can you define install location? SD Card
How does it deal with chaty cabs (those that want input).
I've had no problems with PPC2003, why don't you download the trial version and give it a go. Post a reply on this thread as to how it works.
As for chaty cabs I think you can make your own setup.dll but I don't know how to and have never done that.
All I wanted was a basic setup that could make directorys, copy files and set some default registry keys as needed, I found that Natural Installer did that very well. As for more advanced stuff I don't know - but as written trial it.
Well I downloaded it and played with it.
For me it seems to be a WinCabManager type appliction.
Yes you can copy files, set reg entries, make dirs, add icons.
All of this seems doable.
What I was hoping for was a selfextracting file that installs a few cabs and not the content of them.
With the BlueAngel you can set up a autorun that runs a list of cabs in the config.txt file. However for this you need to hack the reg to set the pointer for the autorun and config.txt.
I was hoping that this would be more down the lines of cabinstaller that allows you to define which cab you want were but alas does not allow you to define a list of what cabs you want in what location.
So problem for me not solved but thanks for the tip.
Hi Dave
Personally I use NSIS (Nullsoft Installer) - it is basically a very customisable installer which can be scripted to look like any other installer in existance, or you can make it look totally unique to you!
Another great thing about it is that you can make it install multiple cab files at the same time (it's just a case of calling ActiveSync with the cab file you want to install).
Best of all... it's free
Pope <><

Question - Handling software install exe file on ppc

Hey guys,
If there's already a way to do this, please tell me; otherwise, this could be a suggestion for some genius to try his skills at.
A lot of developers don't provide .cab files to install their software directly to pocket pc. So when you're browsing the internet on your device and you find a program you want to try out, you have to download the .exe file to your pc and install it from there.
Now those .exe files usually do nothing more than putting some help files on your pc and copying the .cab to your pda. So the .cab file is contained somewhere within the .exe installer, possibly in some encoded form I guess, but it should be possible to extract it, right? That way you could install software on the go, regardless wether or not the developer offers a cab file to download.
I can only make this suggestion... actually programming it is not my cup of tea. The last time I did any programming I was 13 or something. It was the early nineties and I was trying to make my own OPL version of Mortal Kombat on a Psion Organiser II 64. Killer graphics, man. Unfortunately it never got beyond beta.
Good luck...
well most of the exe files you install to your pc using activesync are just selfextracting zip files and if you rename them to zip you can often open them and copy out the cab file you want
i dont think the market for an install script / program generator for pocketpc is big enough for people to spend too much time developing it
and they can be pretty complex if you look at wiseInstall master on pc which have a world of option and it's own programming langauge of sorts
Thanks, I'll try that out.
It's more or less as I thought: since every install program is its own decoder/unpacker/etc., the form in which they're encoded can be different for every type of installer, and it would be very hard to cater for all the types out there. Oh well... pity...
A lot of people use the Open Source installer:
ezsetup.exe
You will see this almost everywhere. Even MS use it, despite their scourge of Open Source. It takes a CAB file, adds an End User Licence, a ReadMe, and bundles together into a program which dumps it's output as a cab on the device, then installs the cab.
Since this is open source, you can see exactly how it works here:
http://www.spbsoftwarehouse.com/products/ezsetup/?en
I am sure it would be simple to write a version which just extracted the CAB file from an existing archive.
Ben

small utility: cab batch install (a batch installer) with source

Introdution:
This small app will help you out when you have a bunch of cab files to install after flashing the new rom.
How to use:
1. Select or input a directory that contains a bunch of cab files.
2. Generate the list file that is [INSERT SELECTED DIRECTORY]\batch-list.txt. You can manually edit this file to select which to install.
3. Batch install. It will promot you if you really want to install that file.
Problems:
1. The small utility can not silently install cab files.
Todo:
1. More UI friendly to select the files.
Note:
I am rather new at windows mobile programming. I have learned it from scratch. The whole program uses pure C and winapi, no managed code, no MFC/ATL.
Acknowledge:
Thanks legedug for packaging the cab file.
Copyleft:
The source code is available, anyone can modify it and redistribute it. But you should contain at least a piece of my name in it and should distribute with full source code.
reserved for future.
Or no future.
thank you very much for this tool
Will try it! This will be super good as my P3600i constantly needs a hard reset due to all available roms are for P3600. I'll let you know how this go! Thanks
This will differentiate itself from other similar programs (TierAutoinstall) if it can popup when dialogs are displayed after installs on some cabs.
Tested. I really like it!
No bug so far and here are my findings and suggestions:
1. Yes we need silent installation
2. Pick a directory: this need to pick up sub-directories. My cabs saved in "Storage Card/PDA SW/Common". It won't pick up cab file in "Common" directory.
3. Some cab files require restart - If I choose restart now, it won't resume batch install. (I can choose not to restart now to by-pass it)
jackkkkk said:
Tested. I really like it!
No bug so far and here are my findings and suggestions:
1. Yes we need silent installation
2. Pick a directory: this need to pick up sub-directories. My cabs saved in "Storage Card/PDA SW/Common". It won't pick up cab file in "Common" directory.
3. Some cab files require restart - If I choose restart now, it won't resume batch install. (I can choose not to restart now to by-pass it)
Click to expand...
Click to collapse
Ok, you can manually input the directory. I do not know how to invoke folder selection dialog. If anyone know , please help me.
Nice!! Wish I would have seen it a couple of hours ago before I reflashed for WM 6.1
stanglifemike said:
Nice!! Wish I would have seen it a couple of hours ago before I reflashed for WM 6.1
Click to expand...
Click to collapse
You can try it next time
helloworld1 - this app is shining jewel in dull xdadev world.
kudos.
just improve it a bit(exit option, folder select dialog..)
nothin said:
helloworld1 - this app is shining jewel in dull xdadev world.
kudos.
just improve it a bit(exit option, folder select dialog..)
Click to expand...
Click to collapse
Thanks for your kudos. I will continue develop this little app making it better and easier to use.
First trying, put on \Storage Card\Program Files\CabbatchInstall and make it shortcut to \windows\Start Menu\Programs; it works
So I make it on cab file to put the programs such as above:
legedug said:
First trying, put on \Storage Card\Program Files\CabbatchInstall and make it shortcut to \windows\Start Menu\Programs; it works
So I make it on cab file to put the programs such as above:
Click to expand...
Click to collapse
Ok, thanks ,I will cab it next time.
I would welcome if this would install silently...otherwise its great because its so simple - no hassle like with sashimi, which is great, but too much work for the first time!
thanks man, this is actually exactly what i needed
im actually gonna flash today so I will your app a run and see how it works
however I have seen other tools like this or there about here on xda which use a combination of code and mort script for the silent install part
quick feedback ..the exit function don't work
absorber786 said:
im actually gonna flash today so I will your app a run and see how it works
however I have seen other tools like this or there about here on xda which use a combination of code and mort script for the silent install part
quick feedback ..the exit function don't work
Click to expand...
Click to collapse
Yes, I forget to add it. There is a big OK button to do that.
I fail to make upgrade recently because I don't have visual studio 2008 as in the lab before.
This one is written in pure C. So It can run without any additions.
laser21 said:
I would welcome if this would install silently...otherwise its great because its so simple - no hassle like with sashimi, which is great, but too much work for the first time!
Click to expand...
Click to collapse
It can not install things very silently. Because you have to select where to install.
My ambition plan is to parse the XML manually and let it really silent.
Now I don't have a Windows OS and Visual Studio. I will delay upgrade this software.
I have released the source, it is welcome for anyone to help.
Ok so i have tried it a couple of times..and after using the tool from v3patel(see my sig) im sorry.....
v3patel's is mortscript; quick and already allows for a silent install. However, my suggestion fro you to get the silent install working is to have a look at the command he uses in his script and see you can replicate it for your tool....
If it works, i will be more than to hard-reset my device to test...(and it better work lol)
helloworld1
excuse me;
can this be used to install all ones cab file apps etc, after a system hard reset if all cabs are say kept in a pacific folder for that purpose.
thanks

dummy.exe needed

Hello,
could I ask any of the developers here to create very simple exe file for me that would actually do nothing.
Just two features needed:
1. system will recognize it as executable
2. will terminate itself immediately.
I just need to replace real application with it on some occasions by script.
I tried all other options to conditionally block the autorun but this seems to be my last option and I was not able to find one on the internet.
Many Thanks
hmmm, Im not a expert in EXE files, but wont a empty text file renamed to .exe do the trick?
This seems like it will do what you want. VS2005 project attached. It includes a compiled file for WM2003, which seems to run on WM6Pro fine. So, this ought to work on anything from WM2003 to WM6.1Pro.
…fantastic. This is exactly what I need.
Many Thanks!
not the right place to post.
READ THE RULES
thank you

[DEV-UTIL][19.03.2009]DriverWiz - Make signed CABs from driver DLLs that work

Intro
Lately I've seen a lot of posts by people who are trying to replace WM internal or driver DLLs, either for hacking/testing or to release. Aside from the possibility they are just doing something that won't work in the first place, I've seen failure a lot of times because files aren't properly signed, or if they are, the certificate in question not being in the right certificate stores for it to have any effect. On some ROMs it will still work due to patched NK.EXE, on others it won't, its just not very reliable.
So, I present you with the correct way of doing this by means of a small tool that will do this for you: DriverWiz. It will take care of most of the stuff, and leave you room for additions. You will however still need some basic knowledge of the command line, if you don't have that, you have no business doing anything like this anyways.
Background
I use this technique myself all the time. When just hacking away, replacing system DLLs to trace calls, etc. It's also the same method used for the HTC-CA drivers and the ICS installer. This method works on most stock ROMs as well, though not on all of them (in rare cases some security policies are set that will prevent CAB installation)
Usage
It's fairly simple to use. Just extract the attached zip file somewhere, open the command promt, and change directory to where the zip was extracted. That's the installation part.
Now when you actually want to build a CAB file from a DLL, you use the DriverWiz.bat file.
DriverWiz v1.0 by Chainfire
Usage:
DriverWiz.bat "Description" "CAB-name" "DLL-name-1" ["DLL-name-2" ...]
Examples:
DriverWiz.bat "New DDI" "ddi.cab" "ddi.dll"
DriverWiz.bat "Two DDIs" "ddi.cab" "ddi.dll" "ddiaux.dll"
Click to expand...
Click to collapse
DriverWiz will take care of signing the DLLs, inserting the certificate, etc, and you will end up with a proper CAB file for this kind of thing. Just copy it to your device and run it to install.
#1. You need to put the DLL files in the same folder as DriverWiz. Do NOT include paths in your DLL names
#2. Include the quotes in the command like in the examples!
#3. The first time you install a CAB made by DriverWiz, your phone may still give you a certificate warning. This is normal, don't worry about it.
Caveats
While this method has never failed me yet, it is possible that some files cannot be replaced this way. Just a disclaimer
Modifying
DriverWiz bases the inf file it will create to build a CAB from on DriverWiz.tpl. If you need to add registry entries to your CAB file, modify DriverWiz.tpl before you run the batch file. You can make other modifications too, add files, etc. Just take care that you don't break it
You can use your own certificates as well, instead of the supplied "Dummy" certificate that comes with DriverWiz. The files you will want to modify/replace are DriverWiz.pfx (used for signing) and DriverWiz.xml (used for injecting the certificate). I'll see about finding a reference for how to do that online and posting the URL here (someday). Creating a new certificate from scratch can be a frustrating effort - make sure you got openssl handy
Changelog
19.03.2009 - 1.1 - Added some file exists checks and attribute changes
Download
Temporary PlaceHolder for more Info.
Whoo this is hot from the plate, looks very promising!
Driver testing withoud cooking! joohie
Well if you replace the wrong files you're still going to need to hard-reset to boot. I advise KITL before you do
Works flawless. You tha man.
Didn't work for me trying to cab up No2Chems Fast Charge battery divers.
ruskiyab said:
Didn't work for me trying to cab up No2Chems Fast Charge battery divers.
Click to expand...
Click to collapse
What exactly happened? Attach the files and such
It made the cab and all, but when I went to install it, the unsigned error message popped up just like when I tried it with WinCE cab manager.
That is perfectly normal behavior. The first time you install a CAB with this certificate it will not know the certificate. However, once you install it, the certificate will be injected in the right place, and the files signed with the certificate (the driver files in the CAB) will be allowed to be run.
It won't happen the second time you try it
So if I try to install it again, it'll work fine? is there aa soft reset required in between? I can replace these drivers manually by renaming the old ones and copying them over, the whole reason I want a cab in the first place is to facilitate the UC process when I flash a different rom
ruskiyab said:
So if I try to install it again, it'll work fine? is there aa soft reset required in between? I can replace these drivers manually by renaming the old ones and copying them over, the whole reason I want a cab in the first place is to facilitate the UC process when I flash a different rom
Click to expand...
Click to collapse
Actually it should just work the first time. Just click OK when the certificate error appears.
Nice nice nice work!
error message
I got error messages when creating a cab from a rilphone.dll. Does it mean anything, or are these errors okay? I guess I'm specifically wondering about the SignTool error. If its okay, then my cab should be good.
EDIT: I think I found the problem. I didn't have UAC disabled in Windows 7. I tried it again, after disabling it, and it works fine now. Thanks for the easy to use tool!
syntax for registry entries?
I was experimenting with creating a cab for the Rogers folks who need a specific rilphone for their Caller ID to work. There are some registry entries associated with this feature, so I was wondering what the correct syntax is for putting the registry entries into the .tpl file. I've tried a few different ways, and I've either a gotten a 'Registry section is empty' message, or a 'Registry has an unsupported registry root key' error. I'm sure its something really simple I'm missing, so any help you can offer is appreciated.
It just seems that since we now have this easy method to sign these dlls, so that they can be used in any ROM, that the Rogers people shouldn't have to jump through so many hoops to get it to work.
EDIT: Nevermind. I'm an idiot that didn't do a little bit of research. All is well now.
Excellent stuff, Microsoft may rant about this way of distributing signtool and cabwiz though.
Chainfire said:
You can use your own certificates as well, instead of the supplied "Dummy" certificate that comes with DriverWiz. The files you will want to modify/replace are DriverWiz.pfx (used for signing) and DriverWiz.xml (used for injecting the certificate). I'll see about finding a reference for how to do that online and posting the URL here (someday). Creating a new certificate from scratch can be a frustrating effort - make sure you got openssl handy
Click to expand...
Click to collapse
Here's an intro to cert stores for WM:
http://msdn.microsoft.com/en-us/library/aa458010.aspx
pfx generation is a 2-liner with openssl:
# Generate a CA certificate
openssl req -new -nodes -x509 -days 9999 -newkey rsa:1024 -md5 -keyout cert.key -out cert.cer -subj "/CN=DriverWiz"
# Convert to pkcs12/PFX format
openssl pkcs12 -export -in cert.cer -out cert.pfx -inkey cert.key
got error messages under vista sp2, any ideas?
I also get an error saying that the latest version of CAPICOM.dll is missing. The ones I can find for download from the internet are version 2.0.0, and the tool requires 2.1.0.1 or later.
Does anyone have the needed version of the dll?
EDIT: Found it, 2.1.0.2 version of the dll is in the attachment.
Time Saver !
Many thanks; DriverWiz /w the CAPICOM.DLL saved me about an hour of troubleshooting.
Cheers,
Thanks for the capicom.dll Even after disabling UAC in W7Rc1 it wouldn't go, so great to have it posted to.
Chainfire, which format should the Reg's be added?
I tried the default .reg formating just under:
[Registry]
[HKEY_CURRENT_USER\ControlPanel\Profiles]
@=""
"ActiveProfile"="Normal"
?
Scrap that i found the .inf format
[AddRegistry]
HKCU,"New Key","",0x00010001,1
Many thanks for this, i'll try to Point Driver replacing Sinners from now on to here.
Well INF files are a regular female dog.
If you rather use WinCE CAB Manager, the trick is easily done as well. I do not have it handy right here (I'm not at dev box), but it goes like this.
Put the DLL's and EXE's that need to go in the CAB into the same folder as DriverWiz
Execute the following command from the command prompt in the DriverWiz folder: signtool sign /f DriverWiz.pfx *.exe *.dll
Open your WCM/CAB with CM
Somewhere is an option for "Pre XML" (main screen IIRC).. click to add/edit, and load the DriverWiz.xml file
Save
signtool sign /f DriverWiz.pfx *.cab
Et voila. I should really make an update to DriverWiz to include CAPICOM and write a proper guide on how to do all this manually (including making your own certificates and such). It's easy if you know how
If you could insert another empty post for me at the top, that'd be great.

Categories

Resources