Can you extract a single-file app from another WM OS? - Windows Mobile Development and Hacking General

Here is what I'd like to do: I'd like to use Samsung Omnia 2's default Contact Manager with my other WM phone. So I copied the Omnia 2's contact manager program in the \Windows folder (SECContact.exe) to my other WM phone and tried to run it. But it only gives me a black screen.
I know you probably should install an app rather than copy the .exe file, but since it's only a single-file program, I was hoping this would work.
Is there any way to make this work? I really like Samsung Omnia 2's contact manager and calendar apps.

i dont know what wm phone youre trying but there are extracted samsung app in cab files floating around on modaco forum. that calendar is called touch calendar.. google search it

screwdriv said:
i dont know what wm phone youre trying but there are extracted samsung app in cab files floating around on modaco forum. that calendar is called touch calendar.. google search it
Click to expand...
Click to collapse
I'm trying to extract the calendar and contact apps.
Yes, I've seen them at Modaco.
But the problem is, they are not in CAB format. They are in just zipped files to be used when creating a custom ROM.
Is there an easy way to create an installable CAB file from these extracted files?

You got a black screen cos You didn't copy the corresponding DLL file(s) also. The ZIP files are not always for ROM creation, sometimes they are just for copying. And if You didn't find i8000 contact manager and calendar CABs, You didn't search enough, sorry.
For CAB file creation search for WinCECabManager.

If you have a PC with a Microsoft development environment on it, you can use the command DUMPBIN /ALL SECContact.exe to dump out the program's import table, which contains a list of the DLLs the program requires.
If you use a Borland/Embarcadero development setup, Rad Studio, Delphi, C++ Cuilder etc., TDUMP does a similar job.
If it has been written in .NET use Red Gate's .NET Reflector to open it up and see the address spaces it requires.

aiiro said:
You got a black screen cos You didn't copy the corresponding DLL file(s) also. The ZIP files are not always for ROM creation, sometimes they are just for copying. And if You didn't find i8000 contact manager and calendar CABs, You didn't search enough, sorry.
For CAB file creation search for WinCECabManager.
Click to expand...
Click to collapse
Well, I did get the i8000 contact manager and calendar apps from Modaco, but they result in the same black screen also.
http://windows.modaco.com/topic/298414-cabs-repository/
Is it possible that these apps are supposed to work only on Samsung phones from the beginning? It's conceivable that these apps check the device first and decide to operate or not based on the device.

stephj said:
If you have a PC with a Microsoft development environment on it, you can use the command DUMPBIN /ALL SECContact.exe to dump out the program's import table, which contains a list of the DLLs the program requires.
If you use a Borland/Embarcadero development setup, Rad Studio, Delphi, C++ Cuilder etc., TDUMP does a similar job.
Click to expand...
Click to collapse
You do NOT need these development environments to examine native apps, you simply need CFF Explorer, and the best is, it costs nothing because it is freeware!

Why do low-level actions on .exe analysis if probably the packaging on the donor device has done already all you need? A rough workflow could be:
Get the .nbh from the donor device
dump it with e.g. OS Builder
identify the package with the application you need
You could also pick it from a kitchen for the donor device.
It will require effort to analyze the dependencies (.rgu, .provxml) and linked .dll.
In general there are apps that are easy to get and others are difficult, no simple rule here.

@jwoegerbauer Good point!
CFF Explorer is a nifty bit of work for a freeware program.
Click on the Dependency Walker tree entry to see what the program requires.

My view of the things
tobbbie said:
Why do low-level actions on .exe analysis if probably the packaging on the donor device has done already all you need?
Click to expand...
Click to collapse
An .EXE (always by default) relies on COREDLL.DLL, regardless the .EXE is written either in managed or in native code, but COREDLL.DLL is not COREDLL.DLL. It is alone OEM's decision what functionality to pack into device's COREDLL.DLL . Means which API-functions COREDLL.DLL exports.
This also is known as OS's license level. For a core version, i.e small function range, OEM (actually) has to pay Microsoft a license fee of $3 USD, a pro version, i.e full function range, (actually) costs $16 USD.
This in mind, you first of all always have to compare the unit's COREDLL.DLL's export table and the .EXE's import table, if an .EXE will not run, hereby mostly reporting an error like "components missing".
Resume: Only if you find the APIs imported by .EXE in COREDLL.DLL's export table, the .EXE runs.

Related

Best option for true VGA, is there anything in development?

I do a lot of surfing, and i hate side scrolling.
Also the today screen can show so much more in VGA. sigh...... anyone have any ideas?
cheers
It's being worked on by various parties. Still not fully working.
Is the Today screen normally QVGA then? Yikes.
I'm sure I used a Toshiba once at the Tate Gallery that had a VGA today screen. Damn ugly and corrupted to hell, but VGA.
What about with WDA?
V
The device displays in VGA but all of the text and graphics are scaled to be the same size as if they were on a QVGA device.
It means that everything looks nice but you still have the same amount of screen real estate.
I'll have to look into that.
V
Read this vijay http://www.aximsite.com/boards/showthread.php?t=98163
I've got WM5 to switch to VGA mode but none of the icons display properly as we don't have reliable versions of the icon files nor can we work out how WM5 calls the dlls based on resolution as it appears to be different to WM2003SE.
I have a Wizard sat here and if someone can tell me how to rip the dlls I will do it. I'm deperate for a VGA hack for my Exec.
rilot - thanks for the link, an interesting read.
Aren't the WM5 dlls signed now? Would that make a difference when resource editing? Never used a signed device (after the spv) so no idea what I'm talking about.
V
Hi,
check out this thread:
http://www.ppc-welt.info/community/showthread.php?t=76001&page=2
There is an English answer, in which is explained why it is difficult to implement the correct Dlls.
A short summary:
The dlls have to be certified with an privileged certificate, or some dlls won't be loaded.
There is also an explanation how to solve this Problem.
If you want the corrected dlls, answer in the German forum.
Bye,
Dirk
maybe some german member can translate and put it into easy way for us to do the necessary
some snippits translated from bablefish
This is a short explanation over it, why ozVGA reduced on the MDA pro with WM05 functions only to go around inclusive of theoretical solutions around the problems mentioned.
I make on it attentively for everyone for its doing responsible am. I do not take over any warranty all statements made here am correct, and I refer expressly to which I reject any adhesion for the consequences of the practical conversion of the realizations made here.
Who a spelling mistake finds may it keep
Why ozVGA only reduced on the MDA does pro function?
1.WM05 possesses a certificate oriented Security system. Who itself in the detail interested in it can read some in the MSDN over it. I would like to deliver concerning this no extensive explanation. In practice this means to be loaded dll's during the boat procedure is to be certified to have. This is e.g. preventing harming software (viruses etc..) the system to compromise can. In the case of ozVGA this does not lead to it that necessary resources files of the type * 96.dll to be however also loaded. However this does not entail that the MDA on high resolution switches (pure Registry attitude) necessary resources for Icons etc. finds. Thus the appropriate positions on the display remain free, and some programs do not function or only reduced.
= > a certificate on the MDA pro must be installed.
= > all dll's during the boat procedure to be loaded are to be certified, must as privileged.
2.Die of ozVGA provided files of the type * 96.dll can do even if it are certified are only badly used, since they do not make all necessary resources available for WM05. The files of the type * 192.dll which in the majority on the MDA pro in the ROM are present make available resources for the emulation of QVGA on the physical VGA display.
= > WM05 conformal * 96.dll files are needed.
Simplest solution for problem of 1:
The Windows mobile 5,0 SDK of which of Microsoft to be freely downloaded can contains in the file SdkCerts.cab certificates directly on the MDA to be installed to be able. These are intended actually only for the development. One must be conscious over it which one with the installation a back door into the Security system of WM05 tears, since each by the key publicly accessible in the SDK certified DLL or also exe file receives now free entrance to the system now. If the certificates on the MDA are installed, must (correct s.u.) * 96.dll files with the SDKSamplePrivDeveloper.pfx key to be certified. Whom in the rest of the msi Installer of the SDK for any reasons should not assure, can the necessary files also with a Tool like "Lessmsierables" unpack.
Around * the 96.dll now still the in such a way specified will certify files signtool from Microsoft needed. This one finds e.g. in the NET Framework SDK 2,0 which freely with ms to be downloaded can. With the command (here by the example of shellres.96.dll)
signtool sign /f SDKSamplePrivDeveloper.pfx shellres.96.dll
must now the necessary * 96.dll files be certified. Only now these may be copied in \windows the listing of the MDA.
Solution for problem of 2:
I do not know a source for * 96.dll files, therefore am one probably forced these to be provided. Already far above in this Thread published and/or with xda developers available WM05 dll's cannot be used unfortunately directly. To these probably with dump Rome from a WM05 update won files are missing - admits so far to me - certain information to code and data segment. That seems to be the reason for it that these files cannot be certified, and thus only is once useless. It is however possible with the free Tool "resource hacker" all resources the this dll's for the order places to extract and on plate store.
Around itself own * 96.dll to build one needs the Embedded Visual C++ 4,0 as well as the likewise free Windows mobile 3,0 SDK freely placed from ms to the order for pocket PC. Hereby a "simple Windows CE DLL" project (e.g. with the name shellres.96.dll) can be provided automatically. This would have to be only added then appropriate resources, and afterwards the whole to be simply compiled. The result would be then a finished shellres.96.dll which according to upper pattern be only certified must, and from it in \windows the listing can be copied. This file is to the system then after a soft RESET at the disposal.
I times the trouble made yourself and the description volatilely into the English translated. Please postet you times with xda developers.
[ BEGINNING ]
This is translation from German (thx tons luckychild) ton english by felixlein. Because OF the nearly translation, the english
shouldn't correct all the time. Some intelligently more programmer should take this information ton create A free program like
ozVGA.
[ MDA PRO ]
The MDA pro is the (German) t-mobile version OF the HTC Univsal.
[ LET'S GO ]
This text explains you why ozVGA is just working limited on A MDA pro Windows mobile 5 DEVICES and shows you some methods OF
resolution ton avoid thesis of problem.
Roofridge I want ton explain that everyone is himself responsable for his doing. I don't take the guarantee for the validity OF
the content. DO it on your own risk!
Why of does ozVGA is working limited on the MDA pro DEVICE?
[// ] 1. Windows mobile has A certification orientated security system. (Who's interested in CAN READ more RK MSDN about it).
I don't want ton give A complex explaination. The practice experience is that the dll's loaded during the "boat OF the DEVICES"
had tons certificated. This method should avoid painting commodity (f.e. A virus) ton of GET ACCESS ton the system. In the case OF ozVGA it
prevents OF loading the necessary files (* 96.dll). The result is that the MDA pro DEVICE switches into the of bigger resolution
(A just registry CHANGES) find but can't the needed resources and icons. Many position acres left brightly on the display and many
programs doesn't work or work restricted.
= > A certificate had ton in valley LED
= > all dlls which acres loaded while booting had tons zertificated.
[// ] 2. The * 96.dll files which acres in valley LED by ozVGA can't being used even if they GET certificated because they can't
serve all needed resources for Windows mobile 5 (f.e. UMTS logo). The * 192.dll files whose acres the majority on the DEVICES,
provide the resources for the emulation OF QVGA on VGA display. (QVGA=320x240). Windows mobile 5 conform * 96.dll of acres
needed.
[// ] Solution for problem of # 1:
The Windows mobile 5,0 SDK, which CAN downloaded for free RK microsoft.com, contains A file (SdkCerts.cab) which bring
you certificates, whose CAN in valley LED directly on the MDA pro DEVICE ton UNLOCK the security system. Originally it is only
designed ton used for devolopment only. You had tons aware that you create A big gets into the Microsoft designed windows
mobile security system because every from now on every application GET full system ACCESS. If of all certificates of acres in valley LED,
all OTHER * 96.dll had tons certificated with the SDKSamplePrivDeleloper.pfx keys.
[ The msi Installer CAN avoided with A tool "lessmsierables", which CAN extract needed files ]
Ton certificated * 96.dll files you need the Microsoft signtool, which comes with the NET Framework SDK 2,0, whcih CAN
downloaded (thus free) RK microsoft.com.Example: Certification OF the shellres.96.dll into the COMMAND-PROMPTLY:
signtool sign /f SDKSamplePrivDeveloper.pfx shellres.96.dll
After the certification OF all needed dlls, the files CAN ut into the \windows folders RK the MDA pro DEVICE.
[// ] Solution for problem of # 2:
I don't know any SOURCE ton of GET * 96.dll files, thus you acres force ton create thesis by your own. The dlls published RK
xda developers which acres at extraction OF A Rome update can't been used directly. It seems tons A dump Rome. Afaik some code
and DATA segment information of acres MISSINGS. That seems tons the reason that you can't certificate them.
= > use them can't!
But it is possible ton create own DLL files with the free application "resource hacker" by extracting all resources
OF the dump Rome. Ton build own * 96.dll files use the free Embedded Visual C++ 4,0 (evc) and the free Windows mobile SDK 3.0
for pocket PC With it you CAN automatically create A "simple Windows CE DLL" project with the name OF the DLL (f.e.
shellres.96.dll). You just had tons of ADDS all dumprom extracted resources. Now you had ton compile the DLL RK read it had tons
certificated like described above. If you've done it with all DLL files you CAN PUT all into the \windows folders on the MDA
Per DEVICE. After A soft RESET you CAN use the file.
[ end ]
I hope someone wants solve both and serve A free solution. How ton of DO this is explained here by de_luckychild.
I've translated it into english and added some literature and SOURCES. Have fun.
[// ] literature/SOURCES
= > ozVGA Tool
http://oz.sciox.org/
= > WM5 Security system: http://msdn.microsoft.com/smartclie... /wmsecurity.asp
= > resource hacker
http://www.users.on.net/johnson/resourcehacker/
= > NET Framework development
http://msdn.microsoft.com/netframework/
= > dump Rome Dlls (xda devopers)
http://www.ppc welt.info/community/... achmentid=13491
= > Embedded Visual C++ (down load)
http://www.microsoft.com/downloads/... &displaylang=en
= > Some more downloads for dev on wm5
http://msdn.microsoft.com/mobility/... fault.aspx#wm05
hmm, my german is rusty, but my missus is fluent, so I'll get her to translate when she wakes up.
However, it seems Tokamak had the great idea to use the certificate that comes with the SDK to sign the dlls. This means they are recognised by the operating system and used appropriately. There still appears to be a problem with the Today screen due to msim.96.dll.
Great idea... however, it seems the installation is detailed, so I'll wait for the better half..
V
Hi,
the problem was, that the original ozVGA dlls weren't compatible to Windows 5, so we had to find new dlls, which were made for Windows 5 in VGA Mode.
We found an archive in this forum, that contained the necessary dlls. Now several problems occured:
Windows 5 requires special certified dlls, or they won't be loaded. So "Luckychild" had the great idea to certify the dlls with the SDK developer certificate. But the dlls, we found in here, didn't allow to be certified, because some version infos were missing. The next step was to extract all resources from the dlls and to compile new dlls with the correct version infos. The new dlls were able to be certified.
The big problem is, that the SDK Certificate creates a security hole in the windows system. It is advisable to build your own certificate to prevent thos hole.
Bye,
Dirk
Tokamak - so what is the current status? Do you guys have the complete set of dlls yet?
I'm sure you'll get them soon enough either way. Good work you guys!
V
@vijay555
The current state is that all necessary dlls work fine!
I can give you two links:
One link is for the dlls without the certificate and the other link is for the dlls with SDK certificate.
You can try the dlls without the certificate, but have to give up the usage of the msim.96.dll and the shellres.96.dll. These two dlls are responisble for the onScreen keyboard and the symbols in the taskbar.
The other option is that you use the dlls with the certificate. If you go this way you have to install also the SDKcerts.cab (included in the archive). This would create a security hole in your windows system.
There is still a third option we didn't try till now. You create your own privileged certificate and sign the shellres.96.dll and the msim.96.dll with it. This would prevent the security hole I mentioned above.
YOU HAVE TO CONSIDER:
=================
The files in the rar archives are not developed by Microsoft. These files are for the development. If you want to try these files I am not responsible for any damage!
Without the certificate:
http://rapidshare.de/files/7213214/welldone2.rar.html
With the certificate:
http://rapidshare.de/files/7212409/welldone.rar.html
PASSWORD: 4ppc
ozVGA:
http://oz.sciox.org/
ok, it does work, and it didnt nail my jasjar, its very high res!!!!!!!!
pics comming shortly, just installing soti and rebooting
heres resco explorer
I choose the with a certificate rar
this is very impressive. there's still some quirks around with oversized fonts here and there, but hey what a step in the right direction this is
Application instructions
How straight-forward was it to apply this? Is the icon issue resolved? I have downloaded the rar but not sure what to do next. Could you kindly tell us step by step instructions?
Thanks.
all the files from the rar into the \windows folder
then ran SdkCerts.cab
then i put oZvga into a temp folder and pressed the ozVGA button, JJ rebooted and all was didy size
most icons were fine
i must confess, i have now changed back, messenger refused to startup as did Pocket MSN, so odds are all MS signed apps will not run, bit of a pity but what an amazing start!!!!!
yay!! we have a good start.....
Hi All,
The limit has been exceeded for the dl of the cert file.
Could some one either send me the file or pass me a link.
TIA

Folder structures - can't see files from word or excel

Does anyone have a hack that would allow me to view and save data files at a lower folder than the first level?
I.e. my folder structure is \Personal\Financial\ but excel and word can only see files stored under \Personal\ and not the next folder down. I need to be able to access this second level from within the application.
Would be a great help to me.
If you haven't installed Mad Programmer's dialog changer, you're not using your pda properly.
http://www.pocketpcmag.com/forum/topic.asp?TOPIC_ID=17133
V
Thanks vijay555 but this is not in relation to installing apps.
There is a particular problem in WM2003 whereby if I store for example my pocket excel files in the folder:
\Financial\Spreadsheets\
I cannot access this folder from Pocket Excel but only from File Explorer. Pocket excel will only show the files existing in the folder "Financial" here. It means that when I create a new excel (or any other document) from within the application, I have to save it to the "financial" directory first, then manually move it to the next folder down.
Same applies to Pocket Word, Listpro etc files (any files in fact).
Paul
pauldcullen: although the link I gave is talking about installing cabs and stuff, Mad Programmer's dialog changer hooks into the OS and changes all of the rubbish OS dialogs (that only allow you to see My documents etc) and replaces them with the more advanced kind that let you navigate anywhere.
The link I gave is a useful one on installing the app itself, because Mad Programmer's website is generally Japanese. But hopefully, try installing the app and you should be able to navigate anywhere for saving files.
http://www.geocities.co.jp/SiliconValley-Cupertino/2039
Ensure you use the right version for your OS.
V
thanks a lot I'll give it a shot - any stability problems with it?
I've never had any and used it for > 1year on both Wm2003 and Wm5.
V
vijay I've installed it and it seems to work for SAVING new files into a sub-directory which in itself is great!
However, as soon as I OPEN pocket excel etc, I cannot see these files in the subfolders, only those in the parent folder - any ideas?
Thanks for your help!
Paul
Hmm, I just noticed that...
It seens mad programmer only hooked the saving, not opening dialogs.
Not the best option I know, but I never open files using word, I use gsfinder to locate them and open directly by double clicking.
Other then that, I don't think Word was "designed" to show the subfolders as you've got them configured. PITA I know.
V

Running PPC specific code on Smartphone device

Most of us are already aware that PPC and smartphone edition are similar enough to be mostly compatible in their apps across the platforms.
That is, with enough coaxing and the help of input simulators like SPHelper, I've managed to run almost any Pocket PC app on a smartphone device.
Well, until now.
I've officialy run into my first brick wall of sorts, and I'm hoping someone here can shed some light onto the situation.
Since the MS implementation of A2DP has quality issues, I'm trying to run MSI Blueplayer app ( found at http://cweb.msi.com.tw/program/support/download/dld/spt_dld_detail.php?UID=619&kind=8) on a smartphone.
Analyzing the cab, I extracted 4 .dll's that go in the \windows dir (msibtstk.dll, msibtapi.dll, CHS.dll and TW.dll), and two .exe program files that go in program files\msi\blueplayer (STLoader.exe, and MPOBCE.exe).
Now, normally its as simple as running the .exe, at least it always has been in the past.
However, every time I hit MPOBCE.exe, all I get is:
"Alert
Can't find MPOBCE or one of its components. Make sure the path and filename are correct and that all the required libraries are available."
Just to control this experiment, I copied the exact same files over to a PPC device and ran it to find that it DOES work.
Now, I've never encountered PPC specific code before- in fact, I didn't even know such a thing was possible. Has anyone see/heard of this sort of thing before?
Can someone help me take this apart and find out what makes it work on a PPC only? Perhaps a PPC-specific path (if there is such a thing)?
At this point, as much as I'd like to get this working, I'm just as much intellectually curious as to what would cause a program to only operate on a PPC installation.
Hello Dishe.
Your problem is simple: Certain DLLs that come built in Pocket PC version of windows mobile do not exist in the Smartphone version. An example is MFC DLLs.
What you need to do is get hold of 'dependency walker' which is a neat little app that MS incorporated in to VS 6 (though I understand it was written by an independent developer and should be available separately).
It will show you exactly which DLL files each exe is linked to. You then have to get a good copy (from a ROM dump) of the needed DLL and put it in windows directory.
Hope this helps.
That's a great idea. Thanks! I never heard of the dependency walker before, but it sounds like a perfect tool for this. I'll have to check it out on my office computer (I don't have VS 6 at home).
I wont be back in my office until wed., so if anyone had a bit of spare time, I'll attach the files here for someone to examine.
If anyone wants to look into it and tell me what dll's are required, I can get ahold of them from a healthy Pocket PC image.
Thanks!
This zip file has the two .exe's contained in the installation. I think only mpobce.exe is complaining about missing components, though.
Oops, apparently I should have checked first...
Dependency Walker is a free app. I downloaded it and tried it out.
It lists a bunch of .dll's, most of which I had on smartphone.
However, the two missing ones are:
mfcce300.dll
olece300.dll
Now, I'm not exactly sure what these do, so I need to look into it some more. Does anyone have any clue what these are for? If I copy them from a Pocket PC, will they operate on a smartphone?
Hi Dishe.
I guess I should have been more clear: Dependency Walker was written as freeware by an independent developer, but M$ liked it so much they decided to grab it for VS.
Any way, mfcce300.dll is MFC version for PPC (if you are not familiar with MFC, it's a collection of "ready code" that simplifies writing apps in c++)
It comes built in for PPCs but not for smartphones for some reason. If you have a good dump check that DLL with dep. walker as well, I am pretty sure it is linked to a few others.
olece300.dll - is a COM support dll. I won't even go there because I really hate COM (that's Component Object Model, not com port) and I am really not sure my self what the DLL does.
If you do get a good version of those two you should be able to get the app running.
levenum said:
Hi Dishe.
I guess I should have been more clear: Dependency Walker was written as freeware by an independent developer, but M$ liked it so much they decided to grab it for VS.
Any way, mfcce300.dll is MFC version for PPC (if you are not familiar with MFC, it's a collection of "ready code" that simplifies writing apps in c++)
It comes built in for PPCs but not for smartphones for some reason. If you have a good dump check that DLL with dep. walker as well, I am pretty sure it is linked to a few others.
olece300.dll - is a COM support dll. I won't even go there because I really hate COM (that's Component Object Model, not com port) and I am really not sure my self what the DLL does.
If you do get a good version of those two you should be able to get the app running.
Click to expand...
Click to collapse
Thanks for the help, I'm realizing there's a lot more to this I should have known before embarking on such a task. I've never had such a problem doing this before, I guess MFC isn't so popular!
Anyway, I need a good ROM dump, I haven't been able to aquire one. In the mean time I tried some files I found searching google... didn't expect it to work, but tried it anyway. Still complained of missing files- you're right, I'll bet MFC is calling more dll's as well that I need.
Perhaps there's hope...
You were right... I just needed more .dlls!
I found a whole series of .dlls required by mfcce300.dll that my smartphone was missing, so I put them all in the program directory and it opened!
Problem is, its not so stable... the files were pulled from a ce.net-4.1 set of files since I don't have access to a wm5 rom image.
One more thong I should have thought about earlier:
Some COM dlls, maybe even olece300.dll have a function called DllRegisterServer that writes them to registry as COM provider (under HKCR\CLSID).
Check to see if I am right using Dep. Walker and if so try to get regsvr32.exe or something similar for the PPC. (On a PC you use regsvr32 somedll.dll to register a COM server)
This may help with stability issue.

[SOLVED] Programs "Start Menu" from imported ROM

I hate to ask on here because I feel like the answer should be obvious but it hasnt been.
I imported the latest AT&T ROM for the Tilt 2 in to OSKitchen and have been customizing/modding the heck out of it. Added my own software, removed most of the AT&T crap. Changed SYS to 21916 and even 2019 Manila without difficulty.
What is stumping me? The stupid default shortcuts for things like ActiveSync or email setup , remote destop Windows Live etc...
Most apps I have changed the app.dat to modify location for most things that I kept. However I have searched in both sys and EXT for prov.xml files, reg files basically ALL file contents looking for the likes of the apps above and just CANT find reference to them.
Is there some default behavior that says if a .lnk file exists in windows make a shortcut in the root of "Programs" ? or what am I missing. (Even that doesnt hold water though because activesync is actually async.lnk.
I know I can use something like mortscript to just move them around but this is more about wanting to know what the heck I seem to be missing. Thanks in advance and hopefully this isnt a stupid question.
hx4700 Killer said:
I hate to ask on here because I feel like the answer should be obvious but it hasnt been.
I imported the latest AT&T ROM for the Tilt 2 in to OSKitchen and have been customizing/modding the heck out of it. Added my own software, removed most of the AT&T crap. Changed SYS to 21916 and even 2019 Manila without difficulty.
What is stumping me? The stupid default shortcuts for things like ActiveSync or email setup , remote destop Windows Live etc...
Most apps I have changed the app.dat to modify location for most things that I kept. However I have searched in both sys and EXT for prov.xml files, reg files basically ALL file contents looking for the likes of the apps above and just CANT find reference to them.
Is there some default behavior that says if a .lnk file exists in windows make a shortcut in the root of "Programs" ? or what am I missing. (Even that doesnt hold water though because activesync is actually async.lnk.
I know I can use something like mortscript to just move them around but this is more about wanting to know what the heck I seem to be missing. Thanks in advance and hopefully this isnt a stupid question.
Click to expand...
Click to collapse
Try look in the initflashfiles.dat file.
Lol sure enough. More proof positive that Win7 search is garbage. I had it search file contents but for whatever reason it didnt find those shortcuts because it didnt search that file and it is indexed.
You can change the name of the actual .lnk then using an app.dat rename it and place it in where you'd like. I was having this problem with WM Live so I renamed the actual "WLMLauncher.lnk" to "_WLMLauncher.lnk" and then added this line:
Code:
Directory("\Windows\Start Menu\Programs\Internet"):-File("Windows Live.lnk","\Windows\_WLMLauncher.lnk")
to an app.dat in the Start Menu section of my kitchen.
This way whatever is natively calling that link won't be able to recognize it anymore.
If you're simply having trouble finding all the .lnks, just search your SYS XXXXX directory for ".lnk" and that should pull up all the async and email links that you're having trouble with.

[XAP][SOURCE] Native Toast Notification Launcher

This is a very simple application that enables you to specify any kind of Uri to launch. This is done through creating a Toast notification that, when clicked on, will execute the specified Uri. This uses a native method outside of the regular SDK; the standard methods available in the SDK that you'd normally use to create a Toast notification are restrictive in what kind of Uri you can specify. By using the native method not part of the SDK, these limitations can be by-passed.
I've attached both the XAP and the source code. The source project contains three projects:
CShellChromeAPI: The C++/CLI project which calls the native un-documented method
NativeToastLauncher: The .NET wrapper which simplifies the interaction with the C++/CLI project
NativeToastLauncherApp: The test application used to quickly launch any Uri
You'll notice I've hard-coded a default Uri when you launch the application: this will open the Windows Phone 8 "About" page.
To run this, you'll need to side load the XAP which requires a dev unlocked device...
Can I use any system GUID to launch?
djtonka said:
Can I use any sytem GUID to launch?
Click to expand...
Click to collapse
Any registered app GUID yes. You'd do app://GUID/_default (or replace the _default with the particular task to run - in most cases, that's _default).
@cpuguy this is awesome, thanks!
If you guys are looking for GUIDS and default tasks, they are all in the app's WMAppMAnifest.xml. the "ProductID" is the GUID and the "DefaultTask Name" property contains the name of the default task.
Hopefully we can use this to find a program to exploit.
Sent from my Nokia 521 using XDA Windows Phone 7 App
Does anyone happen to have a list of the ID's for the system and settings apps? Obviously, I can't go into the code and get these without messing with the file system. If no one has them, then I can just trial/error until I get some...
If you download the registry hives located at http://forum.xda-developers.com/showthread.php?t=2393883 , you can load the Software hvie and search for "app://" That will give you a few system files you can launch.
EDIT:
I posted a zip file of the default ones in a new thread.
IF anyone has tethering blocked, see if you can get it to work by launching this URI app://5B04B775-356B-4AA0-AAF8-6491FFEA5629/Default
compu829 said:
If you download the registry hives located at http://forum.xda-developers.com/showthread.php?t=2393883 , you can load the Software hvie and search for "app://" THat will give you a few system files you can launch.
Click to expand...
Click to collapse
Im only seeing the app:// function used on the system settings options after going through the regsistries so far.
aclegg2011 said:
Im only seeing the app:// function used on the system settings options after going through the regsistries so far.
Click to expand...
Click to collapse
that's what I saw too. I am having way more luck finding cool stuff in the extracted ffu. Take a look at the zip file in the new thread I started.
compu829 said:
that's what I saw too. I am having way more luck finding cool stuff in the extracted ffu. Take a look at the zip file in the new thread I started.
Click to expand...
Click to collapse
yea, I saw the new thread. Hopefully somebody can find a exploit in all that. It executes some cool files. Too bad there wasn't a cmd.exe file on our phones that we can execute.
aclegg2011 said:
yea, I saw the new thread. Hopefully somebody can find a exploit in all that. It executes some cool files. Too bad there wasn't a cmd.exe file on our phones that we can execute.
Click to expand...
Click to collapse
actually..there is! but it's stuck in a WIM. It inflates it on an "as-needed" basis.
I am hoping that we can use the backgroundworker to run some stuff elevated
compu829 said:
I am hoping that we can use the backgroundworker to run some stuff elevated
Click to expand...
Click to collapse
But they all are pretty much isolated. It is unlikely that you will be able to run anything elevated
aclegg2011 said:
yea, I saw the new thread. Hopefully somebody can find a exploit in all that. It executes some cool files. Too bad there wasn't a cmd.exe file on our phones that we can execute.
Click to expand...
Click to collapse
Not only is there a CMD.exe, but there are other interesting things like a BSOD screen, Control Panel, registry keys referencing desktop (A future exploit I might attempt), and even native EXEs (We knew about native EXEs since WPs release).
Why does this launcher not work with "normal" toasts: {YOUR-APP-GUID} and "/Page1.xaml"? Only with empty GUID and full path.
Similarly, any chance this could be used to open arbitrary XAML pages, rather than just the ones defined in the app manifest? For example, something like what was posted in another thread (http://forum.xda-developers.com/showpost.php?p=45265419&postcount=56) using the following URI: app://5edbdbbc-2ab2-df11-8a2f-00237de2db9e/_default#/View/APNSettingPage.xaml to launch a hidden page in the Connection Setup app. I don't know if that's a weird behavior of CS or if its universally possible (and while it feels lazy to ask, I'm at work right now). There are a bunch of "hidden" pages in the ATIV S Diagnosis app, some of which would be very useful, but the navigation code for them is blocked or outright missing. If we could invoke those directly... There are probably a bunch of other such hidden gems in other OEM apps too.
Yes you can. The way I found the one in the HTC app was by loading the dlls in JetBrain's dotPeek. Then I looked for the xaml files. It is all a relative URI based on what dotPeek/the app "sees". The only thing the manifest states is where the default entry point is for the page. Basically I looked in the manifest file for how it calls the "default" page. and then replace it with the relative URI for the other page you want.
If you guys want, I can write up a simple tutorial. I just have an HTC 8x, so my hands are tied. If someone can figure out how to deflate an nbh file so I can browse it, that'd be fantastic! I found a "dead" 521 on eBay that I am thinking of picking up for research since there are way more tools for Nokia.
compu829 said:
Yes you can. The way I found the one in the HTC app was by loading the dlls in JetBrain's dotPeek. Then I looked for the xaml files. It is all a relative URI based on what dotPeek/the app "sees". The only thing the manifest states is where the default entry point is for the page. Basically I looked in the manifest file for how it calls the "default" page. and then replace it with the relative URI for the other page you want.
If you guys want, I can write up a simple tutorial. I just have an HTC 8x, so my hands are tied. If someone can figure out how to deflate an nbh file so I can browse it, that'd be fantastic! I found a "dead" 521 on eBay that I am thinking of picking up for research since there are way more tools for Nokia.
Click to expand...
Click to collapse
That's correct. I have been navigating to various - normally unreachable - XAML pages in quite a few of the Nokia apps. I gave an example of that in a different thread:
Code:
app://[COLOR="Navy"][B]2377fe1b-c10f-47da-92f3-fc517345a3c0[/B][/COLOR]/[COLOR="Orange"][B]_default[/B][/COLOR]#/[COLOR="Green"][B]Launcher[/B][/COLOR];component/[COLOR="DarkRed"][B]MainPage.xaml[/B][/COLOR]
In this example, I launch the Nokia extras+info app (2377fe1b-c10f-47da-92f3-fc517345a3c0) with the default entry point (_default) which, as @compu829 stated, can found in the app's manifest. Following that, you can add "#/" (not sure if either the hash-tag or slash can be taken out or both are required to work but I know with both, it does work) to the URI to specify a particular XAML file you'd like to open. Following the "#/", you get to specify the assembly (i.e. the .DLL in the XAP file) in which the XAML file is located (Launcher). And finally, you add ";component/" followed by the full path to the XAML as defined in the embedded resource file (MainPage.xaml).
-W_O_L_F- said:
Why does this launcher not work with "normal" toasts: {YOUR-APP-GUID} and "/Page1.xaml"? Only with empty GUID and full path.
Click to expand...
Click to collapse
I presume your reference to the "empty GUID" is for the first parameter of my static Launcher.LaunchToast method? That first parameter is, as far as I can see, ignored for the actual toast launch. If I'd have the signature of the "Shell_PostMessageToast" method, I could perhaps understand what it does but, without it, I just knew it wanted a GUID (passed to it as a string) and that that GUID could be an empty one. I reversed engineered the signature from that native method (found in ShellChromeAPI.dll) by taking a look at another native assembly calling it. Naturally, this only tells shows me how that method is being called but doesn't return the name of the parameters. If I remember correctly, the assembly calling that method was passing its own application GUID... I could have done the same but, I didn't see what use it had so I decided to keep passing it an empty GUID.
The format of the toast is different most likely because that's the raw toast launching method. The other format you're used to is the more developer friendly one that's sanitized prior to launching it (so you can't launch another app directly).
Success!
@GoodDayToDie , this is exactly what I'm trying to do! And here is result:

Categories

Resources