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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? processing.cpp

?? C++寫的加密程序,可對文件進(jìn)行加密.
?? CPP
字號:
#include "stdafx.h"
#include "Processing.h"
#include <stdio.h>
#include <io.h>
#include <fcntl.h>
#include "../Enc_Blowfish/Blowfish.h"
#include "Security/FileWipe.h"
#include "Files/SelfExtract.h"

Processing::Processing(enum CIPHER cipher, const char *source, const char *dest, const char *pwd)
	:	_cipher(cipher)
{
	if ((!pwd) || (!dest) || (!source)) throw "Invalid processing constructor params.";

	strncpy(_password, pwd, 100);
	if (cipher == DECRYPT_METHOD)
	{
		strcpy(_readFile, dest);
		strcpy(_writeFile, source);
	}
	else // both encrypt & self-extracted
	{
		strcpy(_readFile, source);
		strcpy(_writeFile, dest);
	}
}

Processing::~Processing()
{
}

LRESULT Processing::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
	SendDlgItemMessage(ID_CLOSE_BUTTON, WM_ENABLE, FALSE, 0);

	start("FileProcessingThread");
	
	return 1;  // Let the system set the focus
}

LRESULT Processing::OnCloseDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	// if backbone thread exists - closing it.
	if (getHandle()) 
		terminateAndWait();

	EndDialog(0);

	return 0;
}

LRESULT Processing::OnIMError(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	if (wParam)
	{
		MessageBox((LPCTSTR)wParam, "Error", MB_ICONERROR);
		return 0;
	}
	return 1;
}

LRESULT Processing::OnBnClickedCloseButton(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
	// if backbone thread exists - closing it.
	if (getHandle()) 
		terminateAndWait();

	EndDialog(0);

	return 0;
}

char *Processing::generateTempFile()
{
	char *tempFile = new char[MAX_PATH];
	
	GetEnvironmentVariable("TEMP", tempFile, MAX_PATH);
	
	if (tempFile[strlen(tempFile)-1] != '\\') strcat(tempFile, "\\");
	strcat(tempFile, "fileenc.tmp");
	
	return tempFile;
}

int Processing::run()
{
	if (_cipher == DECRYPT_METHOD)
	{
		SetWindowText("Decrypting File, Please Wait...");
	}
	else
	{
		SetWindowText("Encrypting File, Please Wait...");
	}

	FILE *readFile = fopen(_readFile, "rb");
	if (readFile == 0) return threadError("Unable to open source file (fopen).");

	const size_t bufferSize = 1024;
	int barSize = 0;

	// reaching the end of the file and getting position = getting file size (bytes).
	fseek(readFile, 0, SEEK_END);
	barSize = ftell(readFile);
	fseek(readFile, 0, SEEK_SET);
	if (barSize == -1) return threadError("Unable to get file size (_filelength).");
	barSize = barSize / bufferSize;

	// initialize ProgressBar with the size of source file (k) and step size to 1.
	SendDlgItemMessage(ID_PROGRESSBAR, PBM_SETRANGE, 0, MAKELPARAM(0, barSize+1));
	SendDlgItemMessage(ID_PROGRESSBAR, PBM_SETSTEP, 1, 0);

	char outfile[MAX_PATH];
	if (_cipher == ENCRYPT_EXE)
	{
		char *temp = generateTempFile();
		strcpy(outfile, temp);
		delete temp;
	}
	else
	{
		strcpy(outfile, _writeFile);
	}

	FILE *writeFile = fopen(outfile, "wb");
	if (writeFile == 0) return threadError("Unable to open destination file.");

	char readBuffer[bufferSize];
	char outBuffer[bufferSize];
	size_t readRet = 0;

	BlowFishEnc encryption(_password);

	bool abort = false;
	int encRet;
	while (!feof(readFile))
	{
		readRet = fread(readBuffer, sizeof(char), bufferSize, readFile);

		if ((_cipher == DECRYPT_METHOD) && (!abort))
		{
			encRet = encryption.decryptStream(readBuffer, (DWORD)readRet, outBuffer);
			if feof(readFile)
			{
				int pos = 0;
				// removing trailing zeros - encrypted file must be x8 bytes.
				while ((pos < 8) && ((outBuffer + encRet - pos)[0] == 0)) pos++;
				// if found trailing zeros - decreasing the writing buffer marker (not writing them).
				if (pos) encRet -= (pos - 1);
			}
		}
		else if (!abort)
		{
			encRet = encryption.encryptStream(readBuffer, (DWORD)readRet, outBuffer);
		}

		fwrite(outBuffer, sizeof(char), encRet, writeFile);

		stepProgressbar();

		// check if user aborted!
		if ((shouldTerminate()) || (abort))
		{
			fclose(readFile); fclose(writeFile);
			GenLib::FileWipe::wipeFile(outfile);
			return 0;
		}
	}

	fflush(writeFile);

	fclose(writeFile);
	fclose(readFile);

	ZeroMemory(outBuffer, bufferSize);
	ZeroMemory(readBuffer, bufferSize);

	// if encrypted should be created as self extracted.
	if (_cipher == ENCRYPT_EXE)
	{
		GenLib::SelfExtract attacher;
		attacher.detachFile(_writeFile);
	
		GenLib::SelfExtract builder(_writeFile);
		builder.attachFile(outfile, _readFile);
	}

	SendDlgItemMessage(ID_PROGRESSBAR, PBM_SETPOS, barSize+1, 0);

	::ShowWindow(::GetDlgItem(m_hWnd, ID_FINISHNOTE), SW_SHOWNORMAL);
	::ShowWindow(::GetDlgItem(m_hWnd, ID_PROGRESSBAR), SW_HIDE);
	if (_cipher == DECRYPT_METHOD)
	{
		::EnableWindow(::GetDlgItem(m_hWnd, ID_OPENFILE_BUTTON), TRUE);
		SetDlgItemText(ID_FINISHNOTE, "Decryption Completed. Click 'Open File' to view file content.");
	}
	else
	{
		SetDlgItemText(ID_FINISHNOTE, "Encryption Completed.");
	}

	SetDlgItemText(ID_CLOSE_BUTTON, "&Close");

	return 0;
}

int Processing::threadError(const char *error)
{
	SendMessage(IM_ERROR, (WPARAM)"Error reading source file!", 0);
	EndDialog(0);
	return 0;
}
LRESULT Processing::OnBnClickedOpenfileButton(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
	char openfileText[100];
	GetDlgItemText(ID_OPENFILE_BUTTON, openfileText, 100);
	if (strcmp(openfileText, "&Open File") == 0)
	{
		ShellExecute(m_hWnd, "open", _writeFile, NULL, NULL, SW_SHOWNORMAL);
		SetDlgItemText(ID_OPENFILE_BUTTON, "&Wipe File");
	}
	else
	{
		if (MessageBox("Are you sure you want to open the decrypted file?", "File Wipe", MB_YESNO | MB_ICONQUESTION) == IDYES)
		{
			if (GenLib::FileWipe::wipeFile(_writeFile))
			{
				MessageBox("File Wiped Successfully");	
				::EnableWindow(::GetDlgItem(m_hWnd, ID_OPENFILE_BUTTON), FALSE);
			}
			else
				MessageBox("File Wipe failed!");
		}
	}
	return 0;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电影影音先锋| 制服.丝袜.亚洲.另类.中文| 日韩午夜激情av| 天天综合天天做天天综合| 欧美在线观看一区二区| 一区二区三区中文字幕在线观看| 99久久免费精品| 亚洲人精品午夜| 91捆绑美女网站| 亚洲一区中文在线| 欧美裸体一区二区三区| 成人久久久精品乱码一区二区三区| 欧美激情在线一区二区三区| av一区二区久久| 亚洲国产美国国产综合一区二区| 欧美一区二区三区免费大片| 国产成人8x视频一区二区| 青椒成人免费视频| 久久综合久久综合九色| 成人免费视频免费观看| 久久精品国产精品亚洲综合| 国产亚洲一区二区三区在线观看| 99久久久久久| 岛国精品一区二区| 国产一区二区在线电影| 亚洲视频图片小说| 欧美日韩国产一区| 国产91精品久久久久久久网曝门| 麻豆视频一区二区| 亚洲欧美精品午睡沙发| 国产精品入口麻豆原神| 欧美精品一卡两卡| 欧美性高清videossexo| 国产精品一区专区| 日本在线不卡一区| 亚洲欧美日韩小说| 亚洲免费观看高清完整版在线观看| 中文字幕av一区 二区| 中文一区一区三区高中清不卡| 久久久另类综合| 欧美日韩免费视频| 成人app软件下载大全免费| 日韩激情视频网站| 亚洲欧美激情在线| 亚洲男帅同性gay1069| 亚洲色图一区二区三区| 亚洲激情在线激情| 国产视频不卡一区| 国产精品久久一级| 久久免费午夜影院| 国产精品素人一区二区| 亚洲欧洲www| 国产亚洲欧洲997久久综合| 国产视频一区在线播放| 中文字幕亚洲一区二区va在线| 亚洲丝袜精品丝袜在线| 亚洲猫色日本管| 午夜久久久久久久久| 视频一区中文字幕国产| 久久精品国产免费| 懂色av噜噜一区二区三区av| 一本大道av伊人久久综合| 国产伦精品一区二区三区免费| 成人一级片在线观看| 91网页版在线| 欧美日韩国产大片| 久久影视一区二区| 丁香亚洲综合激情啪啪综合| 一本久久综合亚洲鲁鲁五月天| 欧美日韩国产美| xnxx国产精品| 一个色综合av| 狠狠久久亚洲欧美| 美女网站一区二区| 不卡视频免费播放| 欧美美女直播网站| 欧美激情一区二区三区蜜桃视频 | 激情综合网av| 免费看欧美美女黄的网站| 国产成人自拍在线| 成人做爰69片免费看网站| 91精品福利视频| 欧洲亚洲国产日韩| 精品噜噜噜噜久久久久久久久试看| 91精品国产欧美日韩| 欧美国产综合色视频| 午夜电影久久久| 成人免费高清视频| 欧美一区二区三区思思人| 中文字幕av一区 二区| 亚洲成av人片在线| 毛片av中文字幕一区二区| 成人av先锋影音| 精品少妇一区二区三区视频免付费 | 亚洲成av人片在线| 欧美日本国产视频| 国产无遮挡一区二区三区毛片日本| 亚洲一区二区在线观看视频| 国产美女精品在线| 欧美精品1区2区| 最好看的中文字幕久久| 国产一区二区三区四| 欧美高清hd18日本| 亚洲视频中文字幕| 国产精品1区2区| 日韩视频一区在线观看| 亚洲综合色视频| jvid福利写真一区二区三区| 精品伦理精品一区| 日本免费新一区视频| 欧美自拍偷拍午夜视频| 中文字幕中文字幕在线一区 | 蜜桃视频一区二区三区在线观看| 97久久人人超碰| 久久精品亚洲精品国产欧美kt∨| 五月激情六月综合| 在线亚洲一区二区| 国产欧美一区二区精品秋霞影院| 亚洲天堂中文字幕| 国产成人自拍网| 久久色在线观看| 久久av资源站| 日韩欧美国产精品| 中文字幕一区二区三区在线不卡| 国内精品国产三级国产a久久| 日韩一区二区三区电影在线观看| 亚洲成人精品一区| 欧美三级蜜桃2在线观看| 亚洲六月丁香色婷婷综合久久 | 国产精品中文欧美| 久久综合99re88久久爱| 久久精品国内一区二区三区| 666欧美在线视频| 首页综合国产亚洲丝袜| 欧美日韩国产中文| 调教+趴+乳夹+国产+精品| 在线一区二区视频| 亚洲自拍偷拍图区| 欧美精品在欧美一区二区少妇| 午夜精品123| 日韩一区二区三区免费看 | 亚洲欧美综合另类在线卡通| 成a人片国产精品| 一区在线中文字幕| 色婷婷久久一区二区三区麻豆| 亚洲欧美视频一区| 在线观看免费视频综合| 一区二区三区四区视频精品免费 | 午夜精品一区二区三区三上悠亚 | 日韩欧美成人一区| 国产美女主播视频一区| 欧美激情艳妇裸体舞| 91免费国产视频网站| 亚洲国产精品欧美一二99| 欧美精品色综合| 韩国v欧美v日本v亚洲v| 欧美国产成人精品| 色综合欧美在线| 日本系列欧美系列| 久久久久久久综合| 91原创在线视频| 五月婷婷综合网| 精品成人免费观看| 另类人妖一区二区av| 国产亚洲欧美日韩在线一区| av电影一区二区| 亚洲国产精品影院| 精品国产在天天线2019| 成人av影视在线观看| 亚洲第一av色| 久久久久国产精品麻豆ai换脸| 99久久久久免费精品国产 | www.欧美日韩国产在线| 一区二区日韩av| 精品国产免费久久| 色综合天天天天做夜夜夜夜做| 欧美国产一区二区在线观看| 在线观看免费亚洲| 国产高清无密码一区二区三区| 亚洲乱码一区二区三区在线观看| 欧美一级日韩一级| av电影天堂一区二区在线| 奇米精品一区二区三区在线观看一| 日本一区二区三区四区| 欧美高清视频不卡网| av一本久道久久综合久久鬼色| 日本不卡的三区四区五区| 国产精品日日摸夜夜摸av| 欧美一区二区在线免费播放 | 日韩欧美高清dvd碟片| 久久久久久9999| 4438成人网| 91麻豆123| 国产成人综合在线| 日韩国产在线观看一区| 亚洲欧美一区二区久久 | 中文子幕无线码一区tr| 欧美一区二区女人| 91久久一区二区| 成人国产在线观看|