Wunkolo / UWPDumper

DLL and Injector for dumping UWP applications at run-time to bypass encrypted file system protection.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Only Chapter 1 of Tell Me Why is dumped

aintnodawn opened this issue · comments

All 3 chapters are installed on my PC. After opening UWPDumper while running TMW, I only see one revelant process. When I complete dumping, I have a folder named DUMP approximating to 7.7 GB which consists of the content of Chapter 1 alone. I check out Apps & features Settings, and I find that 7.7 GB of TMW is listed as App and 22.7 GB of it as Data. It seems that UWPDumper only recognizes the part of 7.7GB.

commented

This is interesting. A single app for chapter 1 might be the one housing all the other chapters as "DLC" that is located elsewhere on the file system outside of the folder that is dumped by default. Currently it only dumps the entirety of the current working directory. I don't have Tell Me Why but do you have any approximate locations of where the other chapters might be on your disc? UWP likely structures "DLC" like this differently.

This is interesting. A single app for chapter 1 might be the one housing all the other chapters as "DLC" that is located elsewhere on the file system outside of the folder that is dumped by default. Currently it only dumps the entirety of the current working directory. I don't have Tell Me Why but do you have any approximate locations of where the other chapters might be on your disc? UWP likely structures "DLC" like this differently.

The paths are C:\Users\UserName\AppData\Local\Packages\Microsoft.Breathless.Episode2_8wekyb3d8bbwe and C:\Users\UserName\AppData\Local\Packages\Microsoft.Breathless.Episode3_8wekyb3d8bbwe

commented

Episode 2 and 3 are in different UWP "app" folders entirely. This looks like the dumper would have to be extended with a way to detect "DLC" packages such as this and handle them accordingly when dumping, possibly into sub-folders

Apparently these are "Optional packages":
https://docs.microsoft.com/en-us/windows/msix/package/optional-packages

Optional packages contain content that can be integrated with a main package. These are useful for downloadable content (DLC), dividing a large app for size restraints, or for shipping any additional content separate from your original app.

The dumper process can iterate available optional packages with Package.Dependencies

Is there a free application on the Windows Store I can get that has "DLC" similar to yours that I can download so that I can test and implement this on my end?

ComPtr<ABI::Windows::ApplicationModel::IPackage> GetCurrentPackage()
{
	ComPtr<ABI::Windows::ApplicationModel::IPackageStatics> PackageStatics;
	if(
		RoGetActivationFactory(
			HStringReference(RuntimeClass_Windows_ApplicationModel_Package).Get(),
			__uuidof(PackageStatics), &PackageStatics
		) < 0
	)
	{
		// Error getting package statics
		return nullptr;
	}

	ComPtr<ABI::Windows::ApplicationModel::IPackage> CurrentPackage;
	if( PackageStatics->get_Current(&CurrentPackage) )
	{
		// Error getting current package
	}

	__FIVectorView_1_Windows__CApplicationModel__CPackage* dependencies = NULL;

	CurrentPackage->get_Dependencies(&dependencies);

	dependencies->GetAt(0, &CurrentPackage);

	return CurrentPackage;
}

This will dump first dependency of the app, tested on Forza Horzion 3, you can modify it to loop and obtain all needed packages.