?? unit6.pas
字號:
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, MyUtils, sChip;
type
TForm6 = class(TForm)
Label1: TLabel;
Label2: TLabel;
C1: TEdit;
C2: TEdit;
C3: TEdit;
C4: TEdit;
C5: TEdit;
C6: TEdit;
C7: TEdit;
C8: TEdit;
R1: TEdit;
R2: TEdit;
R3: TEdit;
R4: TEdit;
R5: TEdit;
R6: TEdit;
R7: TEdit;
R8: TEdit;
Button1: TButton;
procedure FormActivate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
hKey: THandle;
{ Public declarations }
end;
var
Form6: TForm6;
implementation
{$R *.dfm}
procedure TForm6.FormActivate(Sender: TObject);
begin
C1.Text := IntToHex(0, 2);
C2.Text := C1.Text;
C3.Text := C1.Text;
C4.Text := C1.Text;
C5.Text := C1.Text;
C6.Text := C1.Text;
C7.Text := C1.Text;
C8.Text := C1.Text;
R1.Text := C1.Text;
R2.Text := C1.Text;
R3.Text := C1.Text;
R4.Text := C1.Text;
R5.Text := C1.Text;
R6.Text := C1.Text;
R7.Text := C1.Text;
R8.Text := C1.Text;
end;
procedure TForm6.Button1Click(Sender: TObject);
var
i: Integer;
rc: Boolean;
data: QueryData;
begin
data.cbSize := 8;
i := Str2Char(C1.Text);
if(i = -1) then
begin
MessageBox(Handle, 'Bad format in challenge byte 1', 'Query data error', MB_OK);
Exit;
end;
data.Challenge[0] := Byte(i);
i := Str2Char(C2.Text);
if(i = -1) then
begin
MessageBox(Handle, 'Bad format in challenge byte 2', 'Query data error', MB_OK);
Exit;
end;
data.Challenge[1] := Byte(i);
i := Str2Char(C3.Text);
if(i = -1) then
begin
MessageBox(Handle, 'Bad format in challenge byte 3', 'Query data error', MB_OK);
Exit;
end;
data.Challenge[2] := Byte(i);
i := Str2Char(C4.Text);
if(i = -1) then
begin
MessageBox(Handle, 'Bad format in challenge byte 4', 'Query data error', MB_OK);
Exit;
end;
data.Challenge[3] := Byte(i);
i := Str2Char(C5.Text);
if(i = -1) then
begin
MessageBox(Handle, 'Bad format in challenge byte 5', 'Query data error', MB_OK);
Exit;
end;
data.Challenge[4] := Byte(i);
i := Str2Char(C6.Text);
if(i = -1) then
begin
MessageBox(Handle, 'Bad format in challenge byte 6', 'Query data error', MB_OK);
Exit;
end;
data.Challenge[5] := Byte(i);
i := Str2Char(C7.Text);
if(i = -1) then
begin
MessageBox(Handle, 'Bad format in challenge byte 7', 'Query data error', MB_OK);
Exit;
end;
data.Challenge[6] := Byte(i);
i := Str2Char(C8.Text);
if(i = -1) then
begin
MessageBox(Handle, 'Bad format in challenge byte 8', 'Query data error', MB_OK);
Exit;
end;
data.Challenge[7] := Byte(i);;
rc := QuerysChip(hKey, @data);
if(not rc) then
begin
MessageBox(Handle, 'Query failed.', 'Query error', MB_OK);
Exit;
end;
R1.Text := IntToHex(Integer(data.Response[0]), 2);
R2.Text := IntToHex(Integer(data.Response[1]), 2);
R3.Text := IntToHex(Integer(data.Response[2]), 2);
R4.Text := IntToHex(Integer(data.Response[3]), 2);
R5.Text := IntToHex(Integer(data.Response[4]), 2);
R6.Text := IntToHex(Integer(data.Response[5]), 2);
R7.Text := IntToHex(Integer(data.Response[6]), 2);
R8.Text := IntToHex(Integer(data.Response[7]), 2);
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -