Jump to content

Reviving Dead Shell?


Recommended Posts

Posted (edited)

You're left with your desktop wallpaper, a movable mouse pointer, and nothing else.

What do you do? Normally, you're only left with the choice of restarting. However, there are often other programs in the background that you're running, and wish to shut down in a more graceful manner. Recently I thought of a solution that can revive the shell - write a VxD that hooks the keyboard, and whenever a certain key combination is pressed, run c:\windows\explorer.exe. Assuming that the underlying kernel32 and VMM subsystem are still intact, this should restart the GUI.

I'm also wondering if it is possible to reload the kernel and other DLLs via VxD, i.e. a "virtual reboot".

Any comments or suggestions are welcome. I hope to have a release by mid 2006.

Edited by LLXX

Posted (edited)

I can shut down explorer.exe and then restart it using this :http://www.sysinternals.com/Utilities/ProcessExplorer.html

Once running this you can kill processes and restart them.

The "run" command box is accessible through the file box in the top left corner.

Hope it helps

Ps. i tried to kill some things and the comp freezes, so be careful

Edited by kartel
Posted (edited)

I've written such VXD many months ago. It hooks CTRL-SHIFT-ESC and displays simple task manager which can run programs (including explorer) even if everything fallen.

http://www.msfn.org/board/index.php?s=&sho...ndpost&p=412089

'Virtual Reboot' feature which you've described is included in my Revolutions Pack (since 2.5) and in RP Lite (in Unofficial Service Pack forum).

It does not reload VXDs (because static VXDs do not support such functionalty), but it reloads processes.

Edited by Tihiy
Posted
You're left with your desktop wallpaper, a movable mouse pointer, and nothing else. Any comments or suggestions are welcome.

I simply use Cool Mouse 97 to hook the middle mouse button. It launches a menu application on which I have a Batchrun script who kills all my tray tasks and restarts them after restarting explorer so that when I recover explorer I also recover all my tray icons.

Posted
I've written such VXD many months ago. It hooks CTRL-SHIFT-ESC and displays simple task manager which can run programs (including explorer) even if everything fallen.

http://www.msfn.org/board/index.php?s=&sho...ndpost&p=412089

'Virtual Reboot' feature which you've described is included in my Revolutions Pack (since 2.5) and in RP Lite (in Unofficial Service Pack forum).

It does not reload VXDs (because static VXDs do not support such functionalty), but it reloads processes.

Very interesting, good work. However, that is not exactly what I had in mind... yours can run many different programs and is consists of two parts (one EXE and one VxD), while what I was thinking was one small VxD only, that only runs explorer.exe when the key sequence is pressed.

I tried the Reload option of your Taskmgr, is that the same as Virtual Reboot in the RP? It doesn't work as expected - it performs a full reboot.

Posted
Very interesting, good work. However, that is not exactly what I had in mind... yours can run many different programs and is consists of two parts (one EXE and one VxD), while what I was thinking was one small VxD only, that only runs explorer.exe when the key sequence is pressed.

I tried the Reload option of your Taskmgr, is that the same as Virtual Reboot in the RP? It doesn't work as expected - it performs a full reboot.

Well, you can try to hex-edit VXD and replace "taskmgr.exe" to "explorer.exe" in it.

Virtual Reboot in RP is different; Reload in Taskmgr does the same work as Start->Shut down->Reboot+SHIFT.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...