I've created little program in Delphi to get the Bios SN.
The code is:

BiosSerialNo := String(Pchar(Ptr($FEC71)));

And this work both in Win98 and Win2000.


How come stealthFIGHTER's Delphi program worked if you can't access the bios memory area in 2000?
Posted on 2002-01-28 07:59:06 by rdaneel
That sounds weird to me. It shouldn't be possible. I'd be glad to
give his program a test run...
Posted on 2002-01-28 08:13:42 by f0dder
I couldn't attach the file so here is link .

sF
Posted on 2002-01-28 14:20:18 by stealthFIGHTER
I wonder why the application gives me totally incorrect values...
and why, when looking at the executable with a hex editor, I find
those same totally incorrect values in there. Could it be that the
application indeed does not read the bios, hmmm? ;).
Posted on 2002-01-28 14:44:40 by f0dder
I can't upload (slow) any picture to show you that this program works under Win2000 (on my PC) (note: this progr. is coded under Win98 with Delphi 3).


sF
Posted on 2002-01-28 15:03:10 by stealthFIGHTER
Well, it doesn't crash here. But it shows incorrect values. Values that
seem to be compiled into the app, not dynamically fetched.
Posted on 2002-01-28 15:29:43 by f0dder
I wonder why the application gives me totally incorrect values...

There's probably no gaurantee that your BIOS has
it's S/N at the very same address as SF. Why
you're getting values from the .exe, ????

farrier
Posted on 2002-01-28 15:42:53 by farrier
BIOS strings are at pretty standard positions on all recent hardware
(where "recent" is probably as old as early 90s). Now, I could theoretically
take the .exe to my kid brothers' PC that runs 98se, and see if it
has the same values there (meaning the exe is a hoax). Dunno if
I can be bothered though :).
Posted on 2002-01-28 15:47:17 by f0dder
This f@cking prog. really doesn't work under Win2000 :(. I've installed my D3 under Win2000 and compiled the source again and wtf > Access violation blah... . So as f0dder said the exe has probably the bios-info compiled in it.

My mistake.

sF
Posted on 2002-01-28 16:10:13 by stealthFIGHTER


procedure MainBoardBiosInformation;
begin
try
MainBoardBiosName := String(Pchar(Ptr($FE061)));
MainBoardBiosCopyright := String(Pchar(Ptr($FE091)));
MainBoardBiosDate := String(Pchar(Ptr($FFFF5)));
MainBoardBiosSerialNo := String(Pchar(Ptr($FEC71)));
except
MainBoardBiosName := 'Unsupported';
MainBoardBiosCopyright := 'Unsupported';
MainBoardBiosDate := 'Unsupported';
MainBoardBiosSerialNo := 'Unsupported';
end;


Didnt somebody just say that area of memory is protected? no?
Posted on 2002-05-06 15:11:35 by Volcano_88101