unit Uni_DataModule;
interface
uses
SysUtils, Classes,Windows,Dialogs;
type
TDM1 = class(TDataModule)
private
{ Private declarations }
public
{ Public declarations }
end;
Function FileEncrypt(const SourceFile:String):string;
Function FileDecrypt(const SourceFile:String):string;
var
DM1: TDM1;
GS_Md5Str:string;
GS_SelBtnNum:integer;
implementation
{$R *.dfm}
//Swf文件加密///
Function FileEncrypt(const SourceFile:String):string;
var
SrcFile:File of Byte;
TmpByte:array[0..9] of Byte;
i:integer;
begin
TmpByte[0]:=56;
TmpByte[1]:=89;
TmpByte[2]:=87;
Assign(SrcFile,SourceFile);
try
for i:=0 to 2 do begin
Reset(SrcFile);
Seek(SrcFile,i); //定位到第i个字节处
Write(SrcFile,TmpByte[i]); //写入一个字节,如果该位置原来是'A'则现在是'B'
end;
Seek(SrcFile,8);
TmpByte[8]:=16;
Write(SrcFile,TmpByte[8]);
Seek(SrcFile,9);
TmpByte[9]:=57;
Write(SrcFile,TmpByte[9]);
finally
CloseFile(SrcFile);
end;
result:=SourceFile;
end;
//Swf文件解密///
Function FileDecrypt(const SourceFile:String):string;
var
SrcFile:File of Byte;
TmpByte:array[0..9] of Byte;
begin
if not FileExists(SourceFile) then begin
ShowMessage(SourceFile+'不存在');
exit;
end;
Assign(SrcFile,SourceFile);
try
Reset(SrcFile);
Seek(SrcFile,0); //定位到第1个字节处
TmpByte[0]:=67;
Write(SrcFile,TmpByte[0]); //写入一个字节,如果该位置原来是'A'则现在是'B'
Seek(SrcFile,1); //定位到第2个字节处
TmpByte[1]:=87;
Write(SrcFile,TmpByte[1]);
Seek(SrcFile,2);
TmpByte[2]:=83;
Write(SrcFile,TmpByte[2]);
Seek(SrcFile,8);
TmpByte[8]:=120;
Write(SrcFile,TmpByte[8]);
Seek(SrcFile,9);
TmpByte[9]:=156;
Write(SrcFile,TmpByte[9]);
finally
CloseFile(SrcFile);
end;
result:=SourceFile;
end;
end.