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

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

?? processing.cpp

?? 文件加密功能源碼,對文件
?? 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;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区av| 九色综合国产一区二区三区| 日韩国产在线观看一区| 国产精品伊人色| 欧洲一区二区三区在线| 欧美tickle裸体挠脚心vk| 一区二区三区不卡视频在线观看 | 中文字幕佐山爱一区二区免费| 亚洲国产日韩在线一区模特| 国产999精品久久久久久绿帽| 欧美群妇大交群的观看方式| 国产精品成人网| 国产精品亚洲成人| 91精品国产综合久久久久久久久久| 国产精品乱码一区二三区小蝌蚪| 美国十次了思思久久精品导航| 99精品国产热久久91蜜凸| 久久人人超碰精品| 美女久久久精品| 5566中文字幕一区二区电影| 亚洲免费视频成人| av亚洲精华国产精华精华 | 国产视频911| 国产精品乱人伦| 亚洲永久精品大片| 麻豆精品视频在线观看视频| 亚洲综合在线免费观看| 久久国产精品一区二区| 91精品国产欧美一区二区18| 亚洲成人1区2区| 欧美日韩另类国产亚洲欧美一级| 亚洲精品中文在线影院| 色综合久久久久久久久久久| ...xxx性欧美| 99精品视频在线观看免费| 国产精品美女视频| av中文字幕一区| 亚洲免费观看高清在线观看| 91麻豆123| 亚洲国产精品久久艾草纯爱| 精品视频一区二区三区免费| 亚洲国产精品精华液网站| 欧美系列在线观看| 视频一区中文字幕| 亚洲国产精品v| 国产suv精品一区二区883| 欧美精品一区二区三区一线天视频| 久久99蜜桃精品| 久久精品一二三| www.日韩av| 一区二区高清在线| 3d成人h动漫网站入口| 日韩精品91亚洲二区在线观看| 日韩一区二区三区在线视频| 久久99蜜桃精品| 日本一区二区免费在线| 色哟哟精品一区| 秋霞午夜鲁丝一区二区老狼| 日韩精品一区二区三区在线观看| 国产精品一区在线观看你懂的| 国产日韩精品一区| 91搞黄在线观看| 免费观看在线综合色| 欧美国产激情二区三区| 日本道在线观看一区二区| 日本最新不卡在线| 久久精品亚洲麻豆av一区二区| 91在线高清观看| 美女久久久精品| 国产精品理论在线观看| 69堂国产成人免费视频| 国产**成人网毛片九色| 亚洲成av人片在www色猫咪| 精品黑人一区二区三区久久| 99久久久久久| 精品一区二区三区在线播放视频| 国产精品私人影院| 欧美久久久久久久久| 国产精品99久久久久久宅男| 亚洲综合一区二区精品导航| 久久这里只有精品视频网| 色激情天天射综合网| 国产一区二区伦理| 一区二区三区影院| 国产欧美综合在线观看第十页| 在线精品国精品国产尤物884a| 国产在线观看一区二区| 久久99国内精品| 亚洲色图色小说| 国产亚洲综合性久久久影院| 欧美日韩国产美女| bt欧美亚洲午夜电影天堂| 蜜桃视频在线观看一区| 亚洲高清久久久| 中文字幕日韩av资源站| 久久久久久麻豆| 日韩一卡二卡三卡四卡| 欧美色大人视频| 99re在线精品| 成人性视频免费网站| 国产一区视频网站| 美女爽到高潮91| 日本在线播放一区二区三区| 一区二区三区四区五区视频在线观看| 久久久久高清精品| 日韩无一区二区| 91精品免费观看| 欧美高清视频www夜色资源网| 色诱亚洲精品久久久久久| 成人app软件下载大全免费| 国产一区二区电影| 国产一区二区三区精品欧美日韩一区二区三区 | 99久久99久久精品国产片果冻| 国产精品18久久久久久久久久久久| 日产精品久久久久久久性色| 日韩电影在线观看一区| 亚洲高清不卡在线观看| 亚洲国产综合91精品麻豆| 亚洲精品高清在线| 亚洲精品第一国产综合野| 一区二区三国产精华液| 一区二区三区四区激情| 亚洲综合一二区| 亚洲第一主播视频| 日本免费新一区视频| 欧美aⅴ一区二区三区视频| 日本免费在线视频不卡一不卡二| 免费精品99久久国产综合精品| 美日韩一区二区| 韩国三级在线一区| 国产精品一区二区久激情瑜伽| 国产成人精品综合在线观看| 白白色 亚洲乱淫| 91丝袜高跟美女视频| 在线免费观看一区| 亚洲色图欧洲色图| 亚洲乱码中文字幕| 亚洲成人动漫在线免费观看| 欧美aaaaaa午夜精品| 国产精品一级黄| 成人av在线观| 欧美日韩激情在线| 久久综合九色综合久久久精品综合| 国产亚洲一二三区| 一区二区三区丝袜| 日韩福利电影在线| 国产电影一区二区三区| 一本大道综合伊人精品热热| 69久久夜色精品国产69蝌蚪网| 亚洲精品在线免费播放| 亚洲天堂成人网| 日韩和的一区二区| 粉嫩av一区二区三区在线播放| av成人免费在线| 欧美高清你懂得| 国产丝袜在线精品| 午夜不卡av免费| 国产精品一二二区| 欧洲激情一区二区| 国产婷婷一区二区| 亚洲第一成人在线| 丁香桃色午夜亚洲一区二区三区| 日本韩国视频一区二区| 亚洲精品一区二区三区香蕉| 亚洲蜜臀av乱码久久精品| 久久国产精品区| 色综合视频在线观看| 日韩欧美一区二区久久婷婷| 亚洲日本va午夜在线电影| 精品亚洲国产成人av制服丝袜| 99久久99精品久久久久久| 精品久久99ma| 香蕉久久夜色精品国产使用方法| 国产成人亚洲综合a∨婷婷图片| 久久久久9999亚洲精品| 亚洲h在线观看| va亚洲va日韩不卡在线观看| 精品少妇一区二区三区免费观看| 亚洲精品综合在线| 国产精品小仙女| 精品欧美一区二区久久| 午夜免费欧美电影| 色婷婷av一区二区三区大白胸| 久久精品一区二区三区不卡| 蜜桃视频第一区免费观看| 在线视频一区二区免费| 国产精品美女久久久久久久| 国产一区二区三区免费观看 | 99久久久久久99| 国产欧美一区二区三区在线老狼| 蜜臀av在线播放一区二区三区| 欧美在线免费播放| 亚洲女与黑人做爰| 成人免费观看男女羞羞视频| 久久久久久久电影| 狠狠色综合播放一区二区| 日韩一区二区三区视频| 日本不卡一区二区三区| 制服丝袜亚洲色图| 日产欧产美韩系列久久99|