获取主板BIOS的信息

豆豆网   技术应用频道   2007年03月20日  【字号: 收藏本文

本文详细介绍获取主板BIOS的信息

  1、读取主板序列号

  2、AWard Bios密码读取

  3、读取BIOS信息

  4、获取BIOS日期信息

  =========================================

  1、读取主板序列号

uses SHA1, Base64;
function GetHashedBiosInfo: string;
var
  SHA1Context: TSHA1Context;
  SHA1Digest: TSHA1Digest;
begin
  // Get the BIOS data
  SetString(Result, PChar(Ptr($F0000)), $10000);
  // Hash the string
  SHA1Init(SHA1Context);
  SHA1Update(SHA1Context, PChar(Result), Length(Result));
  SHA1Final(SHA1Context, SHA1Digest);
  SetString(Result, PChar(@SHA1Digest), sizeof(SHA1Digest));
  // Return the hash string encoded in printable characters
  Result := B64Encode(Result);
end;
function GetBiosInfoAsText: string;
var
  p, q: pchar;
begin
  q := nil;
  p := PChar(Ptr($FE000));
  repeat
   if q <> nil then begin
    if not (p^ in [#10, #13, #32..#126, #169, #184]) then begin
     if (p^ = #0) and (p - q >= 8) then begin
      Result := Result + TrimRight(String(q)) + #13#10;
     end;
     q := nil;
    end;
   end else
    if p^ in [#33..#126, #169, #184] then
     q := p;
   inc(p);
  until p > PChar(Ptr($FFFFF));
  Result := TrimRight(Result);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Lines.Text := GetBiosInfoAsText;
end;

  ==========================================

责编:豆豆技术应用

正在加载评论...