[Q] Repacking .XAP on the phone - Windows Phone 7 Q&A, Help & Troubleshooting

Hi
I have big problem with wp7 PC Softwares like 7market OR ezDeploy because it doesnt run on my pc
Now,is there any way to repack apps in the phone (like in File Explorer) ??

It's not really practical at all, no. One app can't (legitimately, without hacks or a custom ROM) access the filesystem enough read another app's install location. Rebuilding a XAP file (assuming you can access the install directory) is theoretically possible, but I'm having a hard time seeing many legitimate reasons to do so.

Thanks 4 your answer my friend
But how Private Marketplace repacking after download the app???

XAP files are just ZIP archives; they're easy to unpack, modify, and repack. As I said, you *could* re-create them from the install location (you'd have a to tweak a few things, but it woulnd't be that hard).
As for "Private Marketplace", I'm not familiar with this tool but, from your description, it sounds like it downloads the marketplace XAP from Microsoft's servers, then repackages it so it can be sideloaded. That's interesting (and potentially sketchy, but I'll assume these are only free apps) but I don't see what it has to do with repackaging XAPs on the phone.
What is your goal, here?
By the way, the "re-package a XAP on the phone" thing has come up several times before. Please use Search before posting.

Related

Disabling Access To Games

Hi - is there any way on PocketPC 2003 to disable access to Solitaire and Jawbreaker. I'm pretty sure I can't remove them all together as they're in the ROM - but some registry hack to prevent access to them would be sufficient.
Try this...
You don't list what device or WM versions you are using, but here are two possible solutions you could try:
1) Read through the forums specific to your device, and learn how to cook your own ROM, removing the offending software.
2) Any file in your ROM can be "overwritten" by syncing to your pc and draggin a file with the same name to the folder containing the file you wish to replace. IE. I have a small, written for the pda application, which when run, displays a pop-up saying "This software has been removed because I do not wish for anyone using this device to have fun doing so!" or similar. I then name it solitare.exe and drag it into the Windows directory from my PC. It asks me am I sure I wish to overwrite the file, I click yes and bam! the file is "replaced". (I believe what actually happens is the OS delinks the file and places the new file in the old ones placeholder on the filesystem, it is still in the ROM as that is unwritable unless flashing, but it is no longer accessable, which is what you want to happen.
tried & failed...
I've created a solitare.exe as you suggested and placed it in the Windows directory - it doesn't seem to get run when executed however - The original game still gets run - I fear I may be doing something stupid.
Re: tried & failed...
gremlin said:
I've created a solitare.exe as you suggested and placed it in the Windows directory - it doesn't seem to get run when executed however - The original game still gets run - I fear I may be doing something stupid.
Click to expand...
Click to collapse
Why do you want to block them?
Re: Try this...
pneuma said:
You don't list what device or WM versions you are using, but here are two possible solutions you could try:
1) Read through the forums specific to your device, and learn how to cook your own ROM, removing the offending software.
2) Any file in your ROM can be "overwritten" by syncing to your pc and draggin a file with the same name to the folder containing the file you wish to replace. IE. I have a small, written for the pda application, which when run, displays a pop-up saying "This software has been removed because I do not wish for anyone using this device to have fun doing so!" or similar. I then name it solitare.exe and drag it into the Windows directory from my PC. It asks me am I sure I wish to overwrite the file, I click yes and bam! the file is "replaced". (I believe what actually happens is the OS delinks the file and places the new file in the old ones placeholder on the filesystem, it is still in the ROM as that is unwritable unless flashing, but it is no longer accessable, which is what you want to happen.
Click to expand...
Click to collapse
Hey pneuma.
2) Isn't working for me either. I thought gremlin was doing something wrong, but I just tried it myself, and, although my "fake" solitaire.exe (a renamed app) file is there, so is the original solitaire.exe. Tapping on the Solitaire icon under games runs the game as if nothing happened, although just opening the Games folder would tell you that it didn't work (the Solitaire icon is still the cards)
What did you do that we didn't? I'm using a Universal.
Peculiar...
Personally I haven't tried this specific to the games, but there was a nasty spash screen in the new WM5 for my Himalaya that I replaced in the method detailed above. It would appear however that solitaire might be a system program, as the following files:
\windows\solitaire.lnk
\windows\start menu\solitaire.lnk
have the following Target: ":MSSOLITAIRE"
but don't despair!
If you have resco explorer or some similar mobile based explorer replacement, try edit the links to point to the replacement exe, or even delete the links altogether, as well as the Games directory under "\windows\start menu\" (might not work deleting them though).
If the deletion or edits don't work you may well have to do the same trick, replacing these .lnk files with something else.
--Marc
Thanks to pneuma I think I've got a workable solution without having to hack into the ROM!
I've created two programs (using PocketBuilder) called Solitare.exe and Jawbreaker.exe which just pop up a response window saying "This Application Has Been Disabled"
I've also created two .lnk files - solitare.lnk and jawbreaker.lnk which contain:
22#"\Windows\Solitare.exe"
and
23#"\Windows\Jawbreaker.exe"
respectively
In my boot process I copy the executables and .lnk files to the \Windows directory and also copy the .lnk files to the
\Windows\Start Menu\Program\Games\
directory.
I don't think our users (sorry to diss them) are bright enough to figure out they have to remove all of these files to get the games working again.
Thanks for all your help.
Gremlin.
gremlin said:
(sorry to diss them)
Click to expand...
Click to collapse
But you're dissing them all the way by treating them like this.
Why shouldn't they be able to play Solitair or JawBreaker every now and then during a coffee of lunch break. A bit of light releif never did anyone any harm.
I'm glad I don't work with you. (Bah Humbug)
I have no say in how the users are treated - I am merely a developer - I get told what needs to be done and I do it. I can offer my suggestions at design time but ultimately it is not my decision how the users are treated on the shop floor.
If I was in management it would be a different story.
I'm lovely to work with - I make the tea and everything
gremlin said:
If I was in management it would be a different story.
Click to expand...
Click to collapse
Point taken. :wink:
I would argue that it's hardly worth the effort just to piss people off.
I'll have my tea with milk and no sugar.

running custom executable from zip files on wp7

I am trying to run a custom executable on my schubert. I can send the file to my email as a zip and then open it. Wp7 gives a warning saying 'do you want to run the executable' I click 'yes' but nothing really happens.
can we convert a silverlight xap file which is actually a zip file into an exeutable and run it?
Also is it possible to depoly an app from within the phone?
There are efforts underway to either run native apps (EXEs) or to install apps (from XAP files) on the phone itself. Currently, I don't think either is possible. Feel free to lend a hand, though. A little searching on the forum will turn up the relevant threads, but I know that a lot of work has been discussed in the DllImport Project thread on this sub-forum.
People have been able to make native apps, but they are DLL's, not EXE's. TouchExplorer/TouchXperience/a few registry editors, File Explorers are all Native. Although there a problem with native Apps & the Multitasking Registry Hack. Once one Native app is loaded, no other will start up unless you restart.

[Q] Pull a XAP off a phone?

Is there a way to pull XAPs off of your phone? I'd like to pull a few apps with ugly icons off and edit their icons (it's fairly easy, I've done it before with stuff off of XDA).
... people keep asking this. The reasons vary but the question has been asked a lot.
The phone doesn't even store the XAP files, so no. It's like asking if you can get the "setup.exe" out of somebody's copy of a PC game.
However, the files in the XAP, and for your particular case the images in the XAP, are unpacked onto the phone's filesystem in \Applications\Install\<APP_GUID>\Install\. You can use an app like WP7 Root Tools to access them. I can't promise it'll work with marketplace apps (the binaries, at least, are signed and the signatures are checked every time the app is loaded) but it's quite possible there are no hash checks on content files.
Advanced Config allows you to change the icons for any app. If it's a free app there is a program floating around here that allows you to download the xaps to your computer from the marketplace then you can use winrar or whatever zip program you want and replace the app icon.

(Q)make an app undecompressible

Hi.Is there any way to make my app undecompressible or make the decompression harder?
because now anybody can easily change the .xap to .rar or .zip and extract it and read your code.
It is called code obfuscation. Google for 'windows phone obfuscation'
As a side note, making a XAP actually undecompressible would be foolish, since the phone obviously needs to decompress the XAP file in order to install the app.
Also, obfuscation just makes reverse engineering a little bit harder. Depending on the obfuscator, there may even exist automated tools to undo most if not all of the obfuscation.

xap deployment mechanism?

Hello everyone,
I'm new to wp7 and wince. I want to know what happened when I deploy a xap to my wp7 phone. Because my phone has not been unlocked, I could not see files on the phone. How about the XML files in the xap? Where do they go? If there are any registry values that will be changed? Thanks.
Roughly speaking, the process goes like this (I might have the order wrong in a few steps, this is based on observation not reverse engineering):
First, the phone verifies that installing unsigned apps is allowed and that you haven't hit the app limit.
Second, it unpacks the WMAppManifext.xml file from the XAP and p****s it.
Third, it checks whether the app's capabilities are allowed (in particular, if you aren't interop-unlocked, ID_CAP_INTEROPSERVICES will be prohibited).
Fourth, it copies the XAP into a temp folder (under \Application Data\<something>\GUID, I forget exactly where).
Fifth, it registers the app in the AppMgr, a database that contains info about installed apps and shows them in the app list.
Sixth, it creates a "chamber" (basically, a user account) specifically for the app, with permissions specified by the manifest CAPs.
Seventh, it creates a folder at \Applications\Install\{GUID} and one at \Applications\Data\{GUID} where GUID is the app's ProductId.
Eighth, it unpacks the XAP into that Install\{GUID} folder.
Ninth, it adds policies to the PolicyEngine (security system) that allows the app to read its install folder, read/write its data folder, and to be launched into its chamber.
Tenth, it deletes the temp folder where the app was unpacked.
The registry should not be affected during this process. Files in the XAP are unpacked onto the filesystem mostly unmodified.
GoodDayToDie said:
Roughly speaking, the process goes like this (I might have the order wrong in a few steps, this is based on observation not reverse engineering):
First, the phone verifies that installing unsigned apps is allowed and that you haven't hit the app limit.
Second, it unpacks the WMAppManifext.xml file from the XAP and p****s it.
Third, it checks whether the app's capabilities are allowed (in particular, if you aren't interop-unlocked, ID_CAP_INTEROPSERVICES will be prohibited).
Fourth, it copies the XAP into a temp folder (under \Application Data\<something>\GUID, I forget exactly where).
Fifth, it registers the app in the AppMgr, a database that contains info about installed apps and shows them in the app list.
Sixth, it creates a "chamber" (basically, a user account) specifically for the app, with permissions specified by the manifest CAPs.
Seventh, it creates a folder at \Applications\Install\{GUID} and one at \Applications\Data\{GUID} where GUID is the app's ProductId.
Eighth, it unpacks the XAP into that Install\{GUID} folder.
Ninth, it adds policies to the PolicyEngine (security system) that allows the app to read its install folder, read/write its data folder, and to be launched into its chamber.
Tenth, it deletes the temp folder where the app was unpacked.
The registry should not be affected during this process. Files in the XAP are unpacked onto the filesystem mostly unmodified.
Click to expand...
Click to collapse
Thank u for ur excellent reply! I am trying to find ways to interop unlock my nokia phone. Thanks a lot!
Good luck! I've been looking for interop-unlocks for months now (sometimes in Nokia, sometimes in other OEMs like my HTC, sometimes in the OS itself) but more people is always better. Sometimes a new perspective is all it takes.

Categories

Resources