PELoader 0.4
A shell loader for WinPE/BartPE.
Copyright  2004 by Pierre Mounir (TheTruth).

PELoader is a shell loader that removes the resource limits (user resources limit & 24 hour time limit) from WinPE/BartPE in a legal way, no need for any patches. Use only for testing purposes and give feedback.

Command line syntax:
> PELoader [[-hide] shell_cmdline]
or
> PELoader {-r|-s}

- no params: loads the Command Prompt (cmd.exe) as your shell.
- shell_cmdline: the command line to the shell you want to launch instead of the default Command Prompt.
- hide: hides the window created by shell_cmdline, use it in case you launch your shell via a batch file (.cmd, .bat) and want to hide the Command Prompt window.
- r: reboots system.
- s: shuts down system.

Notes:
1. PELoader no longer resides in memory after loading the passed shell.

2. For PELoader to get rid of the 24 hour time limit, it terminates the following processes:
- smss.exe     (the session manager subsystem)
- winlogon.exe (the Windows NT logon application)

The disadvantage (maybe advantage) of this is that your system won't reboot automatically after the shell (CmdLine) process exits. To overcome this, I added the two parameters r & s to PELoader so that you can call it from any menu system.


For people worrying about the side effects of terminating the above mentioned system processes, here is an excerpt from the thread of PELoader in the 911 CD forum (http://www.911cd.net/forums):

Q: Is there any adverse effects (being able to logon into network shares, etc...) in terminating smss.exe and winlogon.exe? 


A: Ok, to make people rest assured, I'll try to clarify this briefly (highly simplified):
First of all, most of the functions of these two processes (winlogon and smss) are carried out at their startup.

+ As for smss.exe process, after carrying out the startup functions (creating the Win32 subsystem process (csrss.exe, win32k.sys) and the Lsass subsystem process, creating paging files and environment variables, etc.), it'll be waiting for any of the two processes winlogon or csrss to exit to terminate your session.
there are however two important functions of smss remaining:
- the first, waiting for client requests to load new subsystems (other than Win32 subsystem, like POSIX and OS/2 subsystems), this function of smss is applicable only if you're going to run POSIX or OS/2 apps.
- the second, waiting for client requests to create new sessions (Terminal Sessions), and this function is applicable only if you're running the terminal services and there is a user want to start a session from a remote terminal.

So, I think no missing functionality from terminating the smss process as long as you are not in need of the last two functions, which I'm sure no one in PE is.

+ As for the Winlogon process, after carrying out its startup functions (creating Window Stations and Desktops objects, registering the SAS sequence and negotiating MSGINA.DLL (not in PE), creating the process pointed to by the "CmdLine" reg key, etc.), the remaining functions of Winlogon like logging in/out users, listening to the SAS sequence (Ctrl+Alt+Del), and controlling the different desktops are NOT working BY DEFAULT in PE.

So, again I think no missing functionality from terminating the Winlogon process.

Last, if there is anyone who still sees any problems from terminating these processes, let me know.


regards,
Pierre Mounir (aka TheTruth)
pierremounir@yahoo.com
http://www.geocities.com/pierremounir/
