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

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

?? decryptformfile.cpp

?? 可以使用硬件指紋作為密鑰加密文件
?? CPP
字號:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include "MyClassFile.h"
#include "EncryptFormFile.h"
#include "AddShellFormFile.h"
#include "AboutFormFile.h"
#include "DecryptFormFile.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "XPMenu"
#pragma link "DiskInfo"
#pragma link "Explform"
#pragma resource "*.dfm"
TDecryptForm *DecryptForm;
TMyClass *MyClass;  //作者自定義的類
TPascalFun *PascalFun; //引用Delphi函數的類
int errornum;//輸入錯誤的次數
unsigned long BanMove,CDVOL,tmpCDVOL;
//---------------------------------------------------------------------------
__fastcall TDecryptForm::TDecryptForm(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TDecryptForm::EncryptFileClick(TObject *Sender)
{
EncryptForm->Show();
this->Close();
}
//---------------------------------------------------------------------------
void __fastcall TDecryptForm::StartDecryptClick(TObject *Sender)
{
if(FileList->Items->Text.Length()<1)
{
   ShowMessage("請先選擇欲解密的文件!");
   return;
}
int filehandle,ST,ET;
SYSTEMTIME *nowtime=new SYSTEMTIME;

unsigned long filelength;
unsigned char * pszBuffer;
bool succeed;
TStringList *DecryptFileList=new TStringList;
TStringList *UnDecryptFileList=new TStringList;

MyClass->ShowMyMessage("解密普通文件","正在解密文件......");

for(int i=0;i<FileList->Items->Count;i++) //循環解密
{
filehandle=FileOpen(FileList->Items->Strings[i],fmOpenReadWrite);
filelength=FileSeek(filehandle,0,2);
FileSeek(filehandle,0,0);
pszBuffer=new char [filelength];
FileRead(filehandle,pszBuffer,filelength);
if(pszBuffer[filelength-1]==197)//197為不使用CDVOL的標志
   CDVOL=19860308;
if(pszBuffer[filelength-1]==38)//38為使用CDVOL的標志
{
  CDVOL=tmpCDVOL;
}
if(pszBuffer[filelength-1]!=38&&pszBuffer[filelength-1]!=197)
   { //記錄出錯的文件
    UnDecryptFileList->Add(FileList->Items->Strings[i]);
     goto end;
   }
if(pszBuffer[filelength-2]==197)//197為不使用BanMove的標志
   BanMove=19851120;
if(pszBuffer[filelength-2]==157)//157為使用BanMove的標志
{
   DiskInfo->Disk='C';
   BanMove=abs(DiskInfo->SerialNumber);
}
if(pszBuffer[filelength-2]!=157&&pszBuffer[filelength-2]!=197)
   { //記錄出錯的文件
   UnDecryptFileList->Add(FileList->Items->Strings[i]);
    goto end;
   }

ET=pszBuffer[filelength-3]-12;//24表示不使用“限時加密”
ST=pszBuffer[filelength-4]-11;
GetLocalTime(nowtime);
end:FileClose(filehandle);
delete []pszBuffer;
if((ST<=nowtime->wHour&&nowtime->wHour<=ET)||(ST==24&&ET==24))
{
 if(ExtractFileExt(FileList->Items->Strings[i])==".gv")//如果是加密文件
  succeed=MyClass->DecryptFile(FileList->Items->Strings[i],Password->Text,BanMove,CDVOL,3);
 if(ExtractFileExt(FileList->Items->Strings[i])==".coco")//如果是加密文件包
  {
   succeed=MyClass->DecryptFile(FileList->Items->Strings[i],Password->Text,BanMove,CDVOL,0);
   if(succeed)
   {AnsiString FileName;
   MyClass->Expand(FileList->Items->Strings[i]);
   try
   {
   ADOTable->LoadFromFile(FileList->Items->Strings[i]);
   ADOTable->First();//指針移到第一項數據
   while(!ADOTable->Eof)//從頭讀到尾
   {
   FileName=ADOTable->FieldByName("FileName")->Value;
   TMemoryStream  *stream=new TMemoryStream;
   PascalFun->LoadFromPackage(ADOTable,stream);
   stream->SaveToFile(ExtractFileDir(FileList->Items->Strings[i])+"\\"+FileName);
   stream->Free();
   ADOTable->Next();
   }
   DeleteFile(FileList->Items->Strings[i]);
   }
   catch (...)
   {
   ShowMessage("讀取文件包出錯!");
   }}}
 if (succeed)
   DecryptFileList->Add(FileList->Items->Strings[i]);

 if (!succeed)
   UnDecryptFileList->Add(FileList->Items->Strings[i]);
}
}
if(UnDecryptFileList->Text.Length()>1)
{//如果沒有解開一個文件,則記錄錯誤
  errornum++;
}
MyClass->CloseMyMessage();//關閉提示窗口
if(DecryptFileList->Text.Length()>1)
{
 ShowMessage("成功解密以下文件:\n"+DecryptFileList->Text);
TCloseAction *Action;
DecryptForm->FormClose(Sender,*Action);
 errornum=0;
}
if(UnDecryptFileList->Text.Length()>1)
 ShowMessage("以下文件解密失敗:\n"+UnDecryptFileList->Text);
FileList->Items->Text=UnDecryptFileList->Text;
DecryptFileList->Free();
UnDecryptFileList->Free();

switch (errornum ){
case 1: ShowMessage("文件解密失敗,請檢查您的操作是否符合“加密方式”。");break;
case 2: ShowMessage("文件解密再次失敗!不要緊,請再接再厲!"); break;
case 3: ShowMessage("很抱歉,又錯了!"); break;
case 4: ShowMessage("經過屢敗屢試之后,令我懷疑你是誰。"); Application->Terminate();break;
}

}
//---------------------------------------------------------------------------

void __fastcall TDecryptForm::OpenAboutClick(TObject *Sender)
{
AboutForm->Show();
this->Close();
}
//---------------------------------------------------------------------------
void __fastcall TDecryptForm::AddShellClick(TObject *Sender)
{
AddShellForm->Show();
this->Close();
}
//---------------------------------------------------------------------------
void __fastcall TDecryptForm::DeleteAllClick(TObject *Sender)
{
FileList->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TDecryptForm::DeleteSelClick(TObject *Sender)
{
 //刪除所選 注:由于刪除列表后,列表的索引會出現改變,所以需要從新掃描列表
for(int i=0;i<FileList->Items->Count;i++)
{//掃描列表
  if(FileList->Selected[i])
      {
          FileList->Items->Delete(i);
           DeleteSelClick(Sender);
      }
}
}
//---------------------------------------------------------------------------
void __fastcall TDecryptForm::PasswordKeyPress(TObject *Sender, char &Key)
{
if(int(Key)==VK_RETURN)
  StartDecryptClick(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TDecryptForm::AddFileClick(TObject *Sender)
{
TStringList *UnReadyFile = new TStringList;
OpenDialog->Execute();
if(OpenDialog->FileName.Length()>1)  //如果有選擇到文件
{
for(int i=0;i<OpenDialog->Files->Count;i++)
{
 if(MyClass->IsReady(OpenDialog->Files->Strings[i]))//如果準備好
   FileList->Items->Add(OpenDialog->Files->Strings[i]);
 if(!MyClass->IsReady(OpenDialog->Files->Strings[i]))//如果沒準備好
   UnReadyFile->Add(OpenDialog->Files->Strings[i]);
}}
if(UnReadyFile->Text.Length()>1)
ShowMessage("以下文件沒有被選中,請檢查這些文件的屬性是否“只讀”或正運行著:\n"+UnReadyFile->Text);
UnReadyFile->Free();
}
//---------------------------------------------------------------------------
void __fastcall TDecryptForm::ShowHint(TObject * Sender)
{
  StatusBar->SimpleText=Application->Hint;
}
//---------------------------------------------------------------------------
void __fastcall TDecryptForm::FormActivate(TObject *Sender)
{
 DragAcceptFiles (Handle, True) ;
Application->OnHint=ShowHint;
}
//---------------------------------------------------------------------------
void __fastcall TDecryptForm::ReadCDInfoClick(TObject *Sender)
{
DiskInfo->Disk=MyClass->FindCD(DecryptForm->DiskInfo);
if(DiskInfo->DiskSize>1) //檢測是否有光盤
{
tmpCDVOL=abs(DiskInfo->SerialNumber+DiskInfo->DiskSize/1024);
ShowMessage("讀取成功!");
}
else
ShowMessage("沒有找到光盤!");
}
//---------------------------------------------------------------------------

void __fastcall TDecryptForm::ViewHelpClick(TObject *Sender)
{
AnsiString Helpfile=ExtractFilePath(Application->ExeName)+"Help.CHM";//幫助文檔的路徑
ShellExecute(Handle,NULL,Helpfile.c_str(),NULL,NULL,SW_SHOWNORMAL);  //打開幫助文檔
}
//---------------------------------------------------------------------------
void __fastcall TDecryptForm::WMDropFiles (TWMDropFiles &message)
{
  TStringList *UnReadyFile = new TStringList;
  UINT filecount = DragQueryFile ((HDROP) message.Drop, 0xFFFFFFFF, NULL, 0) ;
  for (UINT ii = 0 ; ii < filecount ; ++ ii)
  {

    String filename ;
    filename.SetLength (MAX_PATH) ;
    int length = DragQueryFile ((HDROP) message.Drop,
                                 ii,
                                 filename.c_str (), filename.Length ()) ;
    filename.SetLength (length) ;
    if(MyClass->IsReady(filename)&&(filename.SubString(filename.Length()-2,3)==".gv"))
     { FileList->Items->Add(filename);}
    if(!MyClass->IsReady(filename)||(filename.SubString(filename.Length()-2,3)!=".gv"))
     { UnReadyFile->Add(filename);}
  }
if(UnReadyFile->Text.Length()>1)
ShowMessage("以下文件沒有被選中,請檢查這些文件是否為加密文件或它們的屬性是否“只讀”或正運行著:\n"+UnReadyFile->Text);
UnReadyFile->Free();
  DragFinish ((HDROP) message.Drop) ;
}
//---------------------------------------------------------------------------
void __fastcall TDecryptForm::FormClose(TObject *Sender,
      TCloseAction &Action)
{ //清除上一次的操作
Password->Clear();
tmpCDVOL=0;
FileList->Items->Clear();
AboutForm->Show();
}
//---------------------------------------------------------------------------
void __fastcall TDecryptForm::SetupAllDeleteClick(TObject *Sender)
{
 if(Application->MessageBoxA("<<滅文器 v1.00>>可以徹底地刪除文件(即文件刪除被恢復后也只是一堆亂碼),更好地保證您文件的安全。\n是否想安裝<<滅文器 v1.00>>到系統文件夾“發送到”?",Application->Title.c_str(),MB_YESNO)==IDYES)
{
PascalFun->LoadFromRes("AllDeleteEXE","ExeFile",PascalFun->GetSystemPath()+"\\滅文器 v1.00.exe");
ShowMessage("安裝成功!您若想用<<滅文器 v1.00>>刪除文件,就把選定的文件或文件夾發送到<<滅文器 v1.00>>。");
}
}
//---------------------------------------------------------------------------
void __fastcall TDecryptForm::ExitClick(TObject *Sender)
{
  Application->Terminate();
}
//---------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区视频观看视频| 亚洲欧美另类久久久精品2019 | 蜜臀国产一区二区三区在线播放| 国产乱一区二区| 欧美亚洲一区二区在线观看| 久久精品欧美一区二区三区麻豆| 亚洲综合激情另类小说区| 国产麻豆精品久久一二三| 欧美日韩国产首页| 亚洲欧美电影院| 高清shemale亚洲人妖| 日韩一区和二区| 亚洲va韩国va欧美va精品| 99久久精品久久久久久清纯| 久久午夜老司机| 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美裸体一区二区三区| 亚洲人成网站精品片在线观看| 国产米奇在线777精品观看| 日韩午夜激情电影| 午夜伦理一区二区| 国产欧美一区在线| 美女视频一区二区三区| 欧美精品v日韩精品v韩国精品v| 亚洲三级小视频| 成人18视频日本| 中文字幕在线不卡视频| 成人动漫中文字幕| 国产精品国产成人国产三级 | 国产色产综合产在线视频| 久久99国产精品尤物| 制服丝袜亚洲色图| 日韩av电影免费观看高清完整版 | 国产91在线观看| 久久久综合激的五月天| 国产精品自拍av| 亚洲国产电影在线观看| 成人av在线影院| 欧美一级一区二区| 成人永久免费视频| 国产日本欧美一区二区| 国产91富婆露脸刺激对白| 国产精品人人做人人爽人人添| 国产精品白丝av| 中文字幕亚洲电影| 在线欧美一区二区| 亚欧色一区w666天堂| 日韩免费视频一区二区| 国产自产高清不卡| 中文字幕一区二区三区精华液 | 91在线看国产| 亚洲精品国产精华液| 在线播放视频一区| 国产成人8x视频一区二区 | 青青青爽久久午夜综合久久午夜| 日韩欧美国产成人一区二区| 国产成人av一区二区三区在线| 国产精品初高中害羞小美女文| 欧美亚洲免费在线一区| 久久激情五月激情| 亚洲视频1区2区| 欧美一区二区三区婷婷月色| 风间由美中文字幕在线看视频国产欧美 | 国产清纯在线一区二区www| 99久久99久久精品免费看蜜桃| 亚洲动漫第一页| 久久久国产精品麻豆| 色拍拍在线精品视频8848| 免费成人在线视频观看| 奇米精品一区二区三区在线观看一 | 亚洲成av人片在线观看| 久久久久成人黄色影片| 91国产视频在线观看| 蜜桃av噜噜一区| 综合电影一区二区三区 | 寂寞少妇一区二区三区| 亚洲精品视频观看| 欧美精品一区二区不卡| 欧美日韩综合在线免费观看| 国产精品一区二区男女羞羞无遮挡 | 91麻豆福利精品推荐| 国产综合色在线| 午夜av一区二区| 亚洲欧美日韩人成在线播放| 亚洲精品在线网站| 欧美日韩国产成人在线91| 懂色av一区二区三区免费看| 奇米在线7777在线精品| 亚洲一区二区三区三| 国产精品色婷婷久久58| 久久影院午夜片一区| 欧美一区日韩一区| 欧美私人免费视频| 99精品欧美一区二区三区综合在线| 韩国一区二区视频| 视频在线在亚洲| 亚洲一区二区三区影院| 综合欧美亚洲日本| 欧美国产在线观看| 久久久不卡网国产精品一区| 欧美一级黄色录像| 欧美美女一区二区在线观看| 色综合久久综合网欧美综合网| 波波电影院一区二区三区| 国产二区国产一区在线观看| 麻豆视频观看网址久久| 日日夜夜免费精品| 亚洲成人黄色影院| 午夜亚洲福利老司机| 亚洲一区二区三区四区五区中文 | caoporn国产精品| 福利一区二区在线| 成人激情黄色小说| 99久久国产综合精品色伊| av一区二区三区黑人| 99国产欧美另类久久久精品| 成人sese在线| 91麻豆自制传媒国产之光| av在线播放不卡| 色婷婷av一区二区三区大白胸| 91丝袜美女网| 欧美亚洲综合网| 欧美日韩夫妻久久| 日韩一区二区不卡| 日韩不卡一区二区三区| 日本视频中文字幕一区二区三区| 日韩av一二三| 国产自产视频一区二区三区| 国产suv精品一区二区6| 色老汉一区二区三区| 欧美日韩午夜精品| 欧美mv日韩mv国产网站app| 久久午夜免费电影| 亚洲欧美一区二区三区国产精品| 亚洲宅男天堂在线观看无病毒| 五月激情六月综合| 捆绑调教一区二区三区| 高清视频一区二区| 欧美伊人久久久久久午夜久久久久| 欧美日本国产一区| 久久看人人爽人人| 亚洲女子a中天字幕| 日韩av一二三| www.综合网.com| 欧美一区二区在线免费观看| 欧美国产国产综合| 性做久久久久久久免费看| 国产精品911| 欧美综合一区二区| 精品精品欲导航| 亚洲色图视频网| 蜜臀av亚洲一区中文字幕| 99精品视频一区二区| 日韩欧美另类在线| 亚洲乱码国产乱码精品精的特点 | 成人午夜免费视频| 欧美乱妇15p| 中文字幕亚洲一区二区va在线| 午夜欧美电影在线观看| 成人av电影观看| 9191成人精品久久| 成人免费视频在线观看| 麻豆成人综合网| 欧美日韩一区二区在线视频| 国产精品色哟哟网站| 久久精品国产免费看久久精品| 91视频免费播放| 国产亚洲综合色| 石原莉奈一区二区三区在线观看| 成人av在线看| 久久久欧美精品sm网站| 午夜不卡在线视频| 99精品国产视频| 国产日韩欧美精品综合| 久久精品国产亚洲高清剧情介绍| 欧美在线视频日韩| 国产精品第一页第二页第三页| 国产一区二区在线影院| 9191久久久久久久久久久| 依依成人精品视频| www.一区二区| 国产拍揄自揄精品视频麻豆| 久久国产福利国产秒拍| 欧美精品丝袜中出| 亚洲在线视频一区| 91年精品国产| 中文字幕在线一区| 国产91清纯白嫩初高中在线观看| 日韩欧美国产成人一区二区| 日韩主播视频在线| 在线不卡中文字幕播放| 午夜精品久久久久久久99水蜜桃| 色狠狠色狠狠综合| 亚洲久本草在线中文字幕| 99这里只有精品| 国产精品日韩成人| 久久久久久电影| 国产一区二区久久| 国产午夜精品久久| 国产91丝袜在线观看|