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,9);
??? TmpByte[9]:=156;
??? Write(SrcFile,TmpByte[9]);
? finally
??? CloseFile(SrcFile);
? end;
? result:=SourceFile;
end;
end.