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

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

?? selfextract.cpp

?? 一個(gè)實(shí)現(xiàn)文件加密的源碼
?? CPP
字號(hào):
/*
	SelfExtract Class - attaching/detaching file to an executable.
	Written by Nir Dremer
*/

#include "SelfExtract.h"
#include <stdio.h>
#include <fcntl.h>
#include <Shlwapi.h>

namespace GenLib
{

SelfExtract::SelfExtract(const char *filename)
{
	// if no filename given, using current module filename.
	if (!filename) 
	{
		GetModuleFileName(0, _sourceFile, MAX_PATH);
	}
	else
	{
		strcpy(_sourceFile, filename);
	}
	_lastDetached[0] = 0;
}

SelfExtract::~SelfExtract(void)
{
}

int SelfExtract::attachFile(const char *filename, const char *writeName)
{
	// parameter must be valid.
	if (!filename) return 1;
	// file (given in constructor) must not have attached file!
	if (checkSignature()) return 2;

	FILE *orig = fopen(_sourceFile, "ab");
	if (orig == 0) return 3;

	FILE *attachy = fopen(filename, "rb");
	if (attachy == 0) 
	{
		fclose(orig);
		return 4;
	}
	
	fseek(orig, 0, SEEK_END);

	// save file beginning position.
	long offset = ftell(orig);

	const char *shortName = filename;
   	if (writeName != 0) shortName = writeName;
	// stripping directory information - only filename will be saved.
	if (strrchr(shortName, '\\')) shortName = strrchr(shortName, '\\')+1;
	
	int	fileLen = (int)strlen(shortName);
	
	// writing filename length (integer size) and filename.
	fwrite(&fileLen, sizeof(char), sizeof(fileLen), orig);
	fwrite(shortName, sizeof(char), fileLen, orig);

	const int bufSize = 1024;
	char *buffer[bufSize];
	size_t writeSize;
	
	while (!feof(attachy))
	{
		writeSize = fread(buffer, sizeof(char), bufSize, attachy);
		fwrite(buffer, sizeof(char), writeSize, orig);
	}

    fwrite(&offset, sizeof(char), sizeof(offset), orig);
	fwrite(ATT_SIGNATURE, sizeof(char), ATT_SIGSIZE, orig);

	fclose(orig);
	fclose(attachy);
	return true;
}

int SelfExtract::detachFile(const char *writeFile, char *detachedFile, int detachedSize)
{
	FILE *orig = fopen(_sourceFile, "rb");
	if (orig == 0) return 2;

	// seeking signature.
	if (fseek(orig, - (long) (ATT_SIGSIZE + sizeof(long)), SEEK_END) != 0)
	{
		fclose(orig);
		return 3;
	}

	long fileEndPos = ftell(orig);

	// reading the position of the beginning of filename + file content.
	long filePos;
	fread(&filePos, sizeof(char), sizeof(filePos), orig);

	// reading signature.
	char sig[ATT_SIGSIZE+1];
	sig[ATT_SIGSIZE] = 0;
	fread(sig, sizeof(char), ATT_SIGSIZE, orig);

	// signature check failure.
	if (strcmp(sig, ATT_SIGNATURE) != 0)
	{
		fclose(orig);
		return 3;
	}

	// going to file content location.
	if (fseek(orig, filePos, SEEK_SET) != 0)
	{
		fclose(orig);
		return 4;
	}

	// reading filename (and filename length).
	int nameLen;
	fread(&nameLen, sizeof(char), sizeof(nameLen), orig);
	char filename[MAX_PATH];
	fread(filename, sizeof(char), nameLen, orig);
	filename[nameLen] = 0;
	// Saving filename for user query - getDetached().
	strcpy(_lastDetached, filename);
 
	// building output file based on given directory and extracted filename.
	char outFile[MAX_PATH];
	// if there's a given folder.
	if (writeFile)
	{
		strcpy(outFile, writeFile);
	}
	else
	{
		strcpy(outFile, filename);
	}
	
	// copying the output file to the out parameter if param. valid.
	if (detachedFile)
		strncpy(detachedFile, outFile, detachedSize);

	FILE *attachy = fopen(outFile, "wb");

	// many reasons for fopen to fail:
	//	* result directory can NOT be writen (premission or protected media).
	//	* bad filename inside the executable (currently not begin checked).
	//	* and probably more reasons.
	if (attachy == 0) 
	{
		fclose(orig);
		return 5;
	}

	// open out file.
	const int bufSize = 1024;
	char *buffer[bufSize];
	int readSize = bufSize;

	filePos = ftell(orig);

	while (filePos < fileEndPos)
	{
		if (filePos + bufSize > fileEndPos)
		{
			readSize = fileEndPos - filePos;
		}
		
		filePos += (long)fread(buffer, sizeof(char), readSize, orig);
		fwrite(buffer, sizeof(char), readSize, attachy);
	}

	fclose(orig);
	fclose(attachy);
	return true;
}

bool SelfExtract::checkSignature()
{
	FILE *file = fopen(_sourceFile, "rb");
	if (file == 0) return false;

	if (fseek(file, - (int) ATT_SIGSIZE, SEEK_END) != 0)
	{
		fclose(file);
		return false;
	}

	// checking signature.
	char sig[ATT_SIGSIZE+1];
	sig[ATT_SIGSIZE] = 0;
	fread(sig, sizeof(char), ATT_SIGSIZE, file);

	// signature check failure.
	if (strcmp(sig, ATT_SIGNATURE) != 0)
	{
		fclose(file);
		return false;
	}

	fclose(file);
	return true;
}

}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av高清在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 国产宾馆实践打屁股91| 欧美高清性hdvideosex| 亚洲三级在线观看| 国产成人在线视频播放| 久久久久久久综合| 精品一区二区在线视频| 日韩女优电影在线观看| 亚洲成在人线免费| 在线成人av影院| 香蕉乱码成人久久天堂爱免费| 色一情一乱一乱一91av| 性做久久久久久免费观看| 欧美午夜电影在线播放| 天天综合色天天综合| 欧美一区二区三区免费大片| 日本成人中文字幕在线视频| 久久新电视剧免费观看| 国产成人啪午夜精品网站男同| 久久久久久免费毛片精品| 国产不卡视频在线观看| 亚洲一区二区在线免费看| 欧美精品久久99久久在免费线| 麻豆极品一区二区三区| 国产精品天天摸av网| 欧美最猛黑人xxxxx猛交| 麻豆免费看一区二区三区| 日本一区二区综合亚洲| 欧美在线影院一区二区| 国产又黄又大久久| 亚洲精品成人在线| 久久久亚洲国产美女国产盗摄| 91福利视频久久久久| 韩国女主播成人在线| 亚洲女女做受ⅹxx高潮| 精品少妇一区二区三区在线播放| av在线一区二区三区| 久久爱www久久做| 亚洲欧洲精品成人久久奇米网| 欧美一区二区大片| 欧美少妇性性性| 成人免费看片app下载| 美女一区二区三区在线观看| 一级特黄大欧美久久久| 国产精品沙发午睡系列990531| 日韩写真欧美这视频| 欧美一区二区三区爱爱| 欧美日韩情趣电影| 欧美日韩一区二区电影| 欧美性猛片xxxx免费看久爱| 成人av网站在线观看| 成人激情动漫在线观看| 国产99久久久精品| 国产一区二区三区高清播放| 久久99国产精品尤物| 久久精品二区亚洲w码| 美女免费视频一区| 秋霞国产午夜精品免费视频| 性欧美大战久久久久久久久| 亚洲国产视频网站| 免费高清在线视频一区·| 日韩av在线发布| 国产乱人伦精品一区二区在线观看| 久久精品国产免费| www.久久久久久久久| 色综合久久久久综合99| 欧美日韩精品福利| 精品国产乱码久久久久久蜜臀| 久久久噜噜噜久久中文字幕色伊伊| 精品国产露脸精彩对白| 亚洲视频精选在线| 免费一区二区视频| 成人av在线看| 91精品欧美综合在线观看最新| 久久久美女毛片| 夜夜嗨av一区二区三区中文字幕 | 国产午夜精品理论片a级大结局 | 狠狠色丁香九九婷婷综合五月| 国产成人精品免费网站| 在线免费不卡视频| 久久久久99精品国产片| 一区二区高清在线| 国产成人8x视频一区二区| 欧美探花视频资源| 国产精品国产a| 色婷婷综合激情| 欧美电影免费观看高清完整版在线观看 | 亚洲欧美怡红院| 日韩欧美一级二级| 久久久久久久久岛国免费| 精品欧美一区二区在线观看| 99riav一区二区三区| 欧美一区二区在线观看| 亚洲欧美另类小说| 成人福利视频在线看| 日韩视频一区二区三区在线播放 | 亚洲欧美一区二区三区国产精品 | 国产精品国产三级国产三级人妇| 国产清纯白嫩初高生在线观看91 | 亚洲色图清纯唯美| 蜜桃av一区二区三区| 欧美久久久久久久久中文字幕| 亚洲乱码一区二区三区在线观看| 久久成人免费网| 日韩精品一区二区三区四区视频 | 欧美日韩在线一区二区| 亚洲精品v日韩精品| 色欧美乱欧美15图片| 亚洲精品中文字幕乱码三区| 色婷婷综合视频在线观看| 亚洲精品水蜜桃| 制服丝袜日韩国产| 免费成人小视频| 国产日韩欧美在线一区| 不卡一区在线观看| 亚洲在线观看免费| 91精品国产综合久久久蜜臀图片 | 日本视频中文字幕一区二区三区| 91精品国产乱码久久蜜臀| 欧美96一区二区免费视频| 国产欧美视频一区二区三区| 91色九色蝌蚪| 老司机精品视频一区二区三区| 中日韩av电影| 欧美伦理影视网| 成人激情免费电影网址| 日韩avvvv在线播放| 国产精品成人免费精品自在线观看| 欧美日韩亚洲另类| 经典三级一区二区| 香蕉久久一区二区不卡无毒影院| 欧美电影免费观看高清完整版| 91视频在线看| 风间由美一区二区av101| 天天av天天翘天天综合网 | 欧美精品aⅴ在线视频| 成人国产精品免费网站| 麻豆成人综合网| 亚洲一区二区三区在线看| 国产欧美精品一区二区色综合朱莉| 欧美亚洲一区二区三区四区| 成人一级视频在线观看| 久久综合综合久久综合| 日日摸夜夜添夜夜添精品视频 | 一个色在线综合| 亚洲天堂a在线| 亚洲欧美在线aaa| 国产精品美女一区二区在线观看| 精品伦理精品一区| 欧美一级一级性生活免费录像| 欧美日韩国产首页| 欧美日本视频在线| 欧美日韩中文字幕精品| 欧美日韩国产高清一区二区| 欧美视频在线观看一区二区| 欧美日韩1区2区| 欧美理论在线播放| 精品免费日韩av| 久久亚洲一级片| 欧美激情一二三区| 亚洲久本草在线中文字幕| 亚洲精品视频在线观看免费| 亚洲高清在线视频| 久久99热99| 99久久精品久久久久久清纯| 欧美午夜片在线看| 91精品国产一区二区三区香蕉| 精品国产麻豆免费人成网站| 久久久久久久性| 亚洲二区在线观看| 国产激情一区二区三区四区 | 亚洲主播在线观看| 久久99蜜桃精品| 99视频一区二区| 欧美日韩国产综合一区二区| 久久久久青草大香线综合精品| 国产精品三级av在线播放| 午夜电影一区二区三区| 粉嫩高潮美女一区二区三区| 91国产精品成人| 久久综合九色综合97婷婷| 亚洲免费av观看| 国产一区不卡在线| 欧美一区国产二区| 亚洲精品伦理在线| 国产一区久久久| 欧美不卡一二三| 偷拍日韩校园综合在线| 91在线视频免费91| 99精品视频一区| 91久久久免费一区二区| 国产精品久久久久久久岛一牛影视| 日本伊人精品一区二区三区观看方式 | 日韩欧美高清dvd碟片| 首页综合国产亚洲丝袜| 欧美日韩国产bt| 日日欢夜夜爽一区| 欧美一区二区精品在线| 免费看日韩a级影片|