Jump to content

hacked outlook express:


mraeryceos

Recommended Posts

I'd like to know if someone has ever tried to hack outlook express into changing the path for dbx mail store files... from "%userprofile%\local settings\..." to "%userprofile%\application data\..."

Actually, I'm really shooting for:

d:\%username%\application data\microsoft\outlook express\

In the registry, the location of the store folder is in the value "Store Root" located in the key:

hkcu\identities\{ugly_serial}\software\microsoft\outlook express\5.0\

Where you don't know {ugly_serial} until you run OE for the first time. Changing this once won't help if a user creates additional identities, as this creates more ugly_serials, I guess with default "Store Root" data.

Not sure about a roaming profiles hack, since I still need to change the store folder to a different partition.

Does anyone know how roaming profiles work? Here's some interesting info:

ExcludeProfileDirs works like this:

The Default settings should always be present, they are not

connected to Group Polices in any way.

They are coming from the Default User and are applied to

all user accounts that are created on the workstation.

This is the Default setting:

[HKEY_CURRENT_USER\Software\Microsoft\

Windows NT\CurrentVersion\Winlogon]

"ExcludeProfileDirs"="Local Settings;Temporary Internet Files;

History;Temp"

So, if this is not working, some process, an Application Object etc,

is changing this value in the Users profile and/or in the Default Users

profile.

With standard Group Policies you can only ADD Directories to this Default,

not delete or change anything in the Default settings.

Directories excluded with *Group Policies* are written here:

[HKEY_CURRENT_USER\Software\Policies\Microsoft\

Windows\System]

"ExcludeProfileDirs"=

(N.B this is NOT the same place in the registry as where the

Default settings are)

Also see setting 510 on the "All" tab in the Group Policy Reference:

http://www.microsoft.com/downloads/d...displaylang=en

Windows then *merges* these two registry keys and put the result in a file,

in the Roaming Profile;

\Windows NT 5.1 Workstation Profile\ntuser.ini.

It is in a human readable fomat; Unicode (it's also marked "hidden").

This is the file that the Roaming Profile process is reading when

it determines which Folders (Directories) to exclude.

Regards

Rolf Lidvall

Swedish Radio (Ltd)

NSC SysOp

I guess I could live with the following *.js file from "Idle Newbie":

var WshShell = WScript.CreateObject("WScript.Shell");

var home = WshShell.ExpandEnvironmentStrings("%HOME%");

if (home == "%HOME%") home="D:\\Home";

var identities = WshShell.regRead("HKCU\\Identities\\Default User ID");

var key = "HKCU\\Identities\\" + identities + "\\Software\\Microsoft\\Outlook Express\\5.0";

WshShell.regWrite(key+"\\Store Root", home + "\\%USERNAME%\\Mail\\Outlook Express\\", "REG_EXPAND_SZ");

WshShell.regWrite(key+"\\NoSplash", 1, "REG_DWORD");

//kill itself

WScript.CreateObject("Scripting.FileSystemObject").deleteFile(WScript.ScriptFullName);

Edited by mraeryceos
Link to comment
Share on other sites


Ok, this is really really messy, but I don't care! It works! My first scripting attempt and I didn't know the difference between jscript and vbscript, so I was trying to use both types of syntax in one jscript file. I guess I could go back and fix things, but it might be educational to show my 3 files, if anything because I'm lazy. For Unattended OS install, place OE.bat in the "default user" startup folder. This way it will apply to any new user.

OE.bat

start c:\progra~1\outloo~1\msimn.exe /MIN
ping -n 7 127.0.0.1>nul
taskkill /im msimn.exe
start c:\OE.js

OE.js

var WshShell = WScript.CreateObject("WScript.Shell");
var home = WshShell.ExpandEnvironmentStrings("%HOME%");
if (home == "%HOME%") home="D:\\";
var identities = WshShell.regRead("HKCU\\Identities\\Default User ID");
var key = "HKCU\\Identities\\" + identities + "\\Software\\Microsoft\\Outlook Express\\5.0";
WshShell.regWrite(key+"\\Store Root", home + "%USERNAME%\\application data\\microsoft\\outlook express\\", "REG_EXPAND_SZ");
WshShell.regWrite(key+"\\NoSplash", 1, "REG_DWORD");
//
var Shell = new ActiveXObject("WScript.Shell");
Shell.Exec("%comspec% /c \"cscript //nologo c:\\OE.vbs\"")
//
//kill itself
//WScript.CreateObject("Scripting.FileSystemObject").deleteFile(WScript.ScriptFullName);

OE.vbs

Const oecmd = "%comspec% /c del ""%userprofile%\start menu\programs\startup\OE.cmd"""
Const oevbs = "%comspec% /c del c:\OE.vbs"
Const oejs = "%comspec% /c del c:\OE.js"
Set WshShell = CreateObject("WScript.Shell")
Set objExec = WshShell.Exec(oecmd)
' Set objExec = WshShell.Exec(oevbs)
' Set objExec = WshShell.Exec(oejs)

Edited by mraeryceos
Link to comment
Share on other sites

  • 4 weeks later...
  • 2 weeks later...

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...