Giter Club home page Giter Club logo

uwpdumper's Introduction

UWPDumper Build GitHub license


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

Demo1

Demo2

Run UWPInjector.exe and enter valid UWP Process ID to inject into. App file system will be dumped into:

C:\Users\(Username)\AppData\Local\Packages\(Package Family Name)\TempState\DUMP

To get a list of command line arguments run the command

UWPInjector.exe -h

UWPDumper requires the Windows 10 SDK to be compiled.

uwpdumper's People

Contributors

lukefz avatar tunip3 avatar wunkolo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

uwpdumper's Issues

Windows Creators update - UWPInjector wont progress past "Remote Dumper Thread Found: 0x4590"

image

Ran UWPInjector, the blue text came up but it had an error copying a file for Halo Wars 2. Applied the patch BennettStaley wrote, only to get this problem. It never loads the blue, copy/downloading file text. My screen looked the same as on the OP's here - #5

I thought this was just an error of me having an outdated version of UWPDumper-master so I reinstalled it.

Tried going through the Main.CCP to apply that patch BennettStaley wrote (#2) , only to find, I didn't have

"fs::copy(
File.path(),
WritePath,
fs::copy_options::update_existing
)"

to begin with. UWPInjector still never loads without changing anything. I've tried relaunching the game itself and UWP, tried running UWP as admin... Nothing.

Not really sure whats going wrong. Any help is welcome.

Dumping Error for Halo Wars: Definitive Edition

When I dump Halo Wars: DE for modding and run the "uwp_install_apps.bat", it just uninstalls the normal game and then says success but it didn't work because of an error. It gave the error:

Package Microsoft.BulldogThreshold_1.12186.1.2_x64__8wekyb3d8bbwe with Windows Store origin cannot be sideloaded or installed using developer mode option.

Does this mean UWPDumper won't work anymore because of a windows store patch?

Dumping dead by daylight

image

image

anti easy cheat is in the way , but to get access to the files you must dump it

well anti easy cheat i guess isn't in the way just can't dump it

Bluescreen: UNEXPECTED_KERNEL_MODE_TRAP

Trying to dump Pillars Of Eternity included in Windows 10 Game Pass always results in a bluescreen UNEXPECTED_KERNEL_MODE_TRAP.

The console window last entry is the expected dump directory (i.e. the console is showing up to this point:

IPC::PushMessage(L"Dump Path:\n\t%s\n", DumpPath.c_str());
). It is not even listening any file to dump.

If you have the Windows 10 Game Pass subscription for $1 you have access to the game and should be able to repro.

Add functionality to change dump folder location

My Windows installation is on an SSD, and my appdata folder is on that SSD.
I'd like to be able to change the folder location where the files get extracted to, so my OS SSD doesn't get worn out anymore than it has to.

I figured either adding a command line argument or a prompt for the user to appear after the program is run would be fine enough.

Update generic injection/dumper solution

At the original creation of this project 2 years ago, the original intent was to dump Halo 5 Forge. The generic dumping solution at the time involved creating remote threads and using calls like CreateThread. Lots of UWP programs crash on calls to CreateThread now and protect from the generic solution that is currently in place. At the moment UWPDumper is creating a new thread for both DLL injection and for the dumper. Ideally the entire process should never have to create a new thread and should use something like APC for injection and thread-hijacking for the dumper(or just hollowing out the entire process for the sole purpose of hijacking dump-related file permissions).

This would solve issues like #11 and issues with other more recent games.

DUMP Folder can't be resolved.

Microsoft.WindowsCalculator_8wekyb3d8bbwe 20210402T075435.txt
I was trying to dump Nier Automata and I got the error 'The name of the file cannot be resolved by the system.' I then tried to dump Calculator since that is the example. As seen below, I have the same error with dumping Calculator.

Enter ProcessID: 11764
Injecting into remote process: Success!
Waiting for remote thread IPC:
Remote Dumper thread found: 0x7f8
DLL Attached to process 11764
Creating dumper thread1951667488
UWPDumper Build date(Nov 1 2020 : 17:40:30)
-https://github.com/Wunkolo/UWPDumper
Publisher:
CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
Publisher ID:
8wekyb3d8bbwe
Publisher Path:
\AppData\Local\Publishers\8wekyb3d8bbwe
Package Path:
C:\Program Files\WindowsApps\Microsoft.WindowsCalculator_10.2101.10.0_x64__8wekyb3d8bbwe
Package Name:
Microsoft.WindowsCalculator_10.2101.10.0_x64__8wekyb3d8bbwe
Family Name:
Microsoft.WindowsCalculator_8wekyb3d8bbwe
Dump Path:
C:\Users\Dark Matter02\AppData\Local\Packages\Microsoft.WindowsCalculator_8wekyb3d8bbwe\TempState\DUMP
Dumping 220 files
sCalculator_10.2101.10.0_x64__8wekyb3d8bbwe\AppxBlockMap.xml 49489 bytes 1/220
Error creating subfolder: C:\Users\Dark Matter02\AppData\Local\Packages\Microsoft.WindowsCalculator_8wekyb3d8bbwe\TempState\DUMP
The name of the file cannot be resolved by the system.
sCalculator_10.2101.10.0_x64__8wekyb3d8bbwe\AppxManifest.xml 4884 bytes 2/220
Error creating subfolder: C:\Users\Dark Matter02\AppData\Local\Packages\Microsoft.WindowsCalculator_8wekyb3d8bbwe\TempState\DUMP
The name of the file cannot be resolved by the system.

This was ran through the newest x64 .exe

Add dumping to a customizable folder

There is a solution, you just need to create a Junction to the directory and add full access permission for all application packages. The only problem is making it an automatic option

Do not pause when tool can run autonomously (i.e. when arguments are supplied)

Would be nice so it does not require user input to unpause when using this tool as part of an automated procedure. In addition it does not need to open the DUMP folder when done.

Code that causes "issue"

system("pause");

This code always opens DUMP folder when done but when it's part of automated procedure this can be confusing (and it doesn't open a custom dump directory if specified with -d).

LauncherStatics->LaunchFolderAsync(
TemporaryFolder.Get(),
&Result
);

Example of how I use it
https://github.com/Measurity/AddModSupportMSStoreSubnautica/blob/8bf149f0d32862f9507a47118fa4dadbab8fcd0a/AddModSupportMSStoreSubnautica/Program.cs#L47

Debug mode

I was trying to run the dumper in Debug mode and it couldn't find the remote thread ID. Injection was successful, I think, though, because rebuilding the dll in debug mode failed with file locked error. Can you please tell me if this is to be expected? Does UWP prevent debugging somehow?

Gears 5 fails

Hi looks like they bloke access in the newest game.

Annotation 2019-09-07 133107

Yakuza Kiwami 2

Having an issue when writing the five digit code on the command prompt. Might be an issue for other Yakuza games as well.
thread hithub

Dump only specific files

Either by exact name: processID -filter bla.dll

or (if possible) by wildcard like: processID -filter *.dll

This avoids copying a lot of unnecessary files which then is also a lot faster.

Artifact not found

When i attempt to download the file, it takes me to a page which says: {"message":"Artifact not found or access denied."}

"Error copying" on Windows Creator Update

I'm trying to run uwpdumper and receiving the attached error. This is on a system running Windows 10 version 1703, with a fresh copy of Halo 5 Forge downloaded and installed.

No matter what I do, I always get the same error. I have tried taking ownership of the WindowsApps folder (which I can now browse, but not modify). The permissions on the AppData\Local\Packages folder seems fine, UWPDumper is able to create a few files (see second attachment) but it always bombs out at exactly the same place. I tried commenting out the return statement (return EXIT_FAILURE) to see if it'd continue dumping files regardless, but it just creates a whole lot of empty folders and nothing else gets decrypted.

Is UWPDumper still working these days? Or did Microsoft patch things so it wouldn't work? Oddly enough, I have a friend who successfully ran the tool in the past 24 hours and he had no problems whatsoever. I've tried reformatting this system twice now and re-installing H5F both times, and I've even tried compiling UWPDumper from source (using MSVS2017). I always get the same error.

capture

capture_2

Application Crash on like 5 or 7 Files.

Hey,

your UWP Dumper did always a good jop for me, sadly on Sea of Thieves, the Dumper Crash when he reach the PAK Files, I was able to extract one of them, but the big one, the game just close, not sure if there is a protection?

You may can check it out? You can try the app Free with the GamePass you get Free for 14-Days.

UWPdumper doesn't download

When you press Download latest x64 binary here it says this:

This XML file does not appear to have any style information associated with it. The document tree is shown below.

BlobNotFound
The specified blob does not exist. RequestId:66e961a9-c01e-0030-4399-63cf27000000 Time:2020-07-26T22:07:44.4110188Z

Need help.

Refactor console-UI code

At the moment the code is littered with old Frankenstein-ed ElDorito code where the terminal state is set manually. The latest releases of UWP itself correlates with the Windows support for VT100 escape codes so a lot of this SetConsoleTextAttribute and stuff can totally go away in favor of more unix-like escape sequences that can actually be piped over the IPC as well.
ENABLE_VIRTUAL_TERMINAL_PROCESSING is supported by Windows 10 build 10586 or greater, which hopefully isn't too-strong of an assumption to make, otherwise it can be stripped.

Quick sample on enabling it:

const auto Handle = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD ConsoleMode;
GetConsoleMode(
	Handle,
	&ConsoleMode
);
SetConsoleMode(
	Handle,
	ConsoleMode | ENABLE_VIRTUAL_TERMINAL_PROCESSING
);

Undertale cant dumped

Enter ProcessID: 5944
Injecting into remote process: Success!
Waiting for remote thread IPC:
Remote thread wait timeout: Unable to find target thread
Press any key to continue . . .

I run admin uwpdumper.exe but not work undertale both x64-x86

Only Chapter 1 of Tell Me Why is dumped

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.

Long path/filename write issues

Seems during dumping of some games you get write file errors

`
Error opening C:\Users\User\AppData\Local\Packages\ParadoxInteractive.PillarsofEternity-MicrosoftStor_zfnrdv2de78ny\TempState\DUMP\PillarsOfEternity_Data\data\localized\es\text\conversations\01_defiance_bay_copperlane\01_bs_controller_crucible_knight.stringtable for writing

Error opening C:\Users\User\AppData\Local\Packages\ParadoxInteractive.PillarsofEternity-MicrosoftStor_zfnrdv2de78ny\TempState\DUMP\PillarsOfEternity_Data\data_expansion1\localized\it\text\conversations\px1_00_stalwart_village\px1_00_bs_ambient_banters.stringtable for writing
`
Lots and lots of these with Pillars of Eternity for example, but also discovered it with some other titles. I seems the path is too long and then it will not save the file at all. Can this be fixed somehow as NTFS supports much longer paths in reality. I have the GPO set for LFN support but it seems to not work with the dumper tool. I can create filenames and paths longer manually so it's not an OS issue.

Add logging option

Would be beneficial with a log stored with the dump of what's been dumped and an additional error log of any issues during the dumping. Since many games has thousands upon thousands of files it's sometimes important to know what files it weren't able to dump.

Timeout issue

Enter ProcessID: 12664
Injecting into remote process: Success!
Waiting for remote thread IPC:
Remote thread wait timeout: Unable to find target thread
Press any key to continue . . .

I've tried in calculator and multiple UWP Apps I just get a timeout, this is using a compiled version of the build x64.

OS Name Microsoft Windows 10 Pro
Version 10.0.16299 Build 16299
System Type x64-based PC

Error copying

Well, seems it failed on one file of hw2
ffs

and will not go further apparently.

Access denied for dump path

I'm trying to dump Sea of Thieves but I get an Access Denied error for every sub folder it is trying to create. The files themselves don't seem to give any error but my dump folder remains empty.

Here's a sample of the error messages I get:

Injecting into remote process: Success!
Waiting for remote thread IPC:
Remote Dumper thread found: 0x2508
DLL Attached to process 4948
Creating dumper thread1869681232
UWPDumper Build date(Oct 24 2020 : 02:52:26)
-https://github.com/Wunkolo/UWPDumper
Publisher:
CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
Publisher ID:
8wekyb3d8bbwe
Publisher Path:
\AppData\Local\Publishers\8wekyb3d8bbwe
Package Path:
C:\Program Files\WindowsApps\Microsoft.SeaofThieves_2.95.6160.2_x64__8wekyb3d8bbwe
Package Name:
Microsoft.SeaofThieves_2.95.6160.2_x64__8wekyb3d8bbwe
Family Name:
Microsoft.SeaofThieves_8wekyb3d8bbwe
Dump Path:
C:\Users\foo\AppData\Local\Packages\Microsoft.SeaofThieves_8wekyb3d8bbwe\TempState\DUMP
Dumping 1099 files
SeaofThieves_2.95.6160.2_x64__8wekyb3d8bbwe\AppxBlockMap.xml 50317739 bytes 1/1099
Error creating subfolder: C:\Users\foo\AppData\Local\Packages\Microsoft.SeaofThieves_8wekyb3d8bbwe\TempState\DUMP
Access denied.
SeaofThieves_2.95.6160.2_x64__8wekyb3d8bbwe\AppxManifest.xml 12301 bytes 2/1099
Error creating subfolder: C:\Users\foo\AppData\Local\Packages\Microsoft.SeaofThieves_8wekyb3d8bbwe\TempState\DUMP
Access denied.
.95.6160.2_x64__8wekyb3d8bbwe\AppxMetadata\CodeIntegrity.cat 14800 bytes 3/1099
Error creating subfolder: C:\Users\foo\AppData\Local\Packages\Microsoft.SeaofThieves_8wekyb3d8bbwe\TempState\DUMP\AppxMetadata
Access denied.`

Etc. I'm running this from a PowerShell console with administrator privileges. I also tried dumping Calculator as per the example but I get the same errors. Any ideas?

files are dumped with efs

currently when trying to dump any title the files output by the program still contain efs protection

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.