5,597,501 Members 31,833 Now Online
XDA Developers Android and Mobile Development Forum

possibility of on-phone xap deployment

Tip us?
 
hjc4869
Old
#1  
Member - OP
Thanks Meter 52
Posts: 52
Join Date: Jul 2012
Location: Wuhan

 
DONATE TO ME
Default possibility of on-phone xap deployment

ID_CAP_PM_1ST_PARTY
ID_CAP_PM_BSS
ID_CAP_PM_INSTALL
I noiced these three capabilities after wp8 interop unlock and it might be able to install xap by calling PacManClient.dll .
the only problem is that, I am not quite familiar with this dll. Although it might be similar with that in wp7, I didn't develop anything about wp7(I'm quite new here).
maybe we can add these caps and try LoadLibraryEx() to call the dll?
The Following 3 Users Say Thank You to hjc4869 For This Useful Post: [ Click to Expand ]
 
GoodDayToDie
Old
#2  
Recognized Developer
Thanks Meter 2473
Posts: 5,293
Join Date: Jan 2011
Location: Seattle
I'm sure it's possible. We just need to know the relevant APIs. It may be necessary to reverse engineer the XAP-installation service on the phone to see how it works. Anyhow, yes, this is something I've been wanting to get working as well.
Win8/Windows RT projects:
List of desktop apps for hacked RT devices

WP8 projects:
Native Access WebServer and Libraries
WP8 Interop Unlocks
Storage Cleanup tool

WP7 projects:
XapHandler, Root Webserver, OEM Marketplace XAPs, Bookmarklets collection (Find On Page), Interop-unlock hacks.


Do not private message me with questions that should have been posted on the forum! Not only are you wasting your time - I'm not going to bother writing an answer to such a question for only one person - but I will probably block you from PMing me in the future as well.
 
ultrashot
Old
#3  
ultrashot's Avatar
Recognized Developer
Thanks Meter 2014
Posts: 1,469
Join Date: May 2009
Location: St.Petersburg
Actually, installation of XAPs isn't a problem at all. I wanted to do that, but got a bit bored with rebuilding OS on my engineering AtivS, so I delayed this project.
Nokia Lumia 920, Samsung Ativ S (T899 TMOUS, engineering), HTC 8X (partially broken)
Mozart and Titan: Dynamics v2.2 ROM
X1i and HD2: Dynamics v2.4 ROM
http://ultrashot.net
The Following 3 Users Say Thank You to ultrashot For This Useful Post: [ Click to Expand ]
 
GoodDayToDie
Old
#4  
Recognized Developer
Thanks Meter 2473
Posts: 5,293
Join Date: Jan 2011
Location: Seattle
Just sharing the function prototypes and usage info would probably be enough for somebody else to do it... doesn't have to be fancy!
Win8/Windows RT projects:
List of desktop apps for hacked RT devices

WP8 projects:
Native Access WebServer and Libraries
WP8 Interop Unlocks
Storage Cleanup tool

WP7 projects:
XapHandler, Root Webserver, OEM Marketplace XAPs, Bookmarklets collection (Find On Page), Interop-unlock hacks.


Do not private message me with questions that should have been posted on the forum! Not only are you wasting your time - I'm not going to bother writing an answer to such a question for only one person - but I will probably block you from PMing me in the future as well.
The Following 2 Users Say Thank You to GoodDayToDie For This Useful Post: [ Click to Expand ]
 
hjc4869
Old
#5  
Member - OP
Thanks Meter 52
Posts: 52
Join Date: Jul 2012
Location: Wuhan

 
DONATE TO ME
Quote:
Originally Posted by GoodDayToDie View Post
Just sharing the function prototypes and usage info would probably be enough for somebody else to do it... doesn't have to be fancy!
I think there is a lot of functions that is similar to wp7 ..
 
spavlin
Old
#6  
Senior Member
Thanks Meter 229
Posts: 129
Join Date: Dec 2006
http://scug.be/nico/2013/01/31/enrol...nfigmgrintune/

SSP.xap
The Following User Says Thank You to spavlin For This Useful Post: [ Click to Expand ]
 
spavlin
Old
#7  
Senior Member
Thanks Meter 229
Posts: 129
Join Date: Dec 2006
pacmanserver.dll :

Code:
I D _ C A P _ P M _ 1 S T _ P A R T Y
   I D _ C A P _ D E B U G _ F O L D E R S
I D _ C A P _ E N T E R P R I S E _ E N R O L L M E N T
     I D _ C A P _ P M _ B S S
   I D _ C A P _ P M _ I N S T A L L
S e c u r i t y V a l i d a t o r < 1 > : : C h e c k P e r m i s s i o n F o r P M D e b u g A P I
S o f t w a r e \ M i c r o s o f t \ P a c k a g e M a n a g e r \ B l a c k l i s t
S o f t w a r e \ M i c r o s o f t \ P a c k a g e M a n a g e r
   F o r c e C h e c k A p p B i n d i n g     I s X A P A u t h o r i z e d   a p p s . g a m e s     N I
     G e t D e c r y p t e d X a p P a t h   0   f a l s e   1   t r u e     { 5 B 0 4 B 7 7 5 - 3 5 6 B - 4 A A 0 - A A F 8 - 6 4 9 1 F F E A 5 6 6 1 }
     S y s t e m \ M a p s   { 5 B 0 4 B 7 7 5 - 3 5 6 B - 4 A A 0 - A A F 8 - 6 4 9 1 F F E A 5 6 8 3 }
     S o f t w a r e \ P a r t n e r \ W a l l e t   O E M D i s a b l e d 
  S o f t w a r e \ M i c r o s o f t \ D e v i c e R e g \ I n s t a l l 
    G e t M a x C o u n t F o r D e p l o y e d A p p   M a x U n s i g n e d A p p     G e t P r o H e a d e r F r o m X a p   W M A p p P R H e a d e r . x m l
   c : \ d a t a \ P R O G R A M S     I n s t a l l   J u n k     T e m p I n s t a l l   X B F   X B F T E M P   T e m p N I     I n s t a l l e r   F l u s h F i l e C o n t e n t s

I D _ H W _ F R O N T C A M E R A
   I D _ C A P _ N E T W O R K I N G
I D _ C A P _ D E V E L O P E R U N L O C K
     I D _ C A P _ D E B U G
     I D _ C A P _ D E B U G _ N A V I G A T I O N
   % W i n D i r % \ S y s t e m 3 2 \ T a s k H o s t . e x e     % W i n D i r % \ S y s t e m 3 2 \ H e a d l e s s H o s t . e x e     % W i n D i r % \ S y s t e m 3 2 \ X b f G e n e r a t o r . e x e     % W i n D i r % \ S y s t e m 3 2 \ M D I L B i n d e r . e x e         C : \ D a t a \ S h a r e d D a t a \ P h o n e T o o l s \ 1 1 . 0 \ D e b u g g e r \ b i n \ R e m o t e D e b u g g e r \ M S V S M O N . e x e     s r c \ b a s e o s \ p r o d \ s e c u r i t y m o d e l \ p r o v i s i o n \ r u n t i m e \ m a r k e t p l a c e a p p l i c a t i o n \ m a r k e t p l a c e a p p l i c a t i o n . c p p       F a i l u r e   a t   l i n e   % i   i n   f i l e   % s ,   E r r C o d e = 0 x % 0 8 x 
     M i c r o s o f t \ S e c u r i t y M a n a g e r \ C a p a b i l i t i e s     A p p l i c a t i o n C a p a b i l i t y S I D     E m b e d d e d W i n d o w s C a p a b i l i t y S I D s   R e q u i r e d C a p a b i l i t i e s     P r i v i l e g e s     T h u m b p r i n t C N G H a s h A l g I d     T h u m b p r i n t     S H A 1 T h u m b p r i n t     E n c o d e d   S i g n e r C e r t i f i c a t e   E n t e r p r i s e I d     I n t e r m e d i a t e C e r t i f i c a t e 
      P R I N C I P A L _ C L A S S _ I S V _ D E V E L O P E R _ U N L O C K
         P R I N C I P A L _ C L A S S _ O E M _ D E V E L O P E R _ U N L O C K     A p p l i c a t i o n B i n a r i e s
   I D _ C A P _ E V E R Y O N E
   I D _ C A P _ B U I L T I N _ D E F A U L T
         M i c r o s o f t \ S e c u r i t y M a n a g e r \ A p p l i c a t i o n s     A p p l i c a t i o n T y p e   A p p l i c a t i o n S i d     D e f A p p s   A p p l i c a t i o n A c c o u n t     R e q u i r e d C a p a b i l i t y S I D s     R e q u i r e d P r i v i l e g e s

C : \ W i n d o w s \ S y s t e m 3 2 \ P a c m a n t h . d l l
I D _ C A P _ I N T E R O P S E R V I C E S
     I D _ C A P _ O E M P U B L I C D I R E C T O R Y
   M a n i f e s t P a r s e r : : P a r s e M a n i f e s t   H a r d w a r e C o n f i g L i b   IsHardwareOnDevice
  I D _ R E Q _ M E M O R Y _ 9 0
The Following User Says Thank You to spavlin For This Useful Post: [ Click to Expand ]
 
hks25258
Old
(Last edited by hks25258; 24th January 2014 at 08:16 AM.)
#8  
Junior Member
Thanks Meter 38
Posts: 14
Join Date: Feb 2013
Location: Hainan Haikou
This is the COM Object Interface Class
use PacManClient.dll->DllGetClassObject()->NdrDllGetClassObject()->RPCRT4->PacManServer execute.

PMServiceCLSID = {B9E511FC-E364-497A-A121-B7B3612CEDCE}

IPMTilePropertyInfo IPMBackgroundWorkerInfo IPMTileNotification IPMLiveTileJobInfo IPMTilePropertyEnumerator IPMTileInfo IPMTaskInfo IPMExtensionProtocolInfo IPMBnsNotification IPMNotificationsSink IPMLicenseManager IPMTileInfoEnumerator IPMExtensionFileExtensionInfo IPMBackgroundServiceAgentInfoEnumerator IPMExtensionInfo IPMLiveTileJobInfoEnumerator IPMExtensionInfoEnumerator IPMApplicationInfo IPMApplicationInfoEnumerator IPMNotificationManager IPMLifeCycleNotification IPMEnumerationManager IPMBssManager IPMBackgroundServiceAgentInfo IPMTileManager IPMBssWriter IPMInternal IPMBackgroundWorkerInfoEnumerator IPMTaskInfoEnumerator IPMDeploymentManager IPMBssNotificationEnumerator IPMLiveTileJobManager

for LiveTile(form ILSpy)
IPMEnumerationManager = {698D57C2-292D-4CF3-B73C-D95A6922ED9A}
IPMLiveTileJobManager = {15E673FD-0497-4cb3-97CB-99E698DD3B66}
IPMLiveTileJobInfo = {6009A81F-4710-4697-B5F6-2208F6057B8E}
IPMTileInfoEnumerator = {DED83065-E462-4b2c-ACB5-E39CEA61C874}
IPMTileInfo = {D1604833-2B08-4001-82CD-183AD734F752}
IPMTileManager = {D622EEDE-5363-41fc-91C3-88E321191A34}
IPMTilePropInfo = {6C2B8017-1EFA-42a7-86C0-6D4B640BF528}

class IPMEnumerationManagerublic IUnknown
{
public:
virtual void __stdcall _thunk_get_AllApplications();
virtual HRESULT __stdcall get_AllTiles(IPMTileInfoEnumerator** ppTileEnum,DWORD dwFilter);
virtual void __stdcall _thunk_get_AllTasks();
virtual void __stdcall _thunk_get_AllExtensions();
virtual void __stdcall _thunk_get_AllBackgroundServiceAgents();
virtual void __stdcall _thunk_get_AllBackgroundWorkers();
virtual void __stdcall _thunk_get_ApplicationInfo();
virtual HRESULT __stdcall get_TileInfo(const GUID& ProductID,LPWSTR lpszTileID,IPMTileInfo** ppTileInfo);
virtual void __stdcall _thunk_get_AllApplications();
.....................
}

i try use CoCreateInstance to create this class interface, but return error, class not found.
The Following 2 Users Say Thank You to hks25258 For This Useful Post: [ Click to Expand ]
 
ultrashot
Old
#9  
ultrashot's Avatar
Recognized Developer
Thanks Meter 2014
Posts: 1,469
Join Date: May 2009
Location: St.Petersburg
Code:
typedef struct
{
    GUID productID;
    BSTR packagePath;
    GUID instanceID;
    BYTE *licenseData;
    DWORD licenseLength;
    BOOL disableUninstallation;
    BOOL preInstallationFlag;
    GUID offerID;
    BSTR storeAppVersion;
}PM_INSTALLINFO;

typedef struct _tagPM_UPDATEINFO
{
    GUID productID;
    BSTR path;
    GUID instanceID;
    BYTE *licenseData;
    DWORD licenseLength;
    BSTR storeAppVersion;
}PM_UPDATEINFO;

35F785FA-1979-4A8B-BC8F-FD70EB0D1544
class IPMDeploymentManager : public IUnknown
{
    public:
        virtual HRESULT ReportDownloadBegin(GUID productID) = 0;
        virtual HRESULT ReportDownloadProgress(GUID productID, USHORT pogress) = 0;
        virtual HRESULT ReportDownloadComplete(GUID productID, HRESULT hr) = 0;
        virtual HRESULT BeginInstall(PM_INSTALLINFO *installInfo) = 0;
        virtual HRESULT BeginUpdate(PM_UPDATEINFO *updateInfo) = 0;
        virtual HRESULT BeginDeployPackage(PM_INSTALLINFO *installInfo) = 0;
        virtual HRESULT BeginUpdateDeployedPackage(PM_UPDATEINFO *updateInfo) = 0;
        virtual HRESULT BeginUninstall(GUID productID) = 0;
        virtual HRESULT BeginEnterpriseAppInstall(PM_INSTALLINFO *installInfo) = 0;
        virtual HRESULT BeginEnterpriseAppUpdate(PM_UPDATEINFO *updateInfo) = 0;
        virtual HRESULT BeginUpdateLicense(GUID productID, BYTE *licenseData, DWORD licenseLength) = 0;
        virtual HRESULT GetLicenseChallenge(...) = 0;
        virtual HRESULT GetLicenseChallengeByproductID(...) = 0;
        virtual HRESULT GetLicenseChallengeByproductID2(...) = 0;
        virtual HRESULT RevokeLicense(GUID productID) = 0;
        virtual HRESULT RebindMdilBinaries(GUID productID, ...) = 0;
        virtual HRESULT RebindAllMdilBinaries(GUID productID, GUID instanceID) = 0;
        virtual HRESULT RegenerateXbf(GUID productID, ...) = 0;
        virtual HRESULT BeginProvision(GUID productID, ...) = 0;
        virtual HRESULT BeginDeprovision(GUID productID) = 0;
        virtual HRESULT ReindexSQLCEDatabases(GUID productID) = 0;
        virtual HRESULT SetApplicationsNeedMaintenance(...) = 0;
};
where args are omitted - there I just wanted to avoid complexity or dependencies
Nokia Lumia 920, Samsung Ativ S (T899 TMOUS, engineering), HTC 8X (partially broken)
Mozart and Titan: Dynamics v2.2 ROM
X1i and HD2: Dynamics v2.4 ROM
http://ultrashot.net

The Following 5 Users Say Thank You to ultrashot For This Useful Post: [ Click to Expand ]
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes