Coder Social home page Coder Social logo

sxsexp's Introduction

SXSEXP

Expand compressed files from WinSxS folder.

System Requirements

x86/x64 Windows 7/8/8.1/10/11

Supported file types

  • DCN v1
  • DCM v1
  • DCS v1
  • DCD v1

Type descriptions

  • Header Sign: 0x44 0x43 0x4E 0x01, DCN 01 (packed IPD PA30)
  • Header Sign: 0x44 0x43 0x4D 0x01, DCM 01 (packed IPD PA30, source manifest required, wcp)
  • Header Sign: 0x44 0x43 0x53 0x01, DCS 01 (packed LZMS, can have multiple blocks)
  • Header Sign: 0x44 0x43 0x44 0x01, DCD 01 (packed IPD PA30, delta, source file required)
  • Header Sign: 0x44 0x43 0x48 0x01, DCH 01 (not packed, header only)
  • Header Sign: 0x44 0x43 0x58 0x01, DCX 01 (unknown, only supported by Windows 10)

Usage

SXSEXP < Source File > < Destination File >

SXSEXP < Source Directory > < Destination Directory >

SXSEXP /d < Source File > < Source Delta File > < Destination File >

Example:

  • sxsexp.exe srcdcn1.exe dest.exe
  • sxsexp.exe C:\windows\winsxs D:\winsxs
  • sxsexp.exe /d c:\test\Display.dll.src c:\test\Display.dcd.delta C:\test\Display.result.dll

Build

SXSEXP comes with full source code written in C. In order to build from source you need Microsoft Visual Studio 2019 and later versions.

Newest MsDelta changes

Since apprx. Windows 11 MS introduced updated version of MsDelta compression library that comes as part of cumulative update. This library called "UpdateCompression.dll" and it is a new version of Windows built-in MsDelta.dll with (besides of other improvements) only support to in-memory operations compared to old MsDelta.dll that can also work directly with files.

If you are having trouble with expanding files try using updatecompression.dll instead of default msdelta.dll. Simple rename updatecompression.dll to msdelta.dll and drop it to the same directory where sxsexp located. See #6 for more information.

Instructions

  • Select Platform ToolSet first for project in solution you want to build (Project->Properties->General):
    • v142 for Visual Studio 2019;
    • v143 for Visual Studio 2022.
  • Windows SDK 10 or above must be installed.

Authors

(c) 2016 - 2024 SXSEXP Project

sxsexp's People

Contributors

hfiref0x avatar m417z avatar vineelkovvuri 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

sxsexp's Issues

Error message when running

sxsexp32.exe is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher.

Same message with sxsexp64.exe on stock Win10 1909 (64 bits).

Also tried using the compatibility mode option to Windows 8 and Windows 7, but with not sucess.

DCS decompress error

I'm getting "Required Cabinet API are missing, cannot decompress this file."
What can I do?

DELTA_HEADER_INFO Flags offset

For PA30 delta file, which offset the DELTA_HEADER_INFO Flags is located?

there is this file which has unusual Flags value, and it fail to expand

sxsexp64.exe driver.stl driver2.stl
Processing target path  driver.stl
driver.stl => driver2.stl
File size               20377 bytes

DCN_HEADER found, querying delta info.


DELTA_HEADER_INFO

 FileTypeSet            00000000000000F5
 FileType               0000000000000001 (DELTA_FILE_TYPE_RAW)
 Flags                  000000000A060000
 TargetSize             000000000000614D
 TargetFileTime         EED51080:01D99904
 TargetHashAlgId        00008003
 TargetHash->HashSize   00000010
 TargetHash->Hash       311f43e318e3555bd5e86cd3010e3b50

i'm trying to modify the Flags to see if the file is originally incorrect, or the file format is changed/undocumented

the original file is plain PA30 file from Win10 CU Windows10.0-KB5028166-x64-baseless
https://uupdump.net/findfiles.php?id=49c101a1-1044-43d6-83ee-c8baebfa69a1&q=Windows%20KB

file.zip

Write errors to stderr instead of stdout

I'd prefer to have only errors printed.

Another option is to add a verbosity flag, but writing errors to stderr is a common practice, and is probably easier to implement.

DCM compression support

This is not about an issue. This is a feature request.
Can you please add compression support that compresses the expanded files back to its original format or DCM format?

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.