Jump to content











Photo
- - - - -

winpe4 et explorer : pour débutant comme moi.


  • Please log in to reply
48 replies to this topic

#26 noel

noel

    Frequent Member

  • Advanced user
  • 178 posts
  • Location:nantes
  •  
    France

Posted 31 January 2013 - 10:14 PM

Bonjour Ludovici,

 

Je suis agréablement surpris de constater que le français existe dans les forums "pointus".

Merci pour l'info : win8PE de ChisR est super abouti. Il utilise ex7forW8 qui est aussi un projet en soi et super abouti aussi.

Motivé oui : j'aime "décortiqué". J'ai commencé avec debug par désassembler l'int21 et surtout la gestion des pilotes de périphériques sous DOS 2.1 et DOS 3 dans les années 84/85/86 du siècle dernier. Les différentes bibles DOS n'existaient pas encore. J'ai déjà oublié les principes des Vxd de Win3.11. J'ai eu la chance de pouvoir écrire un pilote pour NT4 pour gérer le dialogue rudimentaire avec une carte micro-contrôleur du bus ISA mais il n'a servi que de maquette, de POQ dirait on maintenant.

Curieux, oui. "Comment ils ont fait" c'est ma grande question. La seule question que je ne me pose pas "Et dieu comment a-t-il fait?".

Compétent : vraiment pas beaucoup. Autodidacte. Cela veut souvent dire "des bases pas stables". Comme avec windbg, du bricolage car je ne comprends pas le centième de la documentation.

Mon problème : je comprends en gros mais pas dans le détail.

Mais surtout hermétique à l'anglais, bien malgré moi. C'est une barrière énorme qui limite mes échanges.

 

Le sujet qui me tenait à coeur c'était powershell V3 dans Win8PE. E j'ai été surpris de constater que la partie "remote" était inopérante. Sur mon PC, j'arrive maintenant à faire du winrs.exe vers et depuis winpe4, idem avec les cmdlet Wsman de PS. Mais je ne suis pas sûr que cela passionne les foules. Pour ma part, c'est seulement pour le plaisir, c'est comme faire un puzzle. Je vais essayer de mettre par écrit ce que j'ai fait sur Wsman de PS en me disant que cela pourra servir. Mais écrit en français bien sûr.

 

Pour le projet du groupe ChrisR, je ne sens pas à la hauteur. Mais je vais le "décortiquer" dès que possible ;-)

 

Ce soir j'ai essayé de faire fonctionner secpol.msc. Pour jeter un oeil du côté de la sécurité car runas.exe échoue, mais sans résultat...bien sûr. Mais non je ne désespère pas encore.

 

Encore merci pour ton mot, Ludovici,  et la bouffée de plaisir qu'il m'apporte avec l'assurance que des français parlent à des français .... en anglais parfois, ce que je n'aurais jamais deviné avant d'arriver au bout des "posts".



#27 MJH

MJH

    Newbie

  • Members
  • 14 posts
  •  
    France

Posted 02 February 2013 - 08:02 PM

Cool, le bureau sous winpe4...

 

Je pense que je vais m'y plonger (quand j'aurais du temps :D). J'avais un peu abandonné WinPe 4 car ça me désespérait de ne pas trouver de projets qui intègre le bureau.

 

En tout cas Noel, continue comme ça,  c'est beau de voir des passionnés chercher dans les entrailles pour comprendre...



#28 noel

noel

    Frequent Member

  • Advanced user
  • 178 posts
  • Location:nantes
  •  
    France

Posted 10 February 2013 - 11:27 PM

Bonsoir,

Je continue sur l'idée d'un manque dans DCOM de winpe4. Toujours en prenant "rundll32 shel32.dll,Control_RunDLL desk.cpl. Avec windbg, j'ai tenté de tracer rundll32.exe. Il crée une fenêtre. Mais je ne trouve pas comment est lancé Control_RunDLL. Je n'arrive pas à mettre un point d'arrêt BP sur cette fonction.

Je recommencerai un autre jour.

J'ai aussi trouvé sur le net comment activer les traces de OLE et DCOM (http://support.micro...kb;EN-US;926098). Pour les mettre en œuvre dans winpe, j'ai mis beaucoup de temps. J'obtiens bien des fichiers ETL mais il n'y a rien d'utile à l'intérieur.

Je garde ces info de la trace windbg prise sur le w8pro et qui me semblent correspondre au moment où winpe4 se bloque ( après uxtheme.dll ).

J'essaierai de faire la même chose sous winpe4 et je les comparerai.

 

rundll32!WndProc:
000007f7`80f837ec 4053            push    rbx
0:000> g
ModLoad: 000007fe`afd30000 000007fe`afd51000   C:\Windows\System32\dwmapi.dll
Breakpoint 1 hit
rundll32!WndProc:
000007f7`80f837ec 4053            push    rbx
0:000> r
rax=0000000000000000 rbx=0000000000000001 rcx=00000000000c0284
rdx=0000000000000001 rsi=0000000000000000 rdi=0000000000000001 
rip=000007f780f837ec rsp=00000040d5a8f238 rbp=00000040d5a8f5f0
 r8=0000000000000000  r9=00000040d5a8f460 r10=00000000000c0284
r11=0000000000000202 r12=00000040d5a8f460 r13=00000000000c0284
r14=000007f780f837ec r15=0000000000000000
iopl=0         nv up ei pl zr na po nc
cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000246
rundll32!WndProc:
000007f7`80f837ec 4053            push    rbx

 

                Ici RDX = 1    me semble être  WM_CREATE    0x0001 car avant j'ai vu passer WM_NCCREATE   0x0081 ...
 

0:000> g
ModLoad: 000007fe`aff80000 000007fe`b0016000   C:\Windows\System32\SHCORE.dll
ModLoad: 000007fe`b1e60000 000007fe`b1e6a000   C:\Windows\System32\CRYPTBASE.dll
ModLoad: 000007fe`b1e00000 000007fe`b1e5c000   C:\Windows\System32\bcryptPrimitives.dll
ModLoad: 000007fe`b5050000 000007fe`b50e6000   C:\Windows\SYSTEM32\clbcatq.dll
ModLoad: 000007fe`b3b00000 000007fe`b3bc3000   C:\Windows\system32\OLEAUT32.dll
Breakpoint 0 hit
KERNELBASE!LoadLibraryExW:
000007fe`b247f590 fff5            push    rbp
0:000> k
Child-SP          RetAddr           Call Site
00000040`d5a8cb98 000007fe`b397296c KERNELBASE!LoadLibraryExW
00000040`d5a8cba0 000007fe`b39728c4 combase!LoadLibraryWithLogging+0x2c
00000040`d5a8cbe0 000007fe`b3972693 combase!CClassCache::CDllPathEntry::LoadDll+0x70
00000040`d5a8cc30 000007fe`b39722a0 combase!CClassCache::CDllPathEntry::Create+0x43
00000040`d5a8ccc0 000007fe`b3972238 combase!CClassCache::CClassEntry::CreateDllClassEntry+0x196
00000040`d5a8cf90 000007fe`b3971309 combase!CClassCache::GetClassObjectActivator+0x932
00000040`d5a8d370 000007fe`b3971fcb combase!CClassCache::GetClassObject+0x49
00000040`d5a8d3e0 000007fe`b3967677 combase!CServerContextActivator::CreateInstance+0x15b
00000040`d5a8d4e0 000007fe`b3971ddb combase!ActivationPropertiesIn::DelegateCreateInstance+0x81
00000040`d5a8d550 000007fe`b3971e4a combase!CApartmentActivator::CreateInstance+0x8b
00000040`d5a8d600 000007fe`b39716ab combase!CProcessActivator::CCICallback+0x4a
00000040`d5a8d640 000007fe`b3971d29 combase!CProcessActivator::AttemptActivation+0x33
00000040`d5a8d680 000007fe`b3972141 combase!CProcessActivator::ActivateByContext+0x110
00000040`d5a8d710 000007fe`b3967677 combase!CProcessActivator::CreateInstance+0x91
00000040`d5a8d770 000007fe`b3968499 combase!ActivationPropertiesIn::DelegateCreateInstance+0x81
00000040`d5a8d7e0 000007fe`b3967677 combase!CClientContextActivator::CreateInstance+0x125
00000040`d5a8dab0 000007fe`b396881b combase!ActivationPropertiesIn::DelegateCreateInstance+0x81
00000040`d5a8db20 000007fe`b39622ae combase!ICoCreateInstanceEx+0x77c
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Windows\system32\Shell32.dll -
00000040`d5a8e710 000007fe`b3f1fd50 combase!CoCreateInstance+0x1ae
00000040`d5a8e9e0 000007fe`b3f1f20e Shell32!Control_RunDLLA+0xe60
00000040`d5a8ed00 000007fe`b3f1ed6d Shell32!Control_RunDLLA+0x31e
00000040`d5a8f610 000007f7`80f8255d Shell32!Control_RunDLLW+0x3d
00000040`d5a8fb20 000007f7`80f83d72 rundll32!wWinMain+0x2b1
00000040`d5a8fc00 000007fe`b2c6167e rundll32!RunDLL_CreateStubWindow+0x3ca
00000040`d5a8fcc0 000007fe`b5113501 KERNEL32!BaseThreadInitThunk+0x1a
00000040`d5a8fcf0 00000000`00000000 ntdll!RtlUserThreadStart+0x1d

0:000> !teb
TEB at 000007f780bcd000
    ExceptionList:        0000000000000000
    StackBase:            00000040d5a90000
    StackLimit:           00000040d5a84000
    SubSystemTib:         0000000000000000
    FiberData:            0000000000001e00
    ArbitraryUserPointer: 0000000000000000
    Self:                 000007f780bcd000
    EnvironmentPointer:   0000000000000000
    ClientId:             00000000000000a0 . 000000000000094c
    RpcHandle:            0000000000000000
    Tls Storage:          00000040d5cb9620
    PEB Address:          000007f780bcf000
    LastErrorValue:       1008
    LastStatusValue:      c0000034
    Count Owned Locks:    0
    HardErrorMode:        0
0:000> !peb
PEB at 000007f780bcf000
    InheritedAddressSpace:    No
    ReadImageFileExecOptions: No
    BeingDebugged:            Yes
    ImageBaseAddress:         000007f780f80000
    Ldr                       000007feb52288a0
    Ldr.Initialized:          Yes
    Ldr.InInitializationOrderModuleList: 00000040d5cb1d30 . 00000040d5cbeca0
    Ldr.InLoadOrderModuleList:           00000040d5cb1e90 . 00000040d5cbec80
    Ldr.InMemoryOrderModuleList:         00000040d5cb1ea0 . 00000040d5cbec90
                    Base TimeStamp                     Module
             7f780f80000 50109cdd Jul 26 03:26:53 2012 C:\Windows\System32\rundll32.exe
             7feb50f0000 505ab405 Sep 20 08:13:25 2012 C:\Windows\SYSTEM32\ntdll.dll
             7feb2c60000 5010a83a Jul 26 04:15:22 2012 C:\Windows\system32\KERNEL32.DLL
             7feb2460000 50988aa6 Nov 06 04:57:26 2012 C:\Windows\system32\KERNELBASE.dll
             7feb35f0000 505a9a92 Sep 20 06:24:50 2012 C:\Windows\system32\USER32.dll
             7feb2da0000 5010ac20 Jul 26 04:32:00 2012 C:\Windows\system32\msvcrt.dll
             7feb25c0000 50108843 Jul 26 01:58:59 2012 C:\Windows\system32\imagehlp.dll
             7feb5000000 501080dd Jul 26 01:27:25 2012 C:\Windows\system32\SHLWAPI.dll
             7feb4ec0000 50763d75 Oct 11 05:31:01 2012 C:\Windows\system32\GDI32.dll
             7feb3080000 501088ce Jul 26 02:01:18 2012 C:\Windows\system32\IMM32.DLL
             7feb32f0000 50a1ac9e Nov 13 03:12:46 2012 C:\Windows\system32\MSCTF.dll
             7feb3bd0000 50986d34 Nov 06 02:51:48 2012 C:\Windows\system32\Shell32.dll
             7feb3950000 505a9af2 Sep 20 06:26:26 2012 C:\Windows\SYSTEM32\combase.dll
             7feb2b10000 50108bb9 Jul 26 02:13:45 2012 C:\Windows\system32\RPCRT4.dll
             7feb0eb0000 509b11a9 Nov 08 02:58:01 2012 C:\Windows\system32\uxtheme.dll
             7feafd30000 5010894e Jul 26 02:03:26 2012 C:\Windows\System32\dwmapi.dll
             7feaff80000 50763837 Oct 11 05:08:39 2012 C:\Windows\System32\SHCORE.dll
             7feb1e60000 5010ab50 Jul 26 04:28:32 2012 C:\Windows\System32\CRYPTBASE.dll
             7feb1e00000 50108a4c Jul 26 02:07:40 2012 C:\Windows\System32\bcryptPrimitives.dll
             7feb5050000 501081c1 Jul 26 01:31:13 2012 C:\Windows\SYSTEM32\clbcatq.dll
             7feb3b00000 50108a1d Jul 26 02:06:53 2012 C:\Windows\system32\OLEAUT32.dll
    SubSystemData:     0000000000000000
    ProcessHeap:       00000040d5cb0000
    ProcessParameters: 00000040d5cb14c0
    CurrentDirectory:  'C:\Program Files (x86)\Windows Kits\8.0\Debuggers\x64\'
    WindowTitle:  'C:\Windows\System32\rundll32.exe'
    ImageFile:    'C:\Windows\System32\rundll32.exe'
    CommandLine:  'C:\Windows\System32\rundll32.exe Shell32.dll,Control_RunDLL desk.cpl'
    DllPath:      '< Name not readable >'
    Environment:  00000040d5cb0860
        ALLUSERSPROFILE=C:\ProgramData



#29 MJH

MJH

    Newbie

  • Members
  • 14 posts
  •  
    France

Posted 11 February 2013 - 08:34 AM

Moi de mon côté, je me suis plongé dans le projet de ChrisR et miracle, j'ai un winpe 4, avec bureau intégré et Wow64 pour faire fonctionner les applis 32bits dessus... En plus, il démarre sur les pc portables en uefi avec secure boot... Franchement nickel, comme projet, je pouvais pas rêver mieux :D

 

Noël, je continuerai de suivre avec intérêt ton projet et comme le disait ludovici, plus haut, quelqu'un comme toi serait un atout dans leur projet...

 

Allez Bon courage



#30 noel

noel

    Frequent Member

  • Advanced user
  • 178 posts
  • Location:nantes
  •  
    France

Posted 26 February 2013 - 09:23 PM

Pour l'instant, je bloque et je ne sais plus où chercher. Je reste persuader que le dialogue DCOM et les droits associés sont la clé du mystère.

 

Le point sur mes constatations

 

1 - explorer sans bureau

 

         - affichage avec beaucoup de retard ( 30 à 50 secondes )  si "Runas" est absent dans la clé suivante :

[HKEY_CLASSES_ROOT\AppID\{9BA05972-F6A8-11CF-A442-00A0C90A8F39}]
@="ShellWindows"
"RunAs"="Interactive User"

 

         - Suppression Obligatoire de "runas" de "Elevated-Unelevated Explorer Factory" afin de lancer un explorer qui sert de gestionnaire de fichiers, avec ou sans le bureau ( Avec le bureau actif, il y a un message d'erreur signalant une anomalie avec le "compte" )
reg delete HKEY_CLASSES_ROOT\AppID\{CDCBCFCA-3CDC-436f-A4E2-0E02075250C2} /v RunAs /f

 

         - Suppression Obligatoire de "runas" de "Desktop Wallpaper Factory" afin de voir apparaître le build sur le fond d'écran "winpe.jpg" ( ou sur le fond noir si bureau actif )
reg delete HKEY_CLASSES_ROOT\AppID\{8B30085D-A3E3-44e3-AE7F-B03A1340EBED}  /v RunAs /f

 

2 - avec le bureau de explorer


        - F5 sur le bureau pour voir apparaître la poubelle sur le bureau :
               les fenêtres explorer disposent maintenant du rafraîchissement automatique lors de la création/suppression de fichiers
        - avec le ruban, une zone vide entre barre de titre et barre de menu : Comment obtenir le bon affichage ?

                http://noel.blanc.fr...ic/pbRibbon.png
        - en ouvrant plusieurs consoles et en les faisant apparaître dans le bureau, le menu contextuel de la barre de tâches permet de les mettre en cascade, côte à côte... cela confirme peut être l'idée que seuls les objets dcom de explorer sont perturbés

 

3 - PB de création de raccourci :

 
        sur le bureau :

             http://noel.blanc.fr...RacourciNOK.png

             créer des raccourcis avec le clic doit sur le bureau : on ne les voit pas
             les raccourcis existent dans x:\windows\system32\config\systemProfile\desktop\nouveau raccourci.lnk
             presser F5 et les raccourcis apparaissent sur le bureau
             il est impossible de modifier la cible et le type dans leurs "propriétés"
             en revanche il est possible de modifier le raccourci "notepad.lnk" provenant de w8 "normal" et recopié dans le répertoire ci-dessus. Surprenant
              déplacement des icones sur le bureau impossible  -->> pb de droit via DCOM ?

 

note : pour faire apparaître l'extension ".lnk", reg delete HKCR\lnkfile /v nevershowext /f

 

4 - runas.exe ne marche pas même après l'installation du sevice seclogon : erreur 5

            http://noel.blanc.fr...RacourciNOK.png

 

5 - NOK
             rundll32.exe Shell32.dll,Control_RunDLL desk.cpl  -->>> pb dcom avec "surrogate", peut être uipi ?
             runas.exe    (avec service seclogon)              -->>> accès refusé, pb de droit
             dcomcnfg                                          -->>> point rouge sur "computer"
             Onglet "sécurité"

 

6 - OK :
            rundll32.exe Shell32.dll,Control_RunDLL inetcpl.cpl  -->>> dcom ordinaire
            rundll32.exe Shell32.dll,Control_RunDLL ncpa.cpl
            Corbeille visible si F5 dans le bureau

 

10 - des trucs que je ne connaissais pas  ( à voir pour winpe )  :

 

Pour lancer la configuration de la carte réseau
start ::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{7007ACC7-3202-11D1-AAD2-00805FC1270E}


Pour "my computer"
start ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}

 

Pour trouver les lancemments de type "start ::{..}", consulter hklm\software\windows\currentVerson\explorer\FolderDescriptions...parsingName

 

Panneau de configuration "Résolution d'écran" :

     - avec controle.exe :

                %windir%\system32\control.exe desk.cpl,Settings,@Settings
                %windir%\system32\control.exe desk.cpl,Settings
     - avec rundll32 :

             rundll32.exe Shell32.dll,Control_RunDLL desk.cpl

 

Panneau de configuration "Affichage" :

 personnalisation ( arrière plan, couleur, son...)  rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2
 ecran de veille                                                    rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,1
 paramètre des icones du bureau                       rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0


Option de "Dossiers et recherche"
Général               : %windir%\system32\rundll32.exe shell32.dll,Options_RunDLL 0
Rechercher            : %windir%\system32\rundll32.exe shell32.dll,Options_RunDLL 2
Afficher              : %windir%\system32\rundll32.exe shell32.dll,Options_RunDLL 7


Propriétés de la Barre de tâches
Barre de tâches       : %windir%\system32\rundll32.exe shell32.dll,Options_RunDLL 1
Listes des raccourcis : %windir%\system32\rundll32.exe shell32.dll,Options_RunDLL 3
Barre d'outils        : %windir%\system32\rundll32.exe shell32.dll,Options_RunDLL 6

 

Icones de la zone de notification
Icones systeme        : %windir%\system32\rundll32.exe shell32.dll,Options_RunDLL 4
Icone de zone de notification : %windir%\system32\rundll32.exe shell32.dll,Options_RunDLL 5


tous les panneaux de configuration :
- regroupés par catégorie          :   start ::{26EE0668-A00A-44D7-9371-BEB064C98683}
- tous affichés, petites icones    :   start ::{26EE0668-A00A-44D7-9371-BEB064C98683}\0
affichage du groupe suivant :
- "apparence et personnalisation"  :   start ::{26EE0668-A00A-44D7-9371-BEB064C98683}\1
- "matériel et audio"              :   start ::{26EE0668-A00A-44D7-9371-BEB064C98683}\2

 

Le réseau local
rundll32.exe Shell32.dll,Control_RunDLL ncpa.cpl

 

ET aussi ceci :
%SystemRoot%\explorer.exe shell:::{ED228FDF-9EA8-4870-83b1-96b02CFE0D52}  -->>> install les jeux en ouvrant une fenêtre explorer

 

 

10 - piste uipi
http://msdn.microsof..._uipi_unit.aspx
http://msdn.microsof...6(v=vs.85).aspx
http://www.coseinc.c...ta_UIPI.ppt.pdf

 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
 FilterAdministratorToken -->> n'existe pas dans winpe
 EnableUIPI
 EnableLUA
 EnableMIC


20 - Autres pistes

 Dwm.exe et 3D
http://msdn.microsof...e/cc163435.aspx



#31 noel

noel

    Frequent Member

  • Advanced user
  • 178 posts
  • Location:nantes
  •  
    France

Posted 18 April 2013 - 09:29 PM

Juste un mot pour dire que c'est trop compliqué pour moi. Il existe plusieurs projet qui utilisent explorer de Seven.

 

J'ai utilisé l'explorer de Tihiy expW7forW8 http://www.msfn.org/...-for-windows-8/ et c'est parfait ou presque http://noel.blanc.fr...reauDeTihiy.png

Il est très simple à mettre en œuvre. Une fois que l'on a préparé les fichiers avec le programme de Tihiy depuis un W8 normal, il suffit de les copier dans un répertoire de winpe en respectant le sous répertoire de langue, ou de l'utiliser via le réseau local.

 

La commande rundll32.exe Shell32.dll,Control_RunDLL desk.cpl ne fonctionne pas, même avec le  bureau de tihiy.

Mais la barre de tâches fonctionne. Et on peut déplacer les icones sur le bureau.

 

Avec le bureau de explorer natif de W8, on peut créer des icones sur le bureau mais pas les déplacer. J'ai cru à un problème de droit ( runas de APPId). Mais je ne trouve pas. De plus, l'API enumChildWindows de montre pas "Shell_TrayWnd". Où est ce code?

 

Cela restera un mystère pour moi et pour toujours car j'abandonne.



#32 MJH

MJH

    Newbie

  • Members
  • 14 posts
  •  
    France

Posted 24 April 2013 - 09:25 AM

C'est vrai que c'est sacrément compliqué de faire un tel projet... En tout cas, tu t'es bien battu  ;D

 

Faut être plusieurs sur ces projets pour pouvoir y arriver...

 

A bientôt



#33 noel

noel

    Frequent Member

  • Advanced user
  • 178 posts
  • Location:nantes
  •  
    France

Posted 28 December 2013 - 10:28 PM

But de ce jour : Investigation autour de win81-RAMOS et Construction manuelle

  • Sources :

Kullenen_Ask : http://www.msfn.org/...d-from-winpe-30
Win81SE : http://spam/index.php (pour winpe et ramos)

  • Préambule :

Mon propos s'adresse à qui veut, comme moi, tenter de comprendre un peu les grands principes.
Win81SE est un produit "clé en main" qui propose une solution efficace.
En lisant les scripts du projet Win81SE, les diverses informations de Kullenen_Ask, je suis arrivé
à mieux comprendre comment construire un win81ramOs, ainsi que les différences avec un winpe.
On peut dire que cela ne sert à rien de comprendre, que c'est de la "philosophie", inutile...
Et à l'heure de windows ToGo, a-t-on encore besoin de winpe ?
Mais pour ceux qui restent intéressés, je propose un guide pour débutant comme moi.

  • Remarques :

On apprend vite à utiliser les commandes élémentaires, dism, bcdedit, bcdboot, diskpart (ou l'ihm)
Les commandes de base de bcdedit : "/store, /copy, /set, /deletevalue, /delete"
Les paramètres à maîtriser : device (et osdevice ) PARITION | VHD | RAMDISK = [lettre]\...
avec lettre = la lettre de la partition cible actuelle au moment de la commande.
Le programme va la remplacer par la signature du disque et/ou de la partition.
Donc 'lettre' n'a pas de persistance au delà de l'instant où l'on tape la commande bcdedit.
Les incontournables : procmon, proexp, depends

Le choix du but à atteindre : winpe81 ou win81ramos ?

  • Winpe81 : tout le monde sait ce que c'est.
  • win81RamOs : à partir de la version d'évaluation windows8.1 Entreprise et en appliquant les modifications dans les ruches comme le suggère le site chinois cité par Kullenen_Ask, on peut démarrrer sur un windows81. Cela ressemble à un windowsToGo. Et si on le met dans un RAMDISK et non dans un disque Flat, on a un win81RamOs comme le fait le projet Win81SE qui le fait mieux que moi mais poursuit un autre but.

Différences : la gestion de la sécurité est un point de divergence important.

  • winpe : pas de gestion de la sécurité au sein de l'OS.

C'est le compte system qui est actif. L'ouverture de session est complètement spécifique.
Winlogon.exe ne semble pas être opérationel bien que présent en RAM.
Les ruches SAM et SECURITY sont vides.
Présence de "SAC Special Administration Console" ( driver, service ... ) : ca sert à quoi ?
Mon avis : l'absence de gestion de la sécurité 'perturbe' les mécanismes DCOM utilisés par "explorer".
Je n'ai pas trouvé de site traitant de dcomcfg.exe ou de runas.exe ( seclogon ne suffit pas ) sous winpe.
Je ne sais pas si le projet "Win81SE option winpe" traite ces 2 points.

  • win81Ramos : la sécurité est bien présente.

Les ruches SAM et SECURITY ne sont pas vides. Winlogon gére bien l'ouverture de session. TOUT est opérationnel. On peut installer ce que l'on veut...pour 90 jours. Avec le projet "Win81SE option ramos", on peut réduire la taille de l'Os sur disque, le mettre dans un ramdisk.

 

Un mot sur Windows81 ToGo

Sur une clé usb, on a un windows 8.1 COMPLET
En moins d'une heure, on a un "vrai" windows sur une clé qui démarre sur tous les PC. Les drivers sont mis à jour si besoin.
La procédure normale propose d'utiliser une clé "certifiée" de 32Go.
Mais on trouve rapidement sur internet comment utiliser une clé de 16Go ordinaire. De mémoire :
un 'dism /apply-image' depuis un install.wim de la version d'évaluation windows8.1 Entreprise
un 'bcdboot'
Attention : sur ma clé Emtec 16Go, j'ai dû utiliser le logiciel "phison" pour changer le type ( fixe et non amovible mais pourquoi ?)

 

Le choix pour la mise en oeuvre : Ramdisk ou Flat ?

  • Ramdisk

Le suport physique contient les répertoires \boot qui contient le fichier BCD, \sources qui contient boot.wim
Au démarrage de Winpe, sur une clè USB, au travers de PXE, sur un CDROM, l'OS est monté en RAMDISK.
Le chargeur contenu sur le support ( clé usb, cdrom, via pxe ) installe d'abord ce RAMDISK.
Puis il éclate le contenu du fichier BOOT.WIM dans l'unité X: affecté au RAMDISK.
Cela se manifeste par un bcd qui contient la ligne :
ramdisk=[boot]\sources\boot.wim,{7619dcc8- ...

 

  • Flat

Le mode Flat est documenté dans AIK mais est peu utilisé.
Il permet pourtant une investigation plus facile qui évite de regénérer la WIM à chaque modification.
Il convient bien à l'utilisation d'une VM. Et avec hyperV de WIN81, on dispose d'un certain confort.
Les ruches ne sont pas persistantes avec winpe en mode Flat. Mais les fichiers le sont.
Et on constatera que les ruches sont persistantes avec win81RamOS.
Le support physique contient les répertoires habituels de WIN81, \windows, \users, \programmes
Pour utiliser l'OS en mode Flat, le plus simple est de le mettre dans un VHD.
On peut alors le monter avec Windows81 avec "explorer" et un clic droit "monter"
Puis faire une modification. Le démonter avec un clic droit "éjecter".
Et ensuite redémarrer la VM.

Note : Ensuite on peut mettre le vhd sur une clé usb et démarrer sur cette clé.
Il faut mettre la bonne ligne dans le bcd, quelques chose comme :
device ( et osdevice ) vhd=[la bonne lettre au moment de la commande bcdedit]\le chemin du vhd

-->>> C'est donc l'emploi d'un RamOs en mode Flat dans un vhd que je propose ici.

Le principe de la mise en oeuvre (proche de windows ToGo)

- créer un vhd avec l'ihm "gestionnaire de disque" ( menu "action" )
- appliquer une image dans ce disque virtuel
- préparer son démarrage avec un bcd
- modifier les ruches
- créer une vm avec ce disque virtuel

Avec plus de détails :

Il faut disposer :
- de la version d'évaluation windows81Entrprise
- d'un os win81 actif pour faire l'investigation
- d'un hyperV dans cet os ( donc d'un matériel disposant du SLAT niv 2 voir coreinfo.exe/systeminfo.exe )

1 - créer un vhd de 20Go (dynamique), créer une partition ntfs, la formater, l'initialiser, la rendre active -->> h:
2 - dism /apply-image /imagefile:D:\W81Entreprise\install.wim /index:1 /applydir:H:\
3 - bcdboot h:\windows /s H: /f ALL

Rq : les 4 ruches issues de install.wim seront modifiées.

4 - prendre possession des fichiers
icacls h:\*.* /setowner administrateurs /T /C /Q
->> 7667 fichiers correctement traités ; échec du traitement de 94417 fichiers --->> accès refusés !

donc je prends :
TAKEOWN /F h:\windows\system32\*.* /R /A ---->>>> mais pose trop de questions et ne réussit pas avec winsxs..

5 - modifier acl des fichiers
icacls h:\windows\system32\*.* /grant:r Administrateurs:F /T /C /Q

6 - remplacer utilman.exe par cmd.exe ( c'est l'habitude ! )
move h:\windows\system32\utilman.exe h:\windows\system32\utilman.exe.org
copy h:\windows\system32\cmd.exe h:\windows\system32\utilman.exe


7 - modifier/copier les ruches SAM et Security de install.wim d'une version W8.1 Entreprise Evaluation
>>> Comment modifier ...\1F4 pour activer le compte "adminstrator" ?
changer le "F4 01...11" par "F4 01...10 : -->>>> voir win81SE ( le script 2config ) ou créer/injecter un fichier .reg
[HKEY_USERS\SAM\SAM\Domains\Account\Users\000001F4]
"F"=hex:02,00,01,00,00,00,00,00,17,42,cd,7a,46,9f,ce,01,00,00,00,00,00,00,00,\
00,85,c0,1a,7f,46,9f,ce,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
>>> f4,01,00,00,01,02,00,00,10,02,00,00,00,00,00,00,00,00,01,00,01,00,00,00,00,\
00,00,00,00,00,00,00
copy /Y D:\RruchesModifiees\SAM H:\Windows\System32\config
copy /Y D:\RuchesModifiees\Security H:\Windows\System32\config

- autre "bonne vieille" méthode qui fonctionne bien dans le cas "manuel" :
"cliquer sur l'icone "utilman" et taper "net user administrator /ACTIVE:YES"
Pas de copie des ruches SAM et Security dans ce cas

8 - modifier la ruche SYSTEM selon le site chinois repris par kullenen_ask et chrisR dans win81SE
- la monter dans HKEY_USERS\sys

- prendre possession de la ruche
C:\Users\Noël\Desktop\subinacl\subinacl.exe /subkeyreg HKEY_USERS\sys /owner=administrateurs
- donner le contrôle total au groupe administrateurs
C:\Users\Noël\Desktop\subinacl\subinacl.exe /subkeyreg HKEY_USERS\sys /grant=administrateurs=F

- modifier 'System\Setup' ( ce sont en gros les différences majeures avec windows ToGo ) :

HKEY_USERS\sys\System\Setup,OOBEInProgress,0
HKEY_USERS\sys\System\Setup,SystemSetupInProgress,0
HKEY_USERS\sys\System\Setup,SetupPhase,0
// SetupType (0=Do nothing, show login screen, 1=Run CMDLine then REBOOT, 2=Run CMDLine then show login screen)
HKEY_USERS\sys\System\Setup,SetupType,0
HKEY_USERS\sys\System\Setup,CmdLine,""
//RegDelete,HKLM,Tmp_System\Setup,WorkingDirectory

- modifier ...
HKEY_USERS\sys\ControlSet001\Services\gpsvc\start 3
HKEY_USERS\sys\ControlSet001\Services\TrustedInstaller\start 3

suppression de :
HKEY_USERS\sys\System\ControlSet001\Services\rdyboost
modif pour retirer rdyboost dans LowerFilters
HKEY_USERS\sys\System\ControlSet001\Control\Class\{71a27cdd-812a-11d0-bec7-08002be2092f},LowerFilters,fvevol

suppression de : ( start = 4 pour l'instant )
HKEY_USERS\sysSystem\ControlSet001\Services\hwpolicy
HKEY_USERS\sysSystem\ControlSet001\Services\PEAUTH
HKEY_USERS\sysSystem\ControlSet001\Services\storflt
HKEY_USERS\sysSystem\ControlSet001\Services\WdBoot
HKEY_USERS\sysSystem\ControlSet001\Services\WdFilter

Ajout de 3 services : FBWF RAMDISK WIMFS
-->>> pour utiliser win81RamOs en ramdisk et non en mode flat
-->>> voir plus loin en annexe les fichiers reg

HKEY_USERS\sys\ControlSet001\Control\Power HibernateEnabled = 0
HKEY_USERS\sys\ControlSet001\Control\CrashControl AutoReboot = 0

9 - remplacer c: par x: dans les ruches software et system
>>> bizarre : la première fois j'avais x: comme %systemDrive% et maintenant j'ai "c:"
- avec, par exemple, un éditeur de texte hexa comme "frhed" qui est "libre"

10 - éjecter le VHD

11 - contruire une vm pointant sur ce disque.

remarques :
le nom de machine est défini dans la ruche security : WINDOWS-MRT14B2
et il est repris dans la ruche System ...\computername


Annexes : les fichiers pour le ramdisk, le filter writter, et le filtre pour Wim mais quelle utilité pour le vhd Flat?

FBWF.reg
Windows Registry Editor Version 5.00

[HKEY_USERS\sys\ControlSet001\Services\FBWF]
"DisplayName"="fbwf"
"ErrorControl"=dword:00000001
"Group"="FSFilter System Recovery"
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,66,00,62,00,77,00,66,00,2e,00,73,\
00,79,00,73,00,00,00
"Start"=dword:00000000
"Tag"=dword:00000005
"Type"=dword:00000002
"Description"="File Based Write Filter Driver"
"DependOnService"=hex(7):66,00,6c,00,74,00,6d,00,67,00,72,00,00,00,00,00
"WinPECacheThreshold"=dword:00000200

[HKEY_USERS\sys\ControlSet001\Services\FBWF\Instances]
"DefaultInstance"="Fbwf Instance"

[HKEY_USERS\sys\ControlSet001\Services\FBWF\Instances\Fbwf Instance]
"Altitude"="226000"
"Flags"=dword:00000000

RAMDISK.reg
Windows Registry Editor Version 5.00

[HKEY_USERS\sys\ControlSet001\Services\Ramdisk]
"DisplayName"="Windows RAM Disk Driver"
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,72,00,61,00,6d,00,64,00,69,00,73,\
00,6b,00,2e,00,73,00,79,00,73,00,00,00
"Start"=dword:00000000
"Type"=dword:00000001

[HKEY_USERS\sys\ControlSet001\Services\Ramdisk\Debug]
"DebugLevel"=dword:00000005
"DebugComponents"=dword:7fffffff



WIMFSF.reg
Windows Registry Editor Version 5.00

[HKEY_USERS\sys\ControlSet001\Services\WimFsf]
"DisplayName"="Windows Imaging File System Filter Driver"
"ErrorControl"=dword:00000001
"Group"="FSFilter Compression"
"Start"=dword:00000000
"Type"=dword:00000002
"DependOnService"=hex(7):46,00,6c,00,74,00,4d,00,67,00,72,00,00,00,00,00

[HKEY_USERS\sys\ControlSet001\Services\WimFsf\Instances]
"DefaultInstance"="Wimfsf Instance"

[HKEY_USERS\sys\ControlSet001\Services\WimFsf\Instances\Wimfsf Instance]
"Altitude"="161000"
"Flags"=dword:00000000

[HKEY_USERS\sys\ControlSet001\Services\WimFsf\Parameters]

Fin mode op


Je n'ai pas compris le but des modifications de Kullenen_Ask :
"
Only changing "HKLM\System\Setup\cmdline=winpeshl.exe" and i use "HKLM\System\Setup\SetupType=2".
It has nearly all windows drivers and most of the services. Mediaplayer, wireless, recovery environment,
photo viewer all exist it its small size 226mb. Media player capable to play Divx and MP4.
"
 

Je vais proposer un mode opératoire pour construire manuellement  Winpe-RamOs ...

 



#34 noel

noel

    Frequent Member

  • Advanced user
  • 178 posts
  • Location:nantes
  •  
    France

Posted 28 December 2013 - 10:50 PM

But de ce jour : investiguer autour de winpe81-Full ( ou winpe81-RamOs un peu comme win81RamOs )

 

Trois logiques pour construire un winpe de windows8.1 :

1 - utiliser les fichiers de winpe et rechercher les composants un par un pour chacune des fonctionnalités à ajouter
--->>> projet win81SE - winpe

2 - utiliser la totalité des fichiers de win81, conserver les ruches SAM et SECURITY de win81 et faire les seules modifications utiles pour lancer winpe
--->>> projet win81SE - win81RamOs

3 - utiliser la totalité des fichiers de win81, appliquer les ruches SAM et SECURITY de winpe et faire les seules modifications utiles pour lancer winpe
--->>> winpe-Full

avantage : placé dans un vhd, il offre un environnement "complet" propice à l'investigation
inconvénient : 1 heure de travail et un volume de 10Go !

note : windows to go reste une quatrième voie

 

Mise en oeuvre de winpe-Full dans un vhd

1 >>>> préparation des fichiers

- Créer un vhd
- Appliquer l'image Win81-entreprise-evaluation
set win81Entr=d:\W81Entrep\install.wim
set cible=g:\
dism /apply-image /index:1 /imagefile:%win81Entr% /ApplyDir:%cible%
- Sauvegarder les ruches
- Appliquer l'image d'un winpe81
set winpe81=d:\winpe5\winpe8.1-boot.wim
dism /apply-image /index:1 /imagefile:%winpe81% /ApplyDir:%cible%
- Sauvegarder les ruches
- Faire bcdboot %cible%\windows /s %cible% /f all

>>>> Donc on a la totalité des fichiers de win81 mais les ruches de winpe SAM SECURITY SOFTWARE SYSTEM

 

Attention : certains fichiers de winpe comme taskmgr.exe sont ceux de winpe et sont différents des fichiers de win81

- retrait de ...\system32\oobe


- ne conserver que le sous répertoire "en-us" vide
-->> sinon winlogon crée une fenêtre "firstlogonUi" visible dans taskmgr


- Démarrer sur winpe et vérifier l'arborescence des programmes avec proexp64.exe :

Ntoskrnl.exe
smss.exe
csrss.exe %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,20480,768 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=sxssrv,4 ProfileControl=Off MaxRequestThreads=16
csrss.exe
wininit.exe
services.exe
svchost.exe
...
lsass -setup <<< pas de paramètre avec un win81 normal
winlogon.exe ( sans le paramètre -SpecialSession )
dwm.exe
winpeshl.exe
cmd /k startnet.cmd


2 >>>> reprendre les 2 ruches SOFTWARE et SYSTEM de win81normal et "injecter" les clés de winpe

a - commencer avec SYSTEM :

- monter le vhd
- charger la ruche %cible%\...\SYSTEM
- prendre possession des clés
C:\Users\Noël\Desktop\subinacl\subinacl.exe /subkeyreg HKEY_USERS\sys /owner=administrateurs
- donner le contrôle total aux adm
C:\Users\Noël\Desktop\subinacl\subinacl.exe /subkeyreg HKEY_USERS\sys /grant=administrateurs=F

- injecter/modifier :
setup\
nettoyage...
control\Ci
services\...

- c:\ -->> x:\ ( j'utilise un éditeur hexa "opensource" frhed )

- control\lsa
nettoyage ...

- Session Manager
nettoyage ... SETUPEXECUTE = setupcl.exe ( générateur du sid de la machine )
... BootShell = bootim.exe

- pour les traces réseau :
c: -->> x: dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetTrace\Scenarios

- ne pas supprimer le service rdyboot !

- supprimer le service WSearch ( start = 4 ) : pas important !

- le service sppsvc ?

j'ai aussi renommé les clés \wpa mais pas de résultat positif sur l'absence de réseau ni sur quoi que ce soit :
ces clés sont reconstruites lors du démarrage suivant

>>>> Maintenant winpe démarre.

b - continuer avec SOFTWARE :

- monter le vhd
- charger la ruche %cible%\...\SOFTWARE
- prendre possession des clés
C:\Users\Noël\Desktop\subinacl\subinacl.exe /subkeyreg HKEY_USERS\soft /owner=administrateurs
- donner le contrôle total aux adm
C:\Users\Noël\Desktop\subinacl\subinacl.exe /subkeyreg HKEY_USERS\soft /grant=administrateurs=F

- injecter/modifier :


winlogon\
winpe\
c:\ -->> x:\
menage dans HKEY_USERS\soft\Microsoft\Windows NT\CurrentVersion, dans LSA, dans winlogon

>>>> Winpe démarre encore.

c - pour le bureau

- Suppression de {CDCBCFCA-3CDC-436f-A4E2-0E02075250C2}\runas

- Modif de la clé "winlogon\shell = explorer.exe"

-->>> affichage du bureau mais toujours les problèmes :
- la barre de tâches absente
- le raffraîchissement par F5
- runas.exe inopérant

3 >>>> Constats :

- 2 instances de FirstUXWnd ( winlogon.exe ) visibles avec taskmgr dans "applications" mais pas dans "processes" !!!
suppression de la clé ...\Winlogon\EnableFirstLogonAnimation : sans résultat

-->>> vidage/renommage de ...\system32\oobe :
affichage du fond d'écran bleu normal de winpe ok et aucune instance de FirstUXWnd

- la modification de setupInProgress après le démarrage de winpe perturbe :
si répertoire "oobe" présent alors affichage ihm de logon avec sélection des utilisateurs mais pas d'ouverture de session opérationnelle
J'ai pu jouer avec vmconnect.exe de hyperv pour revenir à la session initiale et supprimer la seconde session avec taskmgr

Mon avis : Attente de l'affichage de l'ihm d'ouverture de session qui ne se fait pas
test : mettre en route d'abord le bureau avant de supprimer cette clé -> Pas d'évolution !

-->> pas de réseau !!!!!

- le service "dhcp" ne démarre pas

-->> le service "tdx" ne démarre pas
- changement de la ligne commande : %systemRoot% devient \systemroot\
--> le service txd démarre

note : les dépendances ne sont pas celles de winpe normal : pourquoi ?
- correction des dépendances : NSI, Tdx, Afd
inutile !

>>> dhcp ok mais ces 2 points restent incompréhensibles !

4 >>>> pour Eventvwr :
penser à arrêter le service eventlog, supprimer la cle minint, et redémarrer le service eventlog, remettre minint si besoin

5 >>>> investigation "programmes épinglés" dans la barre de tâches
ca marche mais pourquoi ?

- création d'une icone notepad sur le bureau
- suppression de cette icone = ok
- création d'une icone notepad sur le bureau
- glisser/déposer de cette icone dans la bare de tâches = OK
- la souris montre l'existance de 2 icones, notepad et iexplore
- le clic notepad dans la barre de tâches est opérationel

6 >>>> IE

IE se lance même si le bureau n'est pas présent.

- Bureau actif ou non actif, IE s'ouvre mais affiche "cette page ne peut pas s'afficher"

- or avec powershell :
$wc = new-object system.net.webclient
$url="http://www.bing.com"
$t = $wc.downloadString($url)
$t

--->>> on obtient bien la page de bing, donc dns, ip... = OK

$t | out-file x:\test.html
& 'x:\program files\internet explorer\iexplore.exe' x:\test.html

--->>> on visualise bien la partie "statique" de la page de bing, donc affichage = OK

investigations :
- debugger intégré F12 : on voit bien la demande de l'url (www.bing.com par exemple) dans la trace réseau
- J'ai pu mette en oeuvre la trace réseau avec netsh ( exploitée avec eventvwr dans un premier temps puis netmon 3.4 ):
rien trouvé, à part une demande dns qui aurait échoué mais je ne comprends pas pourquoi.

IE exploite :
HKEY_CLASSES_ROOT\CLSID\{56FDF344-FD6D-11d0-958A-006097C9A090} Task Bar Communication
%SystemRoot%\system32\explorerframe.dll
? HKEY_CLASSES_ROOT\CLSID\{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}
appid {9af8cd33-7aae-4cc2-b00a-835f6721e3c2}
localserver32 = "%ProgramFiles%\Internet Explorer\iexplore.exe" -startmediumtab

 

Si quelqu'un a une idée pour IE ...

-------------------------------------------------------------------------------------------

références à {CDCBCFCA-3CDC-436f-A4E2-0E02075250C2}
CLSID_DesktopExplorerHost
HKEY_CLASSES_ROOT\CLSID\{682159d9-c321-47ca-b3f1-30e36b2ec8b9}
CLSID_SeparateMultipleProcessExplorerHost
HKEY_CLASSES_ROOT\CLSID\{75dff2b7-6936-4c06-a8bb-676a7b00b24b}
CLSID_SeparateSingleProcessExplorerHost
HKEY_CLASSES_ROOT\CLSID\{ceff45ee-c862-41de-aee2-a022c81eda92}


What is AppID?? : http://blogs.msdn.co...Redirected=true

"Absence of the RunAs value indicates Run as Activator."
"•Run as Activator. The process is created in a new Window Station under the credentials of the caller"



#35 noel

noel

    Frequent Member

  • Advanced user
  • 178 posts
  • Location:nantes
  •  
    France

Posted 07 March 2016 - 10:31 AM

Depuis Décembre 2013, j'ai appris beaucoup plus sur winpe en consultant les divers sites spécialisés. J'ai consigné le résultat de mon apprentissage dans un pdf en français déposé ici http://noel.blanc.fr...WinpeBuilder.7z. J'ai aussi écrit quelques scripts PowerShell pour modifié un boot.wim ( ou le créer avec ADK ) et ajouter un bureau suffisamment confortable. J'ai regroupé le tout avec le nom 'microWinpeBuilder'. Mais tout cela s'inscrit dans un but pédagogique.


Edited by noel, 07 March 2016 - 10:47 AM.


#36 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 12 March 2016 - 04:22 PM

Le lien correct est http://noel.blanc.fr...WinpeBuilder.7z .

 

Le lien dans le post précédent contient des %5c au lieu de '/' .



#37 noel

noel

    Frequent Member

  • Advanced user
  • 178 posts
  • Location:nantes
  •  
    France

Posted 13 March 2016 - 05:23 PM

merci Erwan.I

 

je suis le roi du "copier/coller bêtement".

Et en plus je ne sais pas comment corriger le lien.

 

Un mot pour expliquer pourquoi en 2013, je me suis égaré dans mes recherches.

Depuis winpe pour Windows8 et l'introduction de l'interface metro, certaines fonctionnalités comme desk.cpl utilisent le mécanisme DCOM pour échanger entre le client et le serveur "Explorer". Et avec la version 64 bits, celle que j'utilise toujours, le comportement est surprenant. C'est la dll surogate dllhost.dll version 32 bits qui est appelée. Ce comportement est définie selon un flag lors de l'appel du 'coCreateInstante' ( de mémoire ).

Et ensuite, quand on arrive à mettre en œuvre le sous system32 bits, il faut reprendre les pointeurs de Windows 7 pour activer les anciennes interfaces encore disponibles.

Dans le PDF, j'espère avoir mieux expliqué ce mécanisme.

Ensuite j'avais une lacune énorme dans ma connaissance de Windows : j'ignorais le rôles de la clé ProductOptions/ProductPolicy.

Enfin, je n'avais pas une méthode efficace de sélection et manipulations des ruches.

Bref. Un débutant qui avance doucement.



#38 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 13 March 2016 - 07:00 PM

Regardez ici:
[quòte name="noel" post="198314" timestamp="1457346691"]
Depuis Décembre 2013, j'ai appris beaucoup plus sur winpe en consultant les divers sites spécialisés. J'ai consigné le résultat de mon apprentissage dans un pdf en français déposé ici [ùrl=hxtp://noel.blanc.free.fr/public\winpe\microWinpeBuilder.7z]hxtp://noel.blanc.free.fr/public\winpe\microWinpeBuilder.7z[/ùrl]. J'ai aussi écrit quelques scripts PowerShell pour modifié un boot.wim ( ou le créer avec ADK ) et ajouter un bureau suffisamment confortable. J'ai regroupé le tout avec le nom 'microWinpeBuilder'. Mais tout cela s'inscrit dans un but pédagogique.
[/quote]

:duff:
Wonko



#39 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 13 March 2016 - 07:31 PM

C'est du beau travail et surtout c'est bien de partager : merci à toi.

 

J'ai pas mal joué aussi avec winpe mais je me suis focalisé essentiellement sur comment générer un winpe le plus simplement possible (voir quickpe), ou encore éditer une base de registre "offline" (voir offlinereg) ou encore comment booter un winpe facilement (voir tinypxe).

 

Je vois que tu cites Product Policy Viewer dans ton pdf : pour répondre à ta question, oui tu peux éditer mais en mode "offline".

 

Par contre je ne suis jamais penché sur comment intégrer explorer ou encore syswow64, d'autres le faisant bien que moi :)



#40 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 13 March 2016 - 07:31 PM

... double post ...



#41 noel

noel

    Frequent Member

  • Advanced user
  • 178 posts
  • Location:nantes
  •  
    France

Posted 13 March 2016 - 08:28 PM

@Wonko, Thank you. I copy/paste too fast. And now i don't know how to edit/modify this wrong link. I don't find a button 'edit' in the html Gui. Please, can you explain me.



#42 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 13 March 2016 - 08:44 PM

@Wonko, Thank you. I copy/paste too fast. And now i don't know how to edit/modify this wrong link. I don't find a button 'edit' in the html Gui. Please, can you explain me.

Sure ;) you don't find it.

Funny as it might be, you have not enough posts to be considered "reliable" (or whatever) by the board admin, and you cannot (yet) edit your posts, if not - maybe - within a few minutes since you actually made the post.

Cannot remember if Nuno set this minimum to 50 or 100 :w00t: :ph34r: posts, try e-mailing him (not PM) and ask him to be put in the list of users with "edit self posts" abilities, or just live it alone for the moment, ewan.l already posted the correct link and anyone with more than two neurons would be able to correct the "explicit" link I posted.

 

:duff:

Wonko



#43 noel

noel

    Frequent Member

  • Advanced user
  • 178 posts
  • Location:nantes
  •  
    France

Posted 30 December 2016 - 03:43 PM

J'ai un peu abandonné reboot.pro mais je n'oublie pas qu'il a été un allié important pour moi.

Ne maîtrisant pas l'anglais, je ne comprends le pourquoi des chamailleries entre les deux sites (celui ci et the oven) qui m'apportent le plus dans mon jeu autour de Winpe. Et je ne veux pas le savoir

Mais il m'est agréable de dire que ce site a contribué à mon activité autour de Winpe 10.

 

Mon but est toujours de comprendre les limites de Winpe et d'ajouter divers composants comme le bureau. Pour un OS alternatif, il y a Linux. Mais pour apprendre à analyser des dysfonctionnements, à programmer, Winpe est un bon terrain de jeu.

 

J'ai pu écrire un ensemble de scripts permettant de modifier le fichier boot.wim généré par l'ADK de windows 10. Ces scripts sont écrits tous en PowerShell. Ils reprennent quelques parties un peu complexes ou peu documentées sur le site de winpese.

 

Voici un lien sur mon site qui contient les fichiers "zippés" : http://noel.blanc.free.fr/

 

I forgot a little reboot.pro but I do not forget that it has been an important ally for me.
Do not speak English, I don't understand the why of the bickering between the two sites (this one and the oven) that bring me the most in my game around Winpe. And I don't want to know.
But it is nice to say that this site has helped my business around Winpe 10.

 

My goal is always to understand the limitations of Winpe and add components as the office. For an alternative OS, there is Linux. But to learn how to analyze malfunctions, programming, Winpe is a good playground.

 

I could write a set of scripts to modify the boot.wim file generated by the ADK for windows 10. These scripts are written in PowerShell. They take some parts a bit complex or little documented on the site of winpese.

 

Here is a link on my site that contains the "zipped" files: http://noel.blanc.free.fr/

 



#44 noel

noel

    Frequent Member

  • Advanced user
  • 178 posts
  • Location:nantes
  •  
    France

Posted 30 December 2016 - 03:45 PM

J'ai un peu abandonné reboot.pro mais je n'oublie pas qu'il a été un allié important pour moi.

Ne maîtrisant pas l'anglais, je ne comprends le pourquoi des chamailleries entre les deux sites (celui ci et the oven) qui m'apportent le plus dans mon jeu autour de Winpe. Et je ne veux pas le savoir

Mais il m'est agréable de dire que ce site a contribué à mon activité autour de Winpe 10.

 

Mon but est toujours de comprendre les limites de Winpe et d'ajouter divers composants comme le bureau. Pour un OS alternatif, il y a Linux. Mais pour apprendre à analyser des dysfonctionnements, à programmer, Winpe est un bon terrain de jeu.

 

J'ai pu écrire un ensemble de scripts permettant de modifier le fichier boot.wim généré par l'ADK de windows 10. Ces scripts sont écrits tous en PowerShell. Ils reprennent quelques parties un peu complexes ou peu documentées sur le site de winpese.

 

Voici un lien sur mon site qui contient les fichiers "zippés" : http://noel.blanc.free.fr/

 

I forgot a little reboot.pro but I do not forget that it has been an important ally for me.
Do not speak English, I don't understand the why of the bickering between the two sites (this one and the oven) that bring me the most in my game around Winpe. And I don't want to know.
But it is nice to say that this site has helped my business around Winpe 10.

 

My goal is always to understand the limitations of Winpe and add components as the office. For an alternative OS, there is Linux. But to learn how to analyze malfunctions, programming, Winpe is a good playground.

 

I could write a set of scripts to modify the boot.wim file generated by the ADK for windows 10. These scripts are written in PowerShell. They take some parts a bit complex or little documented on the site of winpese.

 

Here is a link on my site that contains the "zipped" files: http://noel.blanc.free.fr/

 



#45 noel

noel

    Frequent Member

  • Advanced user
  • 178 posts
  • Location:nantes
  •  
    France

Posted 30 December 2016 - 03:53 PM

Please, can  someone  deleted the previous double post.

 

C'est vrai que le titre winpe4 est dépassé. Il s'agit de winpe pour windows 10 build 10586 et build 14393.

 

Title is out of date. My scripts work with winpe 10 build 10586 and build 14393

 

Perhaps someone can find a workaround for the différents issues.



#46 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 30 December 2016 - 04:13 PM

Do not speak English, I don't understand the why of the bickering between the two sites (this one and the oven) that bring me the most in my game around Winpe. And I don't want to know.

 

 

Don't worry, it's not a problem with your English :), it's inexplicable -> c'est inexplicable ;).

 

:duff:

Wonko



#47 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 30 December 2016 - 05:20 PM

Bonjour Noel,

 

J'ai parcouru ta documentation (pdf) avec grand intéret.

C'est un travail de recherche vaste et méticuleux : bravo.

 

Merci bcp pour ce partage de connaissance.

 

Cordialement,

Erwan



#48 noel

noel

    Frequent Member

  • Advanced user
  • 178 posts
  • Location:nantes
  •  
    France

Posted 18 January 2017 - 10:44 AM

Bonjour erwan.l

 

Merci pour ton mot bien sympathique.

Bizarrement je n'ai pas reçu de notification par mail.

 

J'ai choisi de modifier le fichier boot.wim produit par l'ADK. C'est un choix différent de WinpeSe10 dont le but est de produire un Winpe fini et opérationnel. Mais WinpeSe ne semble pas pouvoir être modifié avec DISM par exemple. De plus l'usage de programme plus ou moins occultes rebute de nombreux utilisateurs, surtout les grandes entreprises.

 

Et c'est vrai que la documentation est bien dispersée. Et je ne suis pas le plus doué pour faire ce travail de documentation. Plein d'informations sont contenues dans les scripts. En effet, je fais difficilement la différence entre les informations importantes relatives à l'adaptation de Winpe et les informations liées au contexte dotnet et PowerShell.

 

Mes compétences sont limitées en matière d'investigation. Je ne trouve pas comment résoudre 2 ou 3 anomalies qu'il me semble pourtant possible de résoudre.

1 - WMP et les fichiers WAV, MP4

1-1 - fichier WAV



#49 noel

noel

    Frequent Member

  • Advanced user
  • 178 posts
  • Location:nantes
  •  
    France

Posted 18 January 2017 - 11:03 AM

Gggrrrr, une tabulation inappropriée.

 

1-1 fichier Wav et WMP

J'ai utilisé Graphedit.exe du SDK. Ce programme construit correctement le "graph" et joue correctement le fichier. La trace de procmon ne montre pas d'origine potentielle du message que WMP affiche " pas assez de mémoire".

Alors qu'avec le build précédent 1607-10586, WMP lisait bien ces fichiers.

J'hésite à utiliser Windbg, par paresse je dois le dire.

1-2 fichier MP4 et WMP

Depuis un windows10 normal, Graphedit.exe n'ouvre pas mon fichier mp4 ( un tutorial de PowerShell produit par le site accademy de MS ). L'erreur est "fichier non pris en charge". Mais WMP d'un windows 10 normal lit bien ce fichier. Donc peut être sans utiliser DirectShow.

Dans Winpe, WMP affiche le message "pas assez de mémoire" ( le même message que pour les fichiers Wav).

 

2 - comportement différent dans une VM entre VHD et ISO ( ou clé usb ) pour PowerShell dans la session ADM

Je crois avoir fait une description de cet incident dans le PDF.

 

3 - Comment tracer les appels COM ?

4 - comment tracer les messages envoyés et non reçus par une fenêtre ?

Spy++ du visual studio permet de tracer seulement les messages reçus.

Je prends comme exemple la petite fenêtre de droite en bas de l'écran, à droite de l'horloge, et qui mesure 1 mm de large. Spy++.exe ou inspect.exe permettent de la visualiser. Cette petite fenêtre reçoit bien les clics souris, affiche éventuellement un menu "afficher le bureau". Mais comment savoir ce qu'elle envoie à "explorer" pour que celui ci affiche le bureau?

 

Peut être as tu des éléments de réponse à mes interrogations ?

Merci à toi .






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users