Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - slore

Pages: [1] 2
1
Hi, noelBlanc

nice to see you back, to continue some research.  :great:

Quote
I will do a little bit of doc to explain another method of investigation:
From a freshly installed W10 in a VM, explain how to modify the essential hives to get a WinPE with "almost" all elements of W10, services, files, keys and also the elements added by the installation phase of W10 (very Important to keep that in mind)

2
hi, Oscar
thank for testing. Yes , that is a known issue.
I use the newest Windows SDK Interface for desktop backgroud menu(Minimum supported client Windows 8 as msdn said),
I should check the os version, create menu with different IF.
I old one which worked in Windows 7 that like right clicking on the "desktop" folder, there aren't view, arrengment.

as WINXP,WIN7,8,8.1 PE can use origin explorer, if the origin explorer can work, there is no need for third-party shell,
I barely use and maintain Win10 PE. because maybe some day, RS3,RS4, it's hard to make origin explorer work, like the modern UI (startmenu, network settings).
there was a BS explorer, but this one hasn't a x64 version, and no maintenance.

3
Hi, Lancelot,

as explorer is so widely, i thought no one will metion this topic.
thinks for reading and testing it.
add explorer is big process for me, who just maintain his own one PC,
i make a simple toy(zero dependencies for boot.wim) for myself.
there are a lot of to-do things,but no documents to learn, such a hard work.

Quote
can we have a separate "Shut Down" utility.
the UI things is designed to be "separate" - the html-like view,message,even the action can be modified by yourself.
with -ui option to use, see(but this a experiment feature):
http://theoven.org/index.php?topic=2066.msg23089#msg23089

* (done)Shutdown UI
* (done)Resolution UI
* (to-do)my computer's property tab. (show CPU,Memory info in a simple way, zero dependencies)
* (to-do)volume settings like normal Win10.
* (to-do)WIFI like normal Win10. (I think the PENetwork should do this.)
* (to-do)modern WIn10 start menu.

Quote
When you rebuild, We can test on Gena.
I don't know Gena so far, seems cool.
if I need build for adapting to Windows 10 RS3, I will make a xp/2003 version.

Quote
WinXShell can support MultiLanguages at StartMenu
sorry, as WinXShell can replace startmenu with Classic Shell(<= 4.2.5), I have no plan for this.
if have time to create the modern start menu, i will consider  support MultiLanguages.
(as WinXShell is just used by myself no the others,  *MultiLanguages support* was no priority in plan.  )

4
Win8.1 SE HomePage / Re: Migrating from Win10H on Surface 3
« on: September 21, 2017, 03:16:15 AM »
I think a Win10PE is the best for your needs.

touch screen, WIFI will easily add with WinRe.wim.
or ADK maked winpe.wim.

alternate OSK with FreeVK
http://freevirtualkeyboard.com/virtualkeyboard.html

alternate explorer with WinXShell
http://theoven.org/index.php?topic=2090.0
(add some *.dll , you can use a FileDialog as a File Explorer for copy/paste anything, you can also access LAN network share files as usual.)

use PENetwork for the network stuff.

5
Hi, ied206

Quote
I haven't used VBScript, what is the advantages of using VBScript's syntax?

why should we recreate the wheels again(new syntax)? with that time we can do more other things.

I was used C#/WPF for a little time, it very easy and fast to do the UI things,this is good.
but I hope that just do the *UI* option things, not the *CORE* part.

the *CORE* part I would like a interpreter language, as ZYX said
Quote
you could write and modify scripts and you could run them immediately after that without waiting for some kind of compilation
and compare to create new syntax, the Well-known language is better, the learn time is short,and many people may have the skill with the language.
the batch and vbscript are the built-in language in Windows(powershell is complicated), that's why my builder is use them.
if for both unix/windows, I perfer to python or ruby, there are so may pulgins and developers.

Quote
If,xxxx,Then,xxxx
as a programer, I never see such mess grammar but WB,even the pecmd's script syntax is bad for the users,
they are created for the developers not the users but no other replacement.

6
Hi, Martt

Quote
%Var1% = 153
%Var2% = 3

If %Var1% < %Var2% ==> True, string compare
If Math(%Var1% < %Var2%) ==> False, numeric compare

even simple equal expression will need write with a function(*MATH*)?

why %Var1% = "153" <- Var1 is string type, %Var2% = 153 <- Var2 is integer type,
more flexible, supports to_i, to_s for converting them by userself in some case.
%Var2% = %Var1%.to_i => Var2 is integer type
%Var2%.to_s => be string object

"10.0" + 16053 => error? 16063.0?
"10.0." + 16053 = error  or auto  "10.0.16053"
"10.0.".to_i + 16053 = 16063.0
"10.0" + 16053.to_s => 10.016053

Quote
I do not agree with you on the batch+vbs solution. It will work. But on a single project that supports multiple Windows version you do need a lot more.

if i need supoorts multiple windows version, my builder is use the origin batch var(%environment variable%),if,calculator(set /a) for that.
(I think most people will use batch file the autoit, the extend batch command is be written by themself.)

also the builder self is written by batch file, any one can extend with some program languge by themself.(python,ruby,autoit)
the 90% code just was written in a weekend,  development and maintenance is easy and fast with dynamic script.

wimbuilder:
http://theoven.org/index.php?topic=1969.0

vbscript is do the convert *.reg's orgin HKLM => HKLM\PE_SOFT, HKU =>  HKLM\PE_DEFUALT,
or some thing is easier(deal with +MUI in additems.txt which will auto copy the mui file) than batch.

7
Quote
So if someone is writing a replacement builder, why not change the syntax as well. Sure, it will break everybodies projects including mine, but it also gives a lot of new and better commands.

I had written simple batch+vbscript builder for myself to create PE with simple  additems.txt, origin *.reg files.
I don't know why we need write scripts(plugins) for just adding/deleting files and update registry.

The above *MATH* things are realy necessary?

maybe need some *If*  for dealing with different version OS, or arch,
maybe need some *String/File* things for updating pecmd.ini,
that's all.

If you recreate one, make a better easy-to-use builder rather than a WB compatible builder.

8
hi, noelBlanc

so quick reply.

>just write 100 lines code in 1 or 2 hours
EnumWindow,check window state and save them, then ShowWindow(Sync), some thing like this,
for me that is easy rather than ~"Windbg" things.~

>- do you modify the checksum of the file explorer after modify it ? I suppose yes but you don't say that. so i ask ....
yes, 0f85xxxxx -> 0f84xxxxx, and PEchecksum.exe explorer_modifed.exe.

- can you see with procmon64 some thing or make a save file .PML ?
I will try this.

>note : as i understand the code and my test, it is also the first jne that must be disable not only the second. The flag is base + 2F9 in build 14393. And i don't know the role of Base+2F8. 
sorry, I had a typo on it.I was changed the first jne not the second one.
(learn the windbg skill from you, I follow the Tray::ModeChange message get the BASE+171h in my version,and it is the first check in Tray::_RaiseDesktop)

>use a exe and hook.dll to do that "dynamicaly" and put it on early posts
I change the BASE+171h,or the jne to je in  "dynamicaly" with Visual Studio, That also worked.

>twice 6  "NOP" ( one for each jne ) seems to me to be better because "je" need to calculate the "delta" of offset.
I will try the 909090909090

thank again, that you is sharing your research(also the process), and How to  disassemble explorer.exe with windbg. :thumbsup:

9
Hi,noelBlanc

nice to see the problem(ShowDesktop) has perfect solution! :thumbsup:

Yes, winPeSe got it since a long time with the use of  "wind.exe and MsgHook.dll".
And Yes, this solution is not a good idea because with the next version of winpe, the address will be modify.
You wrong, wind.exe will deal with all version.

I'm not good as your in disassembling program, I just debug explorer.exe with
Visual Studio, find the message.
I hook the massage, and MinimizeAll/UnMinimizeAll the Windows with my code.
(compare to make origin explorer function work, this is easy for me, just write 100 lines code in 1 or 2 hours.)

but follow your description I try and got the same thing in 10.0.15063.  :great:
(code has a bit different.)

I want make a hard patch to switch the default jump, but the explorer.exe cann't startup with the change... :confused:

Code: [Select]
00007ff6`01c96a7f 418887f9020000  mov     byte ptr [r15+2F9h],al >>>>>>>>>>>>>>>>> on retrouve bien l'adresse du ba
00007ff6`01c96a86 84c0            test    al,al
00007ff6`01c96a88 0f851f660700    jne     explorer!`TileBadgeProviderLogging::Instance'::`2'::`dynamic atexit destructor for 'wrapper''+0x1512d (00007ff6`01d0d0ad)
00007ff6`01c96a8e 4138bff8020000  cmp     byte ptr [r15+2F8h],dil
00007ff6`01c96a95 0f8512660700    jne     explorer!`TileBadgeProviderLogging::Instance'::`2'::`   >>>>>>>>> change jne to je

10
Hi, Clsven

Quote
So there must be another bug.
try the release one in.
http://theoven.org/index.php?topic=2090.0

with this mistake, I already test it in Windows10_InsiderPreview_Client_x64_en-us_15063.iso
I want to know what the max resolution in the list.(if it is 1366x768, so maybe the PE need video driver for bigger resolution.)

there maybe three reason, I think.

1). your screen is in ongitudinal direction.
2). your PE is not functional(I tried clean boot.wim and Win10PESE, both work fine.).
3). your video card is special, need video driver installed.

if reason is 1), try to swtich the width and height paramters for DISP command.
PECMD.exe DISP W768 H1024
if this will change your resolution.

Can you just startup with boot.wim, and SHIFT+F10 open a cmd.exe,
and try to run "pecmd.exe disp", tell us if it works.
if works the reason is 2), if not, the reason is 3).

slore

11
when I select the "New" sub menu from contextmenu, it it freeze in Windows 10.0.15063 PE(Creator Update RTM)!

I can write a shell  extension dll to fix that, but maybe MS will fix in sometime.
Let's alternate the "New" with bat file and reg file.

WinXNew-Patch:
Code: [Select]
        hiderun_x64.exe        4kb - hiderun program(x64)
        hiderun_x86.exe        3kb - hiderun program(x86)
        INIT.bat                     wimbuilder's PATCH script, copy hiderrun.exe and WinXNew.bat to System32 directory.
        WinXNew.bat             create "New" folder or file batch file. judge file name, and create them.
        WinXNew.reg             create our "New" Sub Menu.

WinXNew.reg:
Code: [Select]
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\WinXNew]
"MUIVerb"="New(&W)"
"SubCommands"=""
"NODEFAULT"=""
"Position"="Bottom"
"SeparatorAfter"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\WinXNew\shell]

[HKEY_CLASSES_ROOT\Directory\Background\shell\WinXNew\shell\0folder]
"MUIVerb"="Folder(&F)"
"icon"="shell32.dll,3"
"SeparatorAfter"=""
"CommandFlags"=dword:00000040

[HKEY_CLASSES_ROOT\Directory\Background\shell\WinXNew\shell\0folder\command]
@="hiderun.exe WinXNew.bat folder \"%V\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\WinXNew\shell\1.txt]
"MUIVerb"="Text Document"
"Icon"="imageres.dll,-102"

[HKEY_CLASSES_ROOT\Directory\Background\shell\WinXNew\shell\1.txt\command]
@="hiderun.exe WinXNew.bat .txt \"%V\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\WinXNew\shell\2.bmp]
"MUIVerb"="Bitmap"
"Icon"="imageres.dll,-70"

[HKEY_CLASSES_ROOT\Directory\Background\shell\WinXNew\shell\2.bmp\command]
@="hiderun.exe WinXNew.bat .bmp \"%V\""


WinXNew.bat:
Code: [Select]
@echo off
cd /d "%~2"

set type=%1
set folder=Folder
set ".txt=Text Document"
set .bmp=Bitmap

call set "filename=New %%%type%%%"
set "newfilename=%filename%"
if not [%type%]==[folder] (
  set "newfilename=%filename%%type%"
)

set /a idx=1
:CHECKNAME
set /a idx+=1
if not exist "%newfilename%" goto :CREATION
call :GETNEWNAME %idx%
goto :CHECKNAME


:CREATION
rem "%newfilename%"
if [%type%]==[folder] (
  mkdir "%newfilename%"
) else (
  cd.>"%newfilename%"
)
goto :EOF

:GETNEWNAME
set "newfilename=%filename% (%1)"
if not [%type%]==[folder] (
  set "newfilename=%newfilename%%type%"
)
goto :EOF

WinXShell.exe won't auto create the cascade menu, so need remove the comment in WinXShell.jcfg to use this in Desktop's context menu.
Code: [Select]
  "JS_DESKTOP":
  {
    "cascademenu": {
      "WinXNew":"Directory\\Background\\shell\\WinXNew"
    }
  }

* WinXNew.zip (4.31 kB - downloaded 44 times.)

FYI:
remove system "New" Sub Menu.
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shellex\ContextMenuHandlers\New]

add "~reserved~" to
[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew]
file explorer won't be freeze, but just has a empty sub menu.(will load HKCR's ShellNew key for create sub menu)

add "~reserved~", "Classes" to
[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew]
file explorer won't be freeze, but just has no sub menu.(won't load HKCR's ShellNew key)

12
I can't drop the icon on the Desktop in Win10 PE!
I can't drop the file from desktop to cmd.exe, notepad or other apps!


DragAndDrop-Patch:
ADD_ITEMS.txt
Code: [Select]
Windows\System32\d3d11.dll
Windows\System32\DataExchange.dll
Windows\System32\dcomp.dll
Windows\System32\dxgi.dll
Windows\System32\ksuser.dll

DragDrop.reg:
Code: [Select]
Windows Registry Editor Version 5.00

;dataexchange.dll
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9FC8E510-A27C-4B3B-B9A3-BF65F00256A8}]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9FC8E510-A27C-4B3B-B9A3-BF65F00256A8}\InProcServer32]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,61,00,\
  74,00,61,00,65,00,78,00,63,00,68,00,61,00,6e,00,67,00,65,00,2e,00,64,00,6c,\
  00,6c,00,00,00
"ThreadingModel"="Both"

;need update ACL rights for offline importing.
;or you can add this on WinPE startup.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole\Extensions]
"DragDropExtension"="{9FC8E510-A27C-4B3B-B9A3-BF65F00256A8}"

* DragAndDrop.zip (1.02 kB - downloaded 56 times.)

13
Is there a option for File Explorer?
Yes.

you can use explorer++.exe, XYplorer.exe, TotalCommand.exe, etc.

WinXShell.jcfg:
Code: [Select]
  "JS_FILEEXPLORER":
  {
    "3rd_filename":"##{JVAR_MODULEPATH}\\explorer++.exe",
  },
  "JS_DESKTOP":
  {
    "3rd_open_arguments":"\"%s\""
  },
  "JS_QUICKLAUNCH":
  {
    "3rd_open_arguments":""
  }

this config with handle the double click on desktop(This PC/Recyle Bin/folder) and explorer icon on QuickLaunch.

if 3rd_filename is "" then will use a built-in file explorer.
the built-in file explorer is USE a OpenFileDialog window to simulate it.
it very functional but need some dependencies.

NewOpenDlg:
ADDITEMS.txt
Code: [Select]
Windows\System32\ExplorerFrame.dll
Windows\System32\shellstyle.dll
Windows\System32\StructuredQuery.dll

;some version of WIN10 need this file,
;some version will broke if have this file.
Windows\System32\edputil.dll


NewOpenDlg.reg:
Code: [Select]
Windows Registry Editor Version 5.00

;explorerframe.dll
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{056440FD-8568-48e7-A632-72157243B55B}]
@="Explorer Navigation Bar"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{056440FD-8568-48e7-A632-72157243B55B}\InProcServer32]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,65,00,78,00,\
  70,00,6c,00,6f,00,72,00,65,00,72,00,66,00,72,00,61,00,6d,00,65,00,2e,00,64,\
  00,6c,00,6c,00,00,00
"ThreadingModel"="Apartment"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{AE054212-3535-4430-83ED-D501AA6680E6}]
@="Shell Name Space ListView"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{AE054212-3535-4430-83ED-D501AA6680E6}\InProcServer32]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,65,00,78,00,\
  70,00,6c,00,6f,00,72,00,65,00,72,00,66,00,72,00,61,00,6d,00,65,00,2e,00,64,\
  00,6c,00,6c,00,00,00
"ThreadingModel"="Apartment"
;@="X:\\Windows\\system32\\explorerframe.dll"

you can do this(add to boot.wim) by yourself, or just download the patch and put this in wimbuilder's project folder,
wimbuilder will auto add the to boot.wim.
* NewOpenDlg.zip (1.31 kB - downloaded 59 times.)

FYI:
this also make "Browser..." work for Run dialog, and taskmgr.exe -> File -> New Task dialog,
and replace the Open File Dialog in new style for notepad.exe.

14
can I use a 3rd-part StartMenu?
Yes,but I think only Classic Shell(<= 4.2.5) can be.

ila_rendered

hide origin start icon with WinXShell.jcfg
Code: [Select]
  "JS_STARTMENU":
  {
    "start_icon":"empty",
    "start_padding":8,
    ...
  }

and the origin sample startmenu item can be set with:

Code: [Select]
"JS_STARTMENU":
  {
   "nosettings":true,
   "nobrowse":false,
   "nobrowse_network":true,
   "nofind":true,
    "norun":true,
    "nologoff":true,
    "norestart":false,
    "noshutdown":false,
    "noterm":true
   }

15
What is me?
a portable shell program(desktop, startmenu, quick launch, taskbar, notifyarea, clock), whitch can run in Windows XP, 2003(need rebuild),
Windows 7, 8, 8.1, 10, Windows Server 2008, 2012, 2016 and the Windows Preinstallation Environment(WinPE), and both x86, x64 environment.

ila_rendered

How to use?
in normal windows:
1. terminate the origin shell.
hold CTRL+SHIFT and right click the taskbar, select the "Terminate Explorer". (or force end in taskmgr.exe)

2. run "WinXShell.exe"

in PE:
press SHIFT+F10 to startup cmd.exe,
just run "WinXShell.exe -winpe"

this will a). auto terminate the origin "shell" - wallpaperhost.exe,
and b). set the environment variable USERPROFILE to X:\Users\Default if USERPROFILE is X:\Windows\system32\config,
and c). handle the shutdown/reboot button in startmenu with wpeuitl.exe(see WinXShell.jcfg).



16
Hi, Clsven

Quote
4.) I added your WinXHell_x86 program to the ISO.  When I execute it after boot I get an application error (see attached snapshot 2)

So whats wrong?

I try this in an English Language OS, it crashed, that realized me the UI_Resolution\main.jcfg has some description in Chinese.
remove them with notepad.exe to be like below.then it will work in PE.

★the comma ends in "baricon":"settings.ico" also is Chinese char,replace it with an English comma too, or just copy this:

main.jcfg
Code: [Select]
{
  "name":"UI_Resolution",
  "noshadow":false,
  "baricon":"settings.ico",
  "OnLoad":"
= #resolution_combo, ::GetResolutionList();
= #resolution_combo, ::GetCurrentResolution();
  ",
  "OnClick":{
  "applybtn":"
PUSH #resolution_combo;
PUSH 1;
CALL ::SetResolution();
  ",
  "cancelbtn":"
  CALL ::Close();
  "
  }
}

also, you can run WinXShell.exe -ui UI_Shutdown\main.jcfg(this one is just simple English json code.) and click restart, it work fine.

17
Hi, Clsven
I was tested with the Win10PE SE from below(built with WINDOWS10.0.10240_x64.ISO with default settings.).
http://win10se.cwcodes.net/Compressed/

1.) I have NO context menu

Desktop/right click/Display and Control Panel/Display both works for me.   :confused:

2) PECMD.exe DISP
will set the max resolution.

add this commandline in startup script will make the max resolution for you, which one should be.

4.) I added your WinXHell_x86 program to the ISO.  When I execute it after boot I get an application error (see attached snapshot 2)
try run this in cmd.exe with commandline I was written.

WinXShell.exe is a zero dependency shell program(Desktop,Taskbar,TrayArea,Simple StartMenu) for all windows version above XP,
but the Insider Preview Win10 15002~150042 build will crash if running the program directly.
It has a config for avoid this error.

but with -ui option, it won't create the shell, and shouldn't be error, so I didn't show the config for you.
the WinXShell's Resolution Settings will list the vaild Resolution and the max Resolution in the first.
It could auto set the max Resolution if modifing the main.jcfg with some *script* for it,
because the PECMD.exe can do the CUI things, the WinXShell.exe just foucus on a beautiful simple GUI interface.
I saw the application error message :(
the WinXShell is developed in Chinese/Japanese Language OS(tested on Chinese/Japanese/English Language OS),
maybe there something wrong with othe Language OS.

after all, tell us your PE's build version or upload on some server, that we can try to find why it doesn't work.


slore

18
Win10 / Re: I can not see the mouse cursor before the shell
« on: March 11, 2017, 07:13:42 PM »
try Copy
Code: [Select]
[HKEY_CURRENT_USER\Control Panel\Cursors]
registy information To
Code: [Select]
[HKEY_USERS\.DEFAULT\Control Panel\Cursors]

19
Quote
Can I enable somehow display management for Win10PESE generation (so that adjusting resolution will be possible later during run)?

even though Desktop->contextmenu->Display works for me, here are some options.

1.
Code: [Select]
PECMD.exe DISP W1024 H768
or
PECMD.exe DISP

2.
ila_rendered

Code: [Select]
WinXShell.exe -ui -jcfg UI_Resolution\main.jcfg

20
you needn't copy file from install.wim, so the config.ini need be:
Code: [Select]
set PB_SRC_WIM=
set PB_BASE_INDEX=1
set PB_BASE_WIM=D:\WIN10PESE\Boot10.wim

Pages: [1] 2
Powered by EzPortal