加密.swf文件

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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值