Jump to content

Protecting UACD ! -Some Insight


Recommended Posts


And here is one of the System32 Folder in $OEM$ with ProtectUA.vbs in it.

post-35375-1121243164_thumb.jpg

I'm still after what the prepare.cmd that Moon mentioned in his guide is? Any clues most welcome. I hope that I have all the files in the right places. Thanx for your code Martin.

Edited by rikgale
Link to comment
Share on other sites

2rikgale,

here's a basic Prepare.cmd which if you look can know what it's purpose is. You can tweak it as per your need. One thing i should mention: you are free to think that your system be spared from any running of prepare.cmd. Either you can abandon it for being unnecessary in case of your system or you may transfer its command set into some other file named "rikgale.cmd"- it doesn't matter, mate.

******************

Prepare.cmd

******************

@Echo Off

Prompt $P$G

MODE CON COLS=80 LINES=300

COLOR 0B

IF EXIST D:\CD.txt set CDROM=D:

IF EXIST E:\CD.txt set CDROM=E:

IF EXIST F:\CD.txt set CDROM=F:

IF EXIST G:\CD.txt set CDROM=G:

IF EXIST H:\CD.txt set CDROM=H:

IF EXIST I:\CD.txt set CDROM=I:

IF EXIST J:\CD.txt set CDROM=J:

IF EXIST K:\CD.txt set CDROM=K:

IF EXIST L:\CD.txt set CDROM=L:

IF EXIST M:\CD.txt set CDROM=M:

IF EXIST N:\CD.txt set CDROM=N:

IF EXIST O:\CD.txt set CDROM=O:

IF EXIST P:\CD.txt set CDROM=P:

IF EXIST Q:\CD.txt set CDROM=Q:

IF EXIST R:\CD.txt set CDROM=R:

IF EXIST S:\CD.txt set CDROM=S:

IF EXIST T:\CD.txt set CDROM=T:

IF EXIST U:\CD.txt set CDROM=U:

IF EXIST V:\CD.txt set CDROM=V:

IF EXIST W:\CD.txt set CDROM=W:

IF EXIST X:\CD.txt set CDROM=X:

IF EXIST Y:\CD.txt set CDROM=Y:

IF EXIST Z:\CD.txt set CDROM=Z:

IF EXIST C:\PATH.TXT set SystemDrive=C:

IF EXIST C:\PATH.TXT set SystemRoot=C:\Windows

Echo.

Echo Registering Dynamic Link Library(s)....

regsvr32 /u /s mmcndmgr.dll

regsvr32 mmcndmgr.dll /s

regsvr32 comcat.dll /s

regsvr32 shdoc401.dll /s

regsvr32 shdoc401.dll /i /s

regsvr32 asctrls.ocx /s

regsvr32 oleaut32.dll /s

regsvr32 shdocvw.dll /I /s

regsvr32 shdocvw.dll /s

regsvr32 browseui.dll /s

regsvr32 browseui.dll /I /s

regsvr32 msrating.dll /s

regsvr32 mlang.dll /s

regsvr32 hlink.dll /s

regsvr32 mshtmled.dll /s

regsvr32 urlmon.dll /s

regsvr32 plugin.ocx /s

regsvr32 sendmail.dll /s

regsvr32 scrobj.dll /s

regsvr32 mmefxe.ocx /s

regsvr32 corpol.dll /s

regsvr32 jscript.dll /s

regsvr32 msxml.dll /s

regsvr32 imgutil.dll /s

regsvr32 thumbvw.dll /s

regsvr32 cryptext.dll /s

regsvr32 rsabase.dll /s

regsvr32 inseng.dll /s

regsvr32 iesetup.dll /i /s

regsvr32 cryptdlg.dll /s

regsvr32 actxprxy.dll /s

regsvr32 dispex.dll /s

regsvr32 occache.dll /s

regsvr32 occache.dll /i /s

regsvr32 iepeers.dll /s

regsvr32 urlmon.dll /i /s

regsvr32 cdfview.dll /s

regsvr32 webcheck.dll /s

regsvr32 mobsync.dll /s

regsvr32 pngfilt.dll /s

regsvr32 licmgr10.dll /s

regsvr32 icmfilter.dll /s

regsvr32 hhctrl.ocx /s

regsvr32 inetcfg.dll /s

regsvr32 tdc.ocx /s

regsvr32 MSR2C.DLL /s

regsvr32 msident.dll /s

regsvr32 msieftp.dll /s

regsvr32 xmsconf.ocx /s

regsvr32 ils.dll /s

regsvr32 msoeacct.dll /s

regsvr32 inetcomm.dll /s

regsvr32 msdxm.ocx /s

regsvr32 dxmasf.dll /s

regsvr32 l3codecx.ax /s

regsvr32 acelpdec.ax /s

regsvr32 mpg4ds32.ax /s

regsvr32 voxmsdec.ax /s

regsvr32 danim.dll /s

regsvr32 Daxctle.ocx /s

regsvr32 lmrt.dll /s

regsvr32 datime.dll /s

regsvr32 dxtrans.dll /s

regsvr32 dxtmsft.dll /s

regsvr32 WEBPOST.DLL /s

regsvr32 WPWIZDLL.DLL /s

regsvr32 POSTWPP.DLL /s

regsvr32 CRSWPP.DLL /s

regsvr32 FTPWPP.DLL /s

regsvr32 FPWPP.DLL /s

regsvr32 wshom.ocx /s

regsvr32 wshext.dll /s

regsvr32 vbscript.dll /s

regsvr32 scrrun.dll mstinit.exe /setup /s

regsvr32 msnsspc.dll /SspcCreateSspiReg /s

regsvr32 msapsspc.dll /SspcCreateSspiReg /s

Echo.

Echo Dynamic Link Library(s) Registered Successfully.....Done.

Echo.

md %SystemRoot%\SourceDir\i386

ECHO Please Wait, Source Files are being Copied. This may take Several Minutes....

xcopy /Y /E /H %CDROM%\i386\*.* %SystemRoot%\SourceDir\i386\

ECHO Registering Components in Windows Registry Binary ...

REGEDIT /S %SystemDrive%\RegTweak\General\Source.Reg

ECHO Components Registered Successfully...Done.

Echo.

Echo Installing Custom Boot Screen Greeting...Please Wait...

%SystemRoot%\system32\ConsoleHide.exe %SystemRoot%\system32\bootlogo.cmd

Echo Boot Screen Greeting Installed Successfully...

Echo Next Boot Meeting Scheduled...Done.

Echo.

DEL "%AllUsersProfile%\Start Menu\Windows Catalog.lnk"

DEL "%AllUsersProfile%\Start Menu\Windows Update.lnk"

REN "%AllUsersProfile%\Start Menu\Set Program Access and Defaults.lnk" "Set Program Access & Defaults.lnk"

EXIT

********************************************

THAT'S ALL !!!

********************************************

Link to comment
Share on other sites

Ok thanx for that moon, so basically you can put in there what ever you like that you use to prepare your system, so I suppose that you could call all your reg tweaks, other cmds and other vbs files and other stuff from prepare.cmd. Seems like a good idea.

I shall endevour to try and put a test together and run it this evening now that I have all the pieces of the puzzle.

Thanks for all the hard work that has been put in by u and martin

Rik

Link to comment
Share on other sites

interesting thread. i was thinking of implementing this before setup runs (using presetup.cmd like in the CD driver install) but when i tried this it didnt work (the detecting of the bios etc) It wouldnt run the .vbs file before setup starts :( I wanted to use it this way so that people couldnt install windows from my DVD. any ideas?

Link to comment
Share on other sites

From what I can gather from having read this thread several times it will not work at this point because several of the WMI classes are not present at that point in the install (correct me if I'm wrong MOON and Martin). The vbs script will only run properly once windows has been installed

Link to comment
Share on other sites

2rikgale,

some problem must have occurred when you executed it. please check out where the trouble is. In my machine i've executed it from RunOnceEx.cmd flawlessly. No problem came accross at all. check where is the problem. Reply soon. I know you'll be successfull next time.

Link to comment
Share on other sites

Hey

I've had a few issues which I managed to sort out and it now all works These are as follows:

1) PKUNZIP.exe only seems to like DOS names (i.e.) less than 8 chars long. Spent ages trying to figure out why ProtectUA.zip would not extract. It's 9 chars long! Renamed ProtectUA.zip to Protect.zip and edited the ProtectUA.vbs file to reflect this name change.

2) The files that PKUNZIP extracts are truncated to be 8 chars long as well. Renamed all my cmds and reg files to be less than 8 chars long. This is a bit on a pain in the butt as I use my files names to describe what the file does. I can however live with 8 chars as the benefits outway the cost.

3) Being a dumbass. There is not a cure for this.

You guys are the best.

Will this work with an ecrypted VBS file, and if it will can someone remind me how to incript vbs files. Also what is the syntax for adding comments to vbs code as I wish to comment the BIOS IDs so I know which machine is which.

Beers all round you all deserve it.

Rik :thumbup

Edited by rikgale
Link to comment
Share on other sites

Hi Rikgale!

The problem with ProtectUA is simple - I am probably the only "developer" here that didnt even once tried my own script. However 8.3 shouldnt be problem of pkuzip - you just simply didnt include $$Rename in your $oem$ directory (every file is truncated, because they are copied during text mode).

About comments, just use ' symbol to comment a line

Link to comment
Share on other sites

I am probably the only "developer" here that didnt even once tried my own script.

Martin, Don't worry it works! That's what testers are for.

Not quite following you on the use of $$Rename, I've never heard of it before. If you do expand on this (you don't have to) start with the bascis and work up

Thanx for the VB comment syntax.

Link to comment
Share on other sites

2Martin,

Here're some questions and comments for your suggestion:

1. If we want to implement at least a 2-CD Package, probably we don't need any BIOS or BaseBoard query output at all. Throughout this week i've gone through a lot of WMIC command returns. then i realised that Win32_CDROMdrive can completely protect a 2-CD Project without any need of other queries. Upon your feedback, i'll discuss the technique in a later post.

2. MoBo serial number is the only parameter which can save those who updates their BIOS regularly(me, included). It's beyond WMI, but is it beyond some other scripts? I don't know, but in internet i got hand to a delphi code; the code writer clearly tells that MoBo Serial Number is located either in the 1st 8 KB or the last 64 KB of the EEPROM. The delphi code, as he said, can extract that 8 KB or 64 KB info into a file for reading. I can't make any head or tail out of this code as i don't know how to use the code in Windows Environment. What you say?

3. Can you tell how the Hardware Reporting Softwares like Everest Home edition or SiSoft Sandra returns MoBo Serial Number in Windows GUI?

4. How the OEMs implementing SLP-based Protection? please let me know what you know or seen or ever apprehended.

5. What's the $$RENAME directory that you advised rikgale? Never heard of that inside the forum. Please elaborate. No Syntax, only logic.

6. I've seen your own topic on PnP-based driver installation. The topic has gone nowhere; probably, not many people are interested in it. I find it very cerebral. Can i post there to revive the topic just for my own good ?

Link to comment
Share on other sites

Sorry for later response, I got a lot of work to do these days :(

1.) what do you mean under cdromdrive class? How would you like to implement this feature?

2.) It is not as easy as it looks like. I can imagine easier way based on HW - lets say the PC code could be generating using baseboard, cpu and HDD configuration instead of BIOS informations.

3.) I think they are using DMI or direct reading instead of WMI classes

4.) You cant implement SLP as I know. I had a look at Microsoft partner KB and you cant make it universal (it is string in BIOS)

5.) Also answer for rikgate: $$rename is not directory, it is file ($$rename.txt). Because files are copied during text-mode, it dont support long filenames, instead it converts them to short one (8.3). Using this file, you can say that testua~1.cab will be "test ua for your use.cab". For more informations have a look at ref.chm in Deploy.cab.

6.) Of course you can :) I really love this script, it is extremely useful (for example when multimedia keyboard is detected you can install special software, or when CD burner is detected you can install Nero).

Link to comment
Share on other sites

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