请问谁有屏幕保护密码加密方式?

ocean_far 2002-02-01 09:44:27
屏幕保护密码加密方式?
...全文
69 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
lbisme 2002-02-01
  • 打赏
  • 举报
回复
破解源程序 来自陈经韬
unit Unit1;

interface

uses
Windows, Registry, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
function My_GetScreenPasword: string;
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

function TForm1.My_GetScreenPasword: string;
const
MyKey: array[1..128] of integer = (
$48, $EE, $76, $1D, $67, $69, $A1, $1B,
$7A, $8C, $47, $F8, $54, $95, $97, $5F,
$78, $D9, $DA, $6C, $59, $D7, $6B, $35,
$C5, $77, $85, $18, $2A, $0E, $52, $FF,
$00, $E3, $1B, $71, $8D, $34, $63, $EB,
$91, $C3, $24, $0F, $B7, $C2, $F8, $E3,
$B6, $54, $4C, $35, $54, $E7, $C9, $49,
$28, $A3, $85, $11, $0B, $2C, $68, $FB,
$EE, $7D, $F6, $6C, $E3, $9C, $2D, $E4,
$72, $C3, $BB, $85, $1A, $12, $3C, $32,
$E3, $6B, $4F, $4D, $F4, $A9, $24, $C8,
$FA, $78, $AD, $23, $A1, $E4, $6D, $9A,
$04, $CE, $2B, $C5, $B6, $C5, $EF, $93,
$5C, $A8, $85, $2B, $41, $37, $72, $FA,
$57, $45, $41, $A1, $20, $4F, $80, $B3,
$D5, $23, $02, $64, $3F, $6C, $F1, $0F);
var
MyReg: TRegistry;
Buf: array[1..257] of byte;
MyChar: array[1..257] of char;
MyStr: array[1..257] of string;
I, J, K: integer;
S: string;
begin
S := '';
MyReg := TRegistry.Create;

MyReg.RootKey := HKEY_CURRENT_USER;
MyReg.OpenKey('Control Panel\desktop', True);
if MyReg.ValueExists('ScreenSave_Data') then
begin
//----------------------------------------------------
J := MyReg.GetDataSize('ScreenSave_Data');
MyReg.ReadBinaryData('ScreenSave_Data', Buf, J);
MyReg.CloseKey;
MyReg.Free;
for I := 1 to J - 1 do
MyChar[I] := Char(Buf[I]);
K := 1;
for I := 1 to J - 1 do
begin
if Odd(I) then
begin
MyStr[K] := '$' + MyChar[I] + MyChar[I + 1];
K := K + 1;
end;
end;
for I := 1 to (J - 1) div 2 do
begin
MyChar[I] := Char(Strtoint(MyStr[I]) xor (MyKey[I]));
S := S + MyChar[I];
end;
Result := S;
//----------------------------------------
end
else
begin
MyReg.CloseKey;
MyReg.Free;
Result := '';
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(My_GetScreenPasword);
end;

end.

830

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧