MSFN Forum: Multi Manufacturer Pre-Activation - MSFN Forum

Jump to content


  • 28 Pages +
  • 1
  • 2
  • 3
  • 4
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

Multi Manufacturer Pre-Activation Rate Topic: ***** 1 Votes

#21 User is offline   Bilou_Gateux 

  • Powered by Windows Embedded
  • PipPipPipPipPip
  • Group: Members
  • Posts: 766
  • Joined: 03-January 04

Posted 13 April 2006 - 01:40 AM

View PostBezalel, on Mar 27 2006, 02:45 PM, said:

Have you used this program during setup? The output looks more like WMI than SMBIOS.




Yes i've launched Getsys.exe @T39. Here the output:

Quote

MiTeC System Information Utility 10.2.0 - Copyright © 1997-2006 Michal Mutl
Type /? for options

SYSTEM OVERVIEW...OK
Machine: MACHINENAME
System : PC multiprocesseur ACPI
Model : Hewlett-Packard HP Compaq dc7600 Convertible Minitower
UpTime : 2 Minutes, 47 Seconds.
-------------------------------------------------------------------------------
CPU : 1 x Intel Pentium 4 - 2990 MHz
Cache: 16 KB L1 + 2048 KB L2 + 0 KB L3
-------------------------------------------------------------------------------
Mainboard: Hewlett-Packard 09F0h
Memory : 503 MB
-------------------------------------------------------------------------------
Operating system: Windows XP Professional [5.1.2600]Service pack : 2.0
Logged user : SYSTEM
-------------------------------------------------------------------------------
Display adapter: Intel® 82945G Express Chipset Family
Memory : 128 MB
-------------------------------------------------------------------------------
Fixed : Promise 1X2 Mirror/RAID - 76316 MB (SCSI)
C: (Primary NTFS - 76308 MB)
DVD : LITE-ON DVD SOHD-167T - 0 MB (ATAPI)
D:
-------------------------------------------------------------------------------
Keyboard:
-------------------------------------------------------------------------------
Mouse:
-------------------------------------------------------------------------------
Default printer:
-------------------------------------------------------------------------------




As you can see, @T39 we don't get full infos about PCI PnP Devices because they're not yet installed.


#22 User is offline   Bezalel 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 591
  • Joined: 11-October 05

Posted 26 April 2006 - 07:23 PM

I took a look a GetSys and decided not to use it because it merges the manufacturer and model into 1 long string. I've decided to use IBM's SMBIOS but need some help extracting the manufacturer's name from the output file.

#23 User is offline   Djé 

  • accent artist
  • PipPipPip
  • Group: Members
  • Posts: 359
  • Joined: 10-January 06

Posted 26 April 2006 - 08:18 PM

Do you mean something like indy_dba's way in this post?

If you need further help, I would be glad to give a hand.

#24 User is offline   Bigbrit 

  • Hardware Tech.
  • PipPip
  • Group: Members
  • Posts: 106
  • Joined: 11-May 05

Posted 26 April 2006 - 09:02 PM

Manufacturer: Elitegroup Co.
Model: i-Buddie
456C6974 6567726F 75702043 6F2E2020 20202020 20202020 20202020 20202020

Hope this helps

:hello:

#25 User is offline   Bezalel 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 591
  • Joined: 11-October 05

Posted 26 April 2006 - 09:05 PM

View PostDjé, on Apr 26 2006, 10:18 PM, said:

Do you mean something like indy_dba's way in this post?

If you need further help, I would be glad to give a hand.


With indy_dba's method I would need to hardcode every manufacturer's name in my script or have every user modify their own scripts based on which computers they own. (Even worse the script might see a component manufacturer's name and miskake it for the system manufacturer.)

This is what I need my script to do:
Run SMBIOS (I think /G) and redirect the output to a text file
Search the output file for the "System Information" section
Search the "System Information" section for the "Manufacturer" line
Convert the manufacturer string into hex and replace the OEMBIOS files with files named with the hex string.

My script would not have to be modified when you by another PC from a a new manufacturer all you have to do is collect the OEMBIOS files from your new computer rename them with the manufacturer's hex string (I've already written these scripts) and drop the files onto your CD.

#26 User is offline   Bezalel 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 591
  • Joined: 11-October 05

Posted 26 April 2006 - 09:16 PM

View PostBigbrit, on Apr 26 2006, 11:02 PM, said:

Manufacturer: Elitegroup Co.
Model: i-Buddie
456C6974 6567726F 75702043 6F2E2020 20202020 20202020 20202020 20202020

Hope this helps

:hello:


I don't thing this unit uses preactivation :( Also notice that the manufacturers name has 18 spaces after it, this is the reason I converted the string to hex.

#27 User is offline   Bilou_Gateux 

  • Powered by Windows Embedded
  • PipPipPipPipPip
  • Group: Members
  • Posts: 766
  • Joined: 03-January 04

Posted 27 April 2006 - 07:10 AM

View PostBezalel, on Apr 27 2006, 04:05 AM, said:

This is what I need my script to do:
Run SMBIOS (I think /G) and redirect the output to a text file
Search the output file for the "System Information" section
Search the "System Information" section for the "Manufacturer" line
Convert the manufacturer string into hex and replace the OEMBIOS files with files named with the hex string.

My script would not have to be modified when you by another PC from a a new manufacturer all you have to do is collect the OEMBIOS files from your new computer rename them with the manufacturer's hex string (I've already written these scripts) and drop the files onto your CD.


Quote

@for /f "tokens=1* delims=: " %%i in ('smbiosd /t:1 ^|findstr "Manufacturer"') do @set "Manufacturer=%%j" &@call echo/%Manufacturer%


Previous script based from an original script by Yzöwl
for converting manufacturer string into hex with batch script, ask Yzöwl batch expert. If you use vbs or wsh, you could not run the script @T39

This post has been edited by Bilou_Gateux: 27 April 2006 - 07:47 AM


#28 User is offline   Djé 

  • accent artist
  • PipPipPip
  • Group: Members
  • Posts: 359
  • Joined: 10-January 06

Posted 27 April 2006 - 10:58 AM

May I suggest the attached script for including conversion to hex...

It may not be very elegant, but it should work at any time as soon as CMD.EXE works (@T39,...).

EDIT3 :blushing: : repaired the broken handling of spaces. Simplified and commented the code.

optimized version --> the Hex conversion works with some of the 7-bits printable ASCII characters: 32 (x20: <space>) to 126(x7E: ~).
Many many many problems with the double quote (") and the CMD special characters (&<|>^). Yappari.

Hex codes grouped by 4, separated with spaces.

Attached File(s)


This post has been edited by Djé: 27 April 2006 - 11:03 PM


#29 User is offline   Bezalel 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 591
  • Joined: 11-October 05

Posted 27 April 2006 - 02:44 PM

I'n using this line of code
for /F "tokens=1* delims='" %%a in ('smbios.exe /G ^|findstr "Manufacturer"') do converttohex.bat "%%b"

Currently it is calling converttohex each time it encounters the string "Manufacturer". How can I make only call converttohex for the first occurance.

#30 User is offline   Djé 

  • accent artist
  • PipPipPip
  • Group: Members
  • Posts: 359
  • Joined: 10-January 06

Posted 27 April 2006 - 03:16 PM

View PostBezalel, on Apr 27 2006, 09:44 PM, said:

Currently it is calling converttohex each time it encounters the string "Manufacturer". How can I make only call converttohex for the first occurance.

If you would use the smbiosd linked to by indy_dba, and use the '/t:1' switch as shown by bilou, I think you would have only ONE occurance of "Manufacturer".

View PostBezalel, on Apr 27 2006, 04:05 AM, said:

Search the output file for the "System Information" section
Search the "System Information" section for the "Manufacturer" line
the '/t:1' switch perform your 1st point, and the 'FOR' loop the 2nd ;)


However, if you want to stick to IBM's SMBIOS which I don't know and may not have the same switch, you can exit the loop after the first occurance by doing it this way:
for /F "tokens=1* delims='" %%a in ('smbios.exe /G ^|findstr "Manufacturer"') do (
converttohex.bat "%%b"
GOTO ENDFOR
)
:ENDFOR

This post has been edited by Djé: 27 April 2006 - 03:29 PM


#31 User is offline   Bezalel 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 591
  • Joined: 11-October 05

Posted 27 April 2006 - 05:38 PM

I think I have a working set of files. Extract these files to your hard drive and run GetOEMFiles.bat then copy the files to the $OEM$ directory of your CD. I haven't tested these yet but it looks good.

You don't have to use my cmdlies.txt file but you need to run RestoreOEMFiles.bat before WFP starts protecting the files (I think T-9)

If anyone has a Manufacturer's string that contains a ' or a " (single quote or double quote) or anyone else for that matter let me know if it works.

Attachment Removed - See Post #34

This post has been edited by Bezalel: 01 May 2006 - 12:13 AM


#32 User is offline   Bilou_Gateux 

  • Powered by Windows Embedded
  • PipPipPipPipPip
  • Group: Members
  • Posts: 766
  • Joined: 03-January 04

Posted 28 April 2006 - 11:33 AM

Mitec GetSysInfo.exe will not be available for one year.

Instead of using IBM smbios tool, why not using:
Compname.exe was written using the excellent Mitec SysInfo by Michal Mutl (see www.mitec.d2.cz) and Indy.

@for /F "tokens=2* delims=: " %%i in ('compname /s ^|findstr /L /c:"System	manufacturer"') do @set Manufacturer=%%j &@call manufacturerhex "%%j"


EDIT: previous script modified to trim any leading/trailing spaces &call Djé script.

Djé manufacturerhex.cmd script modified to take manufacturer string as 1st parameter

Quote

FOR /F "tokens=1* delims=: " %%i IN ('smbiosd /t:1 ^|findstr "Manufacturer"') DO SET "TEST=%%j"
SET TEST=%1
SET TEST=%TEST:"=%

echo Manufacturer: %TEST%

This post has been edited by Bilou_Gateux: 12 June 2006 - 08:59 AM


#33 User is offline   Bezalel 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 591
  • Joined: 11-October 05

Posted 28 April 2006 - 12:32 PM

View PostBilou_Gateux, on Apr 28 2006, 01:33 PM, said:

Instead of using IBM smbios tool, why not using:
Compname.exe was written using the excellent Mitec SysInfo by Michal Mutl (see www.mitec.d2.cz) and Indy.

@for /f "tokens=1* delims=:" %%i in ('compname /s ^|findstr /L /c:"System	manufacturer"') do @set Manufacturer=%%j


Because I didn't know about this program. At this stage I'm going to stay with smbios2.exe because it is a well known product and I can freely distribute it.

If someone writes an executable thet will output just the Manufacturer's String with no additional formatting I might change my script to use it.

Feel free to use whatever method you like in your own script but please don't use this thread to distribute these changes yet (unless my code is broken). There are a number of enhancements (OEMLOGO.BMP, OEMINFO.INI, Signature checking, Verifying SLP Status, SFX Support) that I want to add and don't want this project to be pulled in too many directions

#34 User is offline   Bezalel 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 591
  • Joined: 11-October 05

Posted 01 May 2006 - 12:08 AM

I removed the attachment from post 31 bacause it failed on my PC. Apparently .VBS is not associated with wscript at T-12. My next test is to chance the line
setEnvVar.vbs "%%b"

to
wscript setEnvVar.vbs "%%b"

and see what happens. If this works I will repost the files.

#35 User is offline   mittern8 

  • Group: Members
  • Posts: 8
  • Joined: 20-May 06

Posted 20 May 2006 - 12:57 AM

Hello and greetings from YerMoney!
This is my first time posting on this board, so let me start with telling you, that I'm deeply impressed by the threads I read tonite.
I focused mainly on the 'works' of Bezalel, because I'm trying to figure out, which part of the DMI-table is checked to see whether the installed Windows is pre-activated or not.

My first guess was the "Manufacturer"-string, since I was able to install a pre-activated (SLP) OEM Windows on a different mainboard after I patched the "Manufacturer"-string in this boards DMI-table.
Well, this worked like a charme!

Now it is interesting to see that you're trying to get rid of the problem to keep the pre-activation the other way round - by exchanging the OEMBIOS-files on the setup media (as far as I understand this thread).
Anyway - patching the DMI-table or collecting a pool of different oembios-files - I greatly apreciate the fact, that this thread gives a collection of different manufacturer strings!
So here is my contribution

Quote

Manufacturer: MEDIONPC
Model: AWRDACPI
4D454449 4F4E5043


Oh, and by the way, a very informative tool is available from german compu-mag c't, named ctdmi.exe and bundled in ctbios15.zip - unfortunately only available in german.

#36 User is offline   Bezalel 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 591
  • Joined: 11-October 05

Posted 23 May 2006 - 06:14 PM

View Postmittern8, on May 20 2006, 01:57 AM, said:

I'm trying to figure out, which part of the DMI-table is checked to see whether the installed Windows is pre-activated or not.


SLP Activation doesn't check the DMI tables, it searches through a specific memory address range looking for a particular string. The OEMs provide the address range and string to MS who encrypt them and provide the OEMs with an OEMBIOS file set.

#37 User is offline   mittern8 

  • Group: Members
  • Posts: 8
  • Joined: 20-May 06

Posted 23 May 2006 - 10:40 PM

I'll reply to that more detailed later on (it's early morning over here in Germany and I want to check a few things first).
But ...

Quote

SLP Activation doesn't check the DMI tables, it searches through a specific memory address range looking for a particular string.


Even if SLP activation doesn't check the DMI tables itself, the manufacturer string for sure derives from the DMI table data.
Otherwise I wouldn't have been successfull in patching the string in the DMI table and keep the pre-activation working on atotally different hardware leaving OEMBIOS files untouched.
In my opinion this is a more than sufficient practical proof.

To verify this (theoretically) we have to ask how and from where the WMI does collect it's infos.

For example:
With the function you use, you retrieve the "Manufacturer-" and the "Model-String".
This "Model-String" is non existent in the DMI tables, but instead I discovered it in the ACPI APIC table ("OEM TABLE ID") - where you (vice versa) won't find a "Manufacturer-String".
Even though the "Model-String" is (yet) of no interest for the pre-activation (but it will become important in concern of Trusted Computing), it leads me to the conclusion that the WMI data is collected from different sources (DMI table, ACPI APIC table and so on) and compiled to the WMI database.
So my intension is to find out what data sources should be examined and how the chances are to modify them.

Some thoughts on "Trusted Computing":
Posted Image

This post has been edited by mittern8: 23 May 2006 - 10:43 PM


#38 User is offline   Bezalel 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 591
  • Joined: 11-October 05

Posted 23 May 2006 - 11:44 PM

Maybe I should clarify my last post. SLP doesn't browse the DMI or SMBIOS tables for a specific entry, instead it searches for the sting within a specific range. The manufacturer may choose to search from 000E:4000 to 000F:FFFF (the entire BIOS) to allow for flexibility in BIOS design and allow them to place the string anywhere in their BIOS. They may also choose to use their name as the search string.

WMI uses multiple sources for its data. I think the manufacturer and model originate from SMBIOS.

#39 User is offline   mittern8 

  • Group: Members
  • Posts: 8
  • Joined: 20-May 06

Posted 23 May 2006 - 11:57 PM

View PostBezalel, on May 24 2006, 07:44 AM, said:

Maybe I should clarify my last post. SLP doesn't browse the DMI or SMBIOS tables for a specific entry, instead it searches for the sting within a specific range. The manufacturer may choose to search from 000E:4000 to 000F:FFFF (the entire BIOS) to allow for flexibility in BIOS design and allow them to place the string anywhere in their BIOS. They may also choose to use their name as the search string.

WMI uses multiple sources for its data. I think the manufacturer and model originate from SMBIOS.

Ja, okay!
So, it seems quite clear that SLP is using a different mechanism as WMI does, right?

P.S.:
I'm very keen to see how U solve the problem with the OEMBIOS files!
And, BTW, just read an articel on Windows Vista and BitLocker Drive Encryption :no:

This post has been edited by mittern8: 24 May 2006 - 12:02 AM


#40 User is offline   RogueSpear 

  • OS: SimplyMEPIS
  • Group: Supreme Sponsor
  • Posts: 1,529
  • Joined: 18-September 04

Posted 24 May 2006 - 06:04 AM

View PostBezalel, on May 1 2006, 01:08 AM, said:

I removed the attachment from post 31 bacause it failed on my PC. Apparently .VBS is not associated with wscript at T-12. My next test is to chance the line


You can run .vbs files from cmdlines.txt just fine, however you're limited to cscript.exe.

On another note, would it be beneficial to make a repository of the BIOS files for various makes and models?

Share this topic:


  • 28 Pages +
  • 1
  • 2
  • 3
  • 4
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

5 User(s) are reading this topic
0 members, 5 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2013 msfn.org
Privacy Policy