📄 endata.cpp
字号:
/********************************************************************
Copyright (c) Beijing Feitian Technologies
http://www.FTSafe.com
File : EnData.cpp
Created: 2003/11/04
Author: yihai
Purpose: ?
Revision: ?
*********************************************************************/
// EnData.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
void EncryptData(char* pData,int iSize,char factor)
{
for(int i=0;i<iSize;i++)
{
pData[i] ^= factor;
}
}
int main(int argc, char* argv[])
{
if(argc<5)
{
printf("useage: offfset size filename\n");
return 0;
}
char* pStop=NULL;
char* pFileName = argv[1];
DWORD dwOffset = strtoul(argv[2],&pStop,16);
DWORD dwSize = strtoul(argv[3],&pStop,16);
char chFactor = (char)strtoul(argv[4],&pStop,16);
if(access(pFileName,0)==-1)
{
printf("File %s is not exist!\n",pFileName);
return 1;
}
HANDLE hFile = CreateFile(pFileName,GENERIC_WRITE|GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if(hFile==INVALID_HANDLE_VALUE)
{
printf("error open %s\n",pFileName);
return 1;
}
char* pData = new char[dwSize];
SetFilePointer(hFile,dwOffset,0,FILE_BEGIN);
DWORD dwRead=0;
if(!ReadFile(hFile,pData,dwSize,&dwRead,NULL))
{
printf("error read %s\n",pFileName);
return 1;
}
if(dwRead<dwSize)
printf("warning read size:%d\n",dwRead);
EncryptData(pData,dwSize,chFactor);
SetFilePointer(hFile,dwOffset,0,FILE_BEGIN);
DWORD dwWritten=0;
if(!WriteFile(hFile,pData,dwSize,&dwWritten,NULL))
{
printf("error write %s\n",pFileName);
return 1;
}
if(dwWritten<dwSize)
printf("warning written size:%d\n",dwWritten);
CloseHandle(hFile);
delete[] pData;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -