其他语言

位置:IT落伍者 >> 其他语言 >> 浏览文章

C语言代码套用在Delphi编程中[5]


发布日期:2018年01月21日
 
C语言代码套用在Delphi编程中[5]

else

S[I] := CHAR($ or (PasswordValue and $));

PasswordValue := (PasswordValue BYTE(S[I])) shr ;

end;

S[] := CHAR(I);

PasswordValue := I shr ;

while PasswordValue < I do

begin {this is to do because award starts calculating with the last letter}

C := S[BYTE(S[]) I + ];

S[BYTE(S[]) I + ] := S[I];

S[I] := C;

Dec(I);

end;

CalcPossiblePassword := S;

end;

function readcmos(off: byte): byte;

var

value: byte;

begin

asm

xor ax ax

mov al off

out h al

in al h

mov value al

end;

readcmos := value;

end;

function My_GetBiosPassword: string;

var

superpw userpw: word;

begin

if WinPlatform <> VER_PLATFORM_WIN_NT then //不是NT

begin

pchar(@superpw)[] := char(readcmos($C));

pchar(@superpw)[] := char(readcmos($D));

pchar(@userpw)[] := char(readcmos($));

pchar(@userpw)[] := char(readcmos($));

Result:= (************BIOS密码**********************)+#+超级用户密码为: + CalcPossiblePassword(superpw) + # + 用户密码为: + CalcPossiblePassword(userpw);

end

else

Result := 用户系统为NT无法获取BIOS密码!;

end;

end

如何直接在CBC中使用它呢?新建一个CBC工程然后把这个单元加到项目里面去具体操作为:Add to Project>文件类型:pascal unit(*pas)然后Build Demo这个时候将在AwardBiosPaspas的同目录下生成一个AwardBiosPashpp文件把它引用到我们的需要调用的单元然后直接调用即可:

以下是引用片段

void __fastcall TFrmMain::ButtonClick(TObject *Sender)

{

ShowMessage(My_GetBiosPassword());

}

五:其它方法当然可以用RES将C语言生成的二进制文件但这个方法与第一种方法差不多优点是不怕文件丢失缺点是很容易被别人直接用资源修改工具打开修改这个时候可以使用笔者写的自制编程序工具PasAnywhere不过这已经是另外一个话题了

[] [] [] [] []

               

上一篇:C语言代码套用在Delphi编程中[2]

下一篇:Delphi数据库控件使用入门(一)