Extracting Windows components

Discussion in 'Windows 8' started by Stannieman, Aug 30, 2013.

  1. Stannieman

    Stannieman MDL Guru

    Sep 4, 2009
    2,232
    1,818
    90
    #1 Stannieman, Aug 30, 2013
    Last edited: Aug 30, 2013
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. murphy78

    murphy78 MDL DISM Enthusiast

    Nov 18, 2012
    7,389
    11,614
    240
    Are you looking to create some sort of service removal tool or something?
    Why go through all this effort?
     
  3. Tito

    Tito Super Mod / Adviser
    Staff Member

    Nov 30, 2009
    18,681
    18,589
    340
    He wants to build a tool to port SKU specific packages to others that can be installed through DISM. 100 has said that he designed a messy script for this job but its still unpublished.
     
  4. KNARZ

    KNARZ MDL Addicted

    Oct 9, 2012
    895
    482
    30
  5. alien2xx

    alien2xx MDL Senior Member

    Aug 5, 2009
    400
    197
    10
    This would be perfect if a package like NFS client can be taken form the Enterprise version and transferred to the Pro Version.. this is the only thing is preventing me from installing the Pro version..
     

    Attached Files:

  6. HALIKUS

    HALIKUS MDL Addicted

    Jul 29, 2009
    526
    371
    30
    This is maybe a stupid suggestion, but maybe poking around in the Dart installer files (in hex?) you can find a few tricks. I know if you select something like "add setup files" it will also add the other necessary files\dependencies. It will also remove unnecessary packages, so maybe that part will help. Good luck anyways. I'm sure there is essentially no documentation on the matter.
     
  7. SuperBubble

    SuperBubble MDL Member

    Nov 18, 2011
    150
    295
    10
    #8 SuperBubble, Aug 31, 2013
    Last edited by a moderator: Apr 20, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. KNARZ

    KNARZ MDL Addicted

    Oct 9, 2012
    895
    482
    30
    anything new?
     
  9. Mr Jinje

    Mr Jinje MDL Expert

    Aug 19, 2009
    1,770
    1,101
    60
    Thanks for the info's
     
  10. moderate

    moderate MDL Guru

    Aug 31, 2009
    3,381
    2,479
    120
    #11 moderate, Sep 9, 2013
    Last edited by a moderator: Apr 20, 2017
  11. SuperBubble

    SuperBubble MDL Member

    Nov 18, 2011
    150
    295
    10
    #12 SuperBubble, Sep 9, 2013
    Last edited by a moderator: Apr 20, 2017
    As far as I can tell, it's only files in subdirectories of %SystemRoot%\WinSxS that are subject to this 'compression'. Catalogue files are stored in %SystemRoot%\Servicing\Packages, with an identical name to the .mum file - that was the update.cat before the package was installed (usually - keep in mind .mum files can reference other .mum files).

    You're on the right track. Look for <assemblyidentity> tags inside the .mum file, mentally convert them to 'assembly ID' format (described in my earlier reply), and hunt for a .manifest and/or subdirectory of %SystemRoot%\WinSxS that matches.

    Of course it isn't there. New version of Windows := new version of dedup := new assembly hashes.

    However, I was under the impression that .manifest/.mum files did pop the hash value somewhere in the <assemblyidentity> tag. Clearly I was wrong, and you now have a mission on your hands. Perhaps the hash value can be parsed out of the catalogue file in some way?

    No, you can't. Thanks Microsoft. :mad:

    By a folder below %SystemRoot%\WinSxS that (approximately) matches the .manifest file name. WinSxS doesn't specify individual files - it specifies by entire assemblies. An assembly can contain a single file, though.

    Hope my rambling helps. :hug2:
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  12. moderate

    moderate MDL Guru

    Aug 31, 2009
    3,381
    2,479
    120
    #13 moderate, Sep 9, 2013
    Last edited by a moderator: Apr 20, 2017
    CAT file is MS-signed file, that can't be changed. In this file (some other files checksums are stored), so they can't be changed too. So I was interested if:
    -only MUM file is hashed inside CAT
    -MUM and manifests are hashed inside CAT
    -MUM, manifests and all files from packages (EXEs, DLLs, etc.) are hashed inside CAT

    If only MUM is hashed there, we could use manifests from W2012 R1 server and edit them with version 6.3.9600... and possible other things...

    Yes, this is only identification of package files (EXE, DLLs, etc.) and Manifests I have found. However it also means, that we can't find manifest names (WHICH DOESN'T INSTALL FILES) anywhere else and if there is duplicity like:
    Code:
    amd64_microsoft-windows-d..oyment-languagepack_31bf3856ad364e35_6.3.9600.16384_en-us_c3deac3b462c9b36.manifest
    amd64_microsoft-windows-d..oyment-languagepack_31bf3856ad364e35_6.3.9600.16384_en-us_c70917f1ec898248.manifest
    amd64_microsoft-windows-d..oyment-languagepack_31bf3856ad364e35_6.3.9600.16384_en-us_c85a87fc113bd964.manifest
    amd64_microsoft-windows-d..oyment-languagepack_31bf3856ad364e35_6.3.9600.16384_en-us_e92b480435f1159f.manifest
    we can't to find out, which manifest is right without its depacking. Also we can't add them all, it will produce errors.
     
  13. SuperBubble

    SuperBubble MDL Member

    Nov 18, 2011
    150
    295
    10
    #14 SuperBubble, Sep 9, 2013
    Last edited by a moderator: Apr 20, 2017
    Alas, I'm pretty sure all files in the package are hashed in the catalogue file. :(



    Precisely. The first step is still to figure out this new encryption/compression method MS are using - at which point, all (well, most :)) of our problems will be solved.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  14. Stannieman

    Stannieman MDL Guru

    Sep 4, 2009
    2,232
    1,818
    90
    So SuerBubble can you please share me your script? I don't mind if it's ugly cause I'm not using it for production stuff anywas, just experimentaml.
    Then I can first try to get it working with Windows 7 for the time being, untill the compression is sorted out.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. murphy78

    murphy78 MDL DISM Enthusiast

    Nov 18, 2012
    7,389
    11,614
    240
    Stannieman, IIRC there is a Windows 8.0 update KB2821895 servicing stack update that claims to change the compression on winsxs folder stuff as well.
    It probably wouldn't affect old files unless you run a:
    dism /online /cleanup-image /startcomponentcleanup

    If it has a similar effect on the manifest files, it might be a good start for reversing the compression
     
  16. SuperBubble

    SuperBubble MDL Member

    Nov 18, 2011
    150
    295
    10
    #17 SuperBubble, Sep 10, 2013
    Last edited: Sep 10, 2013
    SuerBubble? As in a homophone of sewer bubble? I shouldn't give you anything after a typo like that. :nono:

    But yes, I'll be happy to post it here as soon as I find it (I recently reformatted my laptop's hard disk). :hug2:

    THANKYOU THANKYOU murphy78! Now we have a clue - I avoided attaching OllyDbg and tracing through because I would have had to hook the entire servicing stack... but a single .DLL (or small list of .DLLs) is much less work! :hug2:
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  17. moderate

    moderate MDL Guru

    Aug 31, 2009
    3,381
    2,479
    120
    Yep, until we will find, that this "compression" is RSA encrypted file, which will take three trillions years by brute force decrypt... :/
     
  18. Stannieman

    Stannieman MDL Guru

    Sep 4, 2009
    2,232
    1,818
    90
    #19 Stannieman, Sep 10, 2013
    Last edited: Sep 12, 2013
    (OP)
    If it's encrypted the decryption key has to be on the system, otherwise it's useless the files are even there.

    EDIT: I'm currently doing some other things :converting my deduped volume with windows isos to xdelta files cause I find dedum highly unpractical when other computers must be able to read the volume. It's also easier to make backups in the cloud. When I'm done I'll look deeper into this compression/encryption.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  19. murphy78

    murphy78 MDL DISM Enthusiast

    Nov 18, 2012
    7,389
    11,614
    240
    They have upgraded the 8.0 servicing stack thing that compresses winsxs folder.
    Old one was 2821895.
    New one is 2871777.

    If you are looking into reversing the strange compression in the winsxs folder i'd start with looking at those two...