亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? datafile.pas

?? wbs43open-src.zip 數字隱藏工具
?? PAS
字號:
 unit DataFile;

interface
  uses Classes, SysUtils, BasicFile
{$IFDEF CLX}
  , QDialogs
{$ELSE}
  ,Dialogs
{$ENDIF}
  ;

  type
    TDataFile = class(TBasicFile)
      protected
      public
        procedure Prepend3CharExt(ext: String);
        function Extract3CharExt: String;
        procedure PrependSize(Size: Longint);
        procedure Distribute(AvailSize: Longint);
        procedure Undistribute(AvailSize: Longint);
        function IsDistributed(AvailSize: Longint): Boolean;
    end;

implementation

  procedure TDataFile.Prepend3CharExt(ext: String);
  var
    newData:     TMemoryStream;
    Ext3:        Array[0..2] of Byte;
    i:           Byte;
  begin
    newData:=TMemoryStream.Create;
    for i:=0 to 2 do Ext3[i]:=Ord(ext[i+1]);
    newData.Write(Ext3,3);
    Data.Seek(0,soFromBeginning);
    newData.CopyFrom(Data,Data.Size);
    Data.Free;
    Data:=newData;
  end;

  function TDataFile.Extract3CharExt: String;
  var
    newData:     TMemoryStream;
    Ext3:        Array[0..2] of Byte;
    ext:         String;
    i:           Byte;
  begin
    newData:=TMemoryStream.Create;
    Data.Seek(0,soFromBeginning);
    Data.Read(Ext3,3);
    Data.Seek(3,soFromBeginning);
    newData.CopyFrom(Data,Data.Size-3);
    Data.Free;
    Data:=newData;
    ext:='';
    for i:=0 to 2 do ext:=ext+Chr(Ext3[i]);
    Extract3CharExt:=ext;
  end;

  procedure TDataFile.PrependSize(Size: Longint);
    var
    newData:     TMemoryStream;
    S24:         Array[0..2] of Byte;
  begin
    newData:=TMemoryStream.Create;
    S24[0]:=Size and $0000FF;
    S24[1]:=(Size and $00FF00) shr 8;
    S24[2]:=(Size and $FF0000) shr 16;
    Size:=S24[0]+(S24[1] Shl 8)+(S24[2] Shl 16);
    newData.Write(S24,3);
    Data.Seek(0,soFromBeginning);
    newData.CopyFrom(Data,Data.Size);
    Data.Free;
    Data:=newData;
  end;

  procedure TDataFile.Distribute(AvailSize: Longint);
  var
    newData:      TMemoryStream;
    rand:         Byte;
    buffer:       Array[0..1023] of byte;
    dbuffer:      Array[0..16383] of byte;
    dread:        Integer;
    spacing:      Real;
    error:        Real;
    db_idx:       Integer;
    i:            Integer;
    j:            Byte;
    int_space:    Integer;
    size:         Longint;
    size2:        Longint;
  begin
    size:=Data.Size;
    Data.Seek(0,soFromBeginning);
    spacing:=(AvailSize/(Data.Size+5))-1;
    //if spacing>15 then spacing:=15;
    if (spacing>0) then begin
      newData:=TMemoryStream.Create;
      error:=0;
      dread:=1024;
      Randomize;
      while (dread=1024) do begin
        dread:=Data.Read(buffer,1024);
        db_idx:=0;
        for i:=0 to dread-1 do begin
          dbuffer[db_idx]:=buffer[i];
          Inc(db_idx);
          error:=error+spacing;
          if error>=1 then begin
            int_space:=Trunc(error);
            for j:=1 to int_space do begin
              dbuffer[db_idx]:=Random(256);
              Inc(db_idx);
              error:=error-1;
            end;
          end;
        end;
        newData.Write(dbuffer,db_idx);
      end;
      Data.Free;
      Data:=newData;
      PrependSize(size);
    end;
    size2:=Data.Size;
    PrependSize(size2);
  end;

  procedure TDataFile.Undistribute(AvailSize: Longint);
  var
    newData:      TMemoryStream;
    rand:         Byte;
    buffer:       Array[0..1023] of byte;
    dbuffer:      Array[0..1023] of byte;
    dread:        Integer;
    spacing:      Real;
    error:        Real;
    db_idx:       Integer;
    i:            Integer;
    j:            Byte;
    int_space:    Integer;
    size:        Longint;
  begin
    // get real size
    Data.Seek(0,soFromBeginning);
    Data.Read(buffer,3);
    size:=(buffer[2] shl 16)+(buffer[1] shl 8)+buffer[0];
    spacing:=(AvailSize/(size+5))-1;
    //if spacing>15 then spacing:=15;
    if spacing>0 then begin
      newData:=TMemoryStream.Create;
      error:=0;
      dread:=1024;
      Randomize;
      while (dread=1024) do begin
        dread:=Data.Read(buffer,1024);
        db_idx:=0;
        i:=0;
        for i:=0 to dread-1 do begin
          //ShowMessage(Chr(buffer[i])+' error: '+floattostr(error));
          if (error<1) then begin
            dbuffer[db_idx]:=buffer[i];
            Inc(db_idx);
            error:=error+spacing;
          //ShowMessage('selected character:' + Chr(buffer[i]));
          end
          else error:=error-1;
        end;
        newData.Write(dbuffer,db_idx);
      end;
      Data.Free;
      Data:=newData;
    end;
  end;

  function TDataFile.IsDistributed(AvailSize: Longint): Boolean;
  var
    buffer:     Array[0..3] Of Byte;
    size:       Longint;
    fullsize:   Longint;
    dist:       Boolean;
    spacing:    Real;
  begin
    dist:=false;
    fullsize:=Data.Size;
    Data.Seek(0,soFromBeginning);
    Data.Read(buffer,3);
    size:=(buffer[2] shl 16)+(buffer[1] shl 8)+buffer[0]+5;
    if size<fullsize then begin
       spacing:=(AvailSize/(size+5))-1;
       //if spacing>15 then spacing:=15;
       if spacing<=0 then dist:=false
       else begin
         spacing:=spacing+1;
         if spacing*size>fullsize-3 then dist:=true;
       end;
    end;
    //if dist then ShowMessage('think its distributed') else ShowMessage('don`t think it`s distributed');
    IsDistributed:=dist;
  end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲精品免费| 日本午夜精品一区二区三区电影| 一区二区三区久久久| 亚洲同性gay激情无套| 麻豆精品一区二区三区| 色综合久久99| 中文字幕在线一区二区三区| 人人精品人人爱| 欧美性色欧美a在线播放| 国产欧美一区二区三区沐欲| 日韩av二区在线播放| 91九色最新地址| 国产精品麻豆久久久| 激情av综合网| 日韩一级大片在线观看| 一区二区三区成人在线视频| kk眼镜猥琐国模调教系列一区二区| 亚洲欧美在线视频| 热久久久久久久| 欧美在线看片a免费观看| 国产精品三级电影| 国产福利一区二区三区视频| 欧美成人性福生活免费看| 亚洲国产美女搞黄色| 在线观看av不卡| 亚洲色图欧美在线| eeuss鲁片一区二区三区在线看| 久久久久国产精品麻豆ai换脸 | 欧美一区二区三区小说| 午夜精品福利视频网站| 欧美日韩不卡一区| 日韩和欧美一区二区三区| 欧美日韩中文另类| 欧美a级理论片| 精品国产一区二区三区av性色| 麻豆精品在线观看| 2021中文字幕一区亚洲| 久久99国产精品免费| 久久久久久黄色| 国产精品一区二区在线看| 中文字幕乱码久久午夜不卡| 91美女片黄在线观看| 亚洲精品免费在线观看| 6080午夜不卡| 激情偷乱视频一区二区三区| 国产视频一区二区在线| 一本一道久久a久久精品综合蜜臀| 亚洲欧美另类久久久精品| 色哟哟一区二区在线观看| 亚洲二区在线视频| 亚洲精品一区二区三区精华液| 精品在线视频一区| 国产精品免费人成网站| 91精品办公室少妇高潮对白| 免费观看30秒视频久久| 国产欧美日韩激情| 欧美色成人综合| 麻豆成人免费电影| 中文字幕亚洲一区二区va在线| 91福利视频久久久久| 韩国女主播成人在线观看| 国产精品久久久99| 欧美一区二区三区视频免费播放| 国产电影一区在线| 亚洲一二三级电影| 国产女主播一区| 欧美高清视频www夜色资源网| 国产露脸91国语对白| 亚洲一区二区在线播放相泽| 精品对白一区国产伦| 欧美综合一区二区三区| 国内成人免费视频| 亚洲成a人片在线观看中文| 国产欧美一区二区三区鸳鸯浴| 欧美午夜精品久久久| 高清不卡在线观看av| 丝袜亚洲另类欧美综合| 综合色天天鬼久久鬼色| 精品电影一区二区三区 | 精品在线免费观看| 亚洲欧美乱综合| 久久综合久色欧美综合狠狠| 色综合视频在线观看| 国产乱色国产精品免费视频| 丝袜亚洲另类欧美| 亚洲欧美偷拍三级| 国产欧美日韩三区| 日韩区在线观看| 欧美日韩在线综合| 91浏览器入口在线观看| 国产成人免费高清| 久久国内精品自在自线400部| 一区二区三区 在线观看视频| 国产精品视频线看| 久久久91精品国产一区二区三区| 91精品国产综合久久久久久久| 91麻豆精东视频| 成人激情动漫在线观看| 国产精品99久久久久久宅男| 精品一区二区三区在线播放 | 亚洲精品亚洲人成人网 | 精品国产青草久久久久福利| 欧美精品自拍偷拍| 欧美另类videos死尸| 色乱码一区二区三区88| 色婷婷综合久久久| 色琪琪一区二区三区亚洲区| 色综合天天综合给合国产| 成人综合在线网站| 成人免费毛片嘿嘿连载视频| 成人综合婷婷国产精品久久免费| 国产精品综合网| 高清在线不卡av| jlzzjlzz欧美大全| 99在线视频精品| 色狠狠色狠狠综合| 欧美日韩国产综合一区二区三区 | 欧美高清在线一区二区| 久久久久免费观看| 欧美精品一区男女天堂| 久久综合九色综合欧美98| 久久久不卡网国产精品二区| 日本一区二区视频在线观看| 中文一区在线播放 | 国产欧美一区二区精品性色超碰| 久久久久97国产精华液好用吗| 久久久久久黄色| 亚洲日本在线天堂| 亚洲综合免费观看高清完整版| 亚洲va欧美va天堂v国产综合| 日韩黄色小视频| 国产乱对白刺激视频不卡| 北岛玲一区二区三区四区| 91视频你懂的| 欧美乱熟臀69xxxxxx| 精品免费国产二区三区 | 91一区二区在线| 欧美午夜电影一区| 精品国产91久久久久久久妲己| 欧美激情一区二区三区蜜桃视频 | 欧美无砖专区一中文字| 91麻豆精品国产91久久久久久 | 午夜精品久久久久久久| 久草中文综合在线| 色先锋aa成人| 日韩女优毛片在线| 亚洲日本青草视频在线怡红院 | 亚洲.国产.中文慕字在线| 麻豆91精品91久久久的内涵| 白白色亚洲国产精品| 91精品久久久久久久99蜜桃| 国产精品美女久久久久久久久久久 | 亚洲成人av免费| 福利一区二区在线| 欧美一区二区三区的| 中文字幕 久热精品 视频在线 | 欧美成人aa大片| 综合久久久久综合| 久久精品国产一区二区三| 色诱亚洲精品久久久久久| 欧美电视剧在线看免费| 亚洲一二三区在线观看| 国产suv精品一区二区三区| 欧美精品在线观看播放| 国产精品久久久久精k8| 精品无人码麻豆乱码1区2区| 91久久国产综合久久| 国产精品久久久久三级| 激情五月播播久久久精品| 欧美日韩一级二级| 亚洲男同性恋视频| zzijzzij亚洲日本少妇熟睡| 欧美夫妻性生活| 亚洲一区二区三区在线看| 成人激情免费网站| 精品国产一区二区亚洲人成毛片 | 国产在线精品一区二区三区不卡 | 91精品免费在线| 亚洲综合图片区| 91在线porny国产在线看| 国产人成亚洲第一网站在线播放| 老司机精品视频在线| 欧美日本国产视频| 亚洲动漫第一页| 欧美写真视频网站| 亚洲综合另类小说| 欧洲视频一区二区| 亚洲丝袜美腿综合| 99国产精品久久| 国产精品色哟哟| 波多野结衣中文字幕一区 | 日韩欧美国产一区二区三区| 亚洲一区二区三区四区在线观看| 不卡欧美aaaaa| 国产精品免费看片| 色综合亚洲欧洲| 亚洲一区二区在线免费看| 欧美丝袜自拍制服另类| 午夜日韩在线电影| 91精品国产色综合久久|