convert comments in cpp files to utf8

This commit is contained in:
2024-12-17 22:41:21 +01:00
parent 4525e3103d
commit 361a62853d
153 changed files with 955 additions and 955 deletions

View File

@ -254,7 +254,7 @@ bool CEterPack::Create(CEterFileDict& rkFileDict, const char * dbname, const cha
m_bReadOnly = bReadOnly;
// bReadOnly <EFBFBD><EFBFBD><EFBFBD><20>ƴϰ<C6B4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̽<EFBFBD><CCBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ٸ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
// bReadOnly 모드가 아니고 데이터 베이스가 열린다면 생성 실패
if (!CreateIndexFile())
return false;
@ -283,7 +283,7 @@ bool CEterPack::DecryptIV(DWORD dwPanamaKey)
if (m_stIV_Panama.length() != 32)
return false;
if (m_bDecrypedIV) // <EFBFBD>̹<EFBFBD> <20><>ȣȭ<C8A3><C8AD> Ǯ<><C7AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٽ<EFBFBD> ó<><C3B3> <20><><EFBFBD><EFBFBD>
if (m_bDecrypedIV) // 이미 암호화가 풀렸으면 다시 처리 안함
return true;
DWORD* ivs = (DWORD*)&m_stIV_Panama[0];
@ -474,7 +474,7 @@ bool CEterPack::__BuildIndex(CEterFileDict& rkFileDict, bool bOverwrite)
m_DataPositionMap.insert(TDataPositionMap::value_type(index->filename_crc, index));
if (bOverwrite) // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ŷ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>߿<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE>Ѵ<EFBFBD>
if (bOverwrite) // 서버 연동 패킹 파일은 나중에 들어오지만 최상위로 등록해야한다
rkFileDict.UpdateItem(this, index);
else
rkFileDict.InsertItem(this, index);
@ -492,7 +492,7 @@ bool CEterPack::__BuildIndex(CEterFileDict& rkFileDict, bool bOverwrite)
//
//void CEterPack::ClearDataMemoryMap()
//{
// // m_file<EFBFBD><EFBFBD> data file<EFBFBD>̴<EFBFBD>...
// // m_file data file이다...
// m_file.Destroy();
// m_tLastAccessTime = 0;
// m_bIsDataLoaded = false;
@ -516,8 +516,8 @@ bool CEterPack::Get(CMappedFile& out_file, const char * filename, LPCVOID * data
// m_bIsDataLoaded = true;
//}
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CEterPack<EFBFBD><EFBFBD><EFBFBD><EFBFBD> epk<EFBFBD><EFBFBD> memory map<EFBFBD><EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD>, <20><>û<EFBFBD><C3BB> <20><><EFBFBD><EFBFBD> <20><> <20>κ<EFBFBD><CEBA><EFBFBD> <20><>ũ<EFBFBD>ؼ<EFBFBD> <20>Ѱ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>,
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>û<EFBFBD><C3BB> <20><><EFBFBD><EFBFBD>, <20>ʿ<EFBFBD><CABF><EFBFBD> <20>κи<CEBA> memory map<61><70> <20>ø<EFBFBD><C3B8><EFBFBD>, <20><>û<EFBFBD><C3BB> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><>.
// 기존에는 CEterPack에서 epk memory map에 올려놓고, 요청이 오면 그 부분을 링크해서 넘겨 줬었는데,
// 이제는 요청이 오면, 필요한 부분만 memory map에 올리고, 요청이 끝나면 해제하게 함.
out_file.Create(m_stDataFileName.c_str(), data, index->data_position, index->data_size);
bool bIsSecurityCheckRequired = ( index->compressed_type == COMPRESSED_TYPE_SECURITY ||
@ -982,15 +982,15 @@ bool CEterPack::Put(const char * filename, LPCVOID data, long len, BYTE packType
data_crc = GetCRC32((const char *) data, len);
#endif
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͱ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>..
// 기존 데이터가 있으면..
if (pIndex)
{
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> data ũ<EFBFBD><20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִٸ<D6B4>
// 기존 data 크기가 넣을 데이터 크기를 수용할 수 있다면
if (pIndex->real_data_size >= len)
{
++m_map_indexRefCount[pIndex->id];
// <EFBFBD><EFBFBD><EFBFBD>̰<EFBFBD> Ʋ<><C6B2><EFBFBD>ų<EFBFBD>, checksum<75><6D> Ʋ<><C6B2> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>.
// 길이가 틀리거나, checksum이 틀릴 때만 저장 한다.
if ( (pIndex->data_size != len) ||
#ifdef CHECKSUM_CHECK_MD5
(memcmp( pIndex->MD5Digest, context.digest, 16 ) != 0) )
@ -1022,13 +1022,13 @@ bool CEterPack::Put(const char * filename, LPCVOID data, long len, BYTE packType
return true;
}
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<><20><><EFBFBD><EFBFBD> <20><><EFBFBD><20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ٸ<EFBFBD>, <20><><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD> <20>Ҵ<EFBFBD><D2B4><EFBFBD>
// <EFBFBD>־<EFBFBD><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>. <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>д<EFBFBD>.
// 기존 데이터 크기가 새로 들어갈 것 보다 적다면, 새로 인덱스를 할당해
// 넣어야 한다. 원래 있던 인덱스는 비워 둔다.
PushFreeIndex(pIndex);
WriteIndex(fileIndex, pIndex);
}
// <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 새 데이터
pIndex = NewIndex(fileIndex, filename, len);
pIndex->data_size = len;
@ -1077,7 +1077,7 @@ bool CEterPack::CreateIndexFile()
return false;
//
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
// 파일이 없으므로 새로 만든다.
//
fp = fopen(m_indexFileName, "wb");
@ -1107,16 +1107,16 @@ void CEterPack::WriteIndex(CFileBase & file, TEterPackIndex * index)
}
/*
* Free Block <EFBFBD>̶<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>κ<EFBFBD><CEBA><EFBFBD> <20><><EFBFBD>Ѵ<EFBFBD>.
* Free Block <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> FREE_INDEX_BLOCK_SIZE (32768) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>.
* Free Block 이란 데이터에서 지워진 부분을 말한다.
* Free Block 들은 각각 FREE_INDEX_BLOCK_SIZE (32768) 단위로 나누어져
* 리스트로 관리된다.
*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 128k <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>
* 128 * 1024 / FREE_INDEX_BLOCK_SIZE = 4 <EFBFBD>̹Ƿ<EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD> m_FreeIndexList[4] <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EEB0A3>.
* 예를 들어 128k 의 데이터는
* 128 * 1024 / FREE_INDEX_BLOCK_SIZE = 4 이므로
* 최종 적으로는 m_FreeIndexList[4] 에 들어간다.
*
* FREE_INDEX_BLOCK_SIZE <EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> FREE_INDEX_MAX_SIZE(512) <EFBFBD>̴<EFBFBD>.
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 16MB <20>̻<EFBFBD><CCBB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E8BFAD> 512 <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD><EEB0A3>.
* FREE_INDEX_BLOCK_SIZE 의 최대 값은 FREE_INDEX_MAX_SIZE(512) 이다.
* 따라서 16MB 이상의 데이터는 무조건 배열의 512 위치에 들어간다.
*/
int CEterPack::GetFreeBlockIndex(long size)
{
@ -1153,7 +1153,7 @@ TEterPackIndex* CEterPack::NewIndex(CFileBase& file, const char* filename, long
{
TEterPackIndex* index = NULL;
int block_size = size + (DATA_BLOCK_SIZE - (size % DATA_BLOCK_SIZE));
// if ((index = FindIndex(filename))) // <EFBFBD>̹<EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD> Ȯ<><C8AE>
// if ((index = FindIndex(filename))) // 이미 인덱스가 존재하는지 확인
// return index;
int blockidx = GetFreeBlockIndex(block_size);
@ -1323,7 +1323,7 @@ const char * CEterPack::GetDBName()
void CEterPack::__CreateFileNameKey_Panama(const char * filename, BYTE * key, unsigned int keySize)
{
// Ű <20><>ȣȭ
// 키 암호화
if (keySize != 32)
return;
@ -1365,7 +1365,7 @@ void CEterPack::__CreateFileNameKey_Panama(const char * filename, BYTE * key, un
) // HashFilter
); // StringSource
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ű<><C5B0> ù<><C3B9>° 4<><34><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD> 16<31><36><EFBFBD><EFBFBD>Ʈ Ű <20><><EFBFBD><EFBFBD> <20>˰<EFBFBD><CBB0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
// 만들어진 키의 첫번째 4바이트로 다음 16바이트 키 생성 알고리즘 선택
unsigned int idx2 = *(unsigned int*) key;
switch (idx2 & 3)
@ -1394,14 +1394,14 @@ void CEterPack::__CreateFileNameKey_Panama(const char * filename, BYTE * key, un
//) // HexEncoder
) // HashFilter
); // StringSource
// Ű <20><><EFBFBD><EFBFBD> <20>Ϸ<EFBFBD>
// 키 생성 완료
}
bool CEterPack::__Encrypt_Panama(const char* filename, const BYTE* data, SIZE_T dataSize, CLZObject& zObj)
{
if (32 != m_stIV_Panama.length())
{
// <EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD> <20><> <20>޼<EFBFBD><DEBC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>׿<EFBFBD><D7BF><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
// 해커가 이 메세지를 보면 힌트를 얻을까봐 디버그에서만 출력
#ifdef _DEBUG
TraceError("IV not set (filename: %s)", filename);
#endif
@ -1423,7 +1423,7 @@ bool CEterPack::__Encrypt_Panama(const char* filename, const BYTE* data, SIZE_T
__CreateFileNameKey_Panama(filename, key, sizeof(key));
Encryptor.SetKeyWithIV(key, sizeof(key), (const BYTE*) m_stIV_Panama.c_str(), 32);
// MandatoryBlockSize<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> 2048 <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>
// MandatoryBlockSize에 나누어 떨어지게 만들고 최대 2048 바이트만
DWORD cryptSize = dataSize - (dataSize % Encryptor.MandatoryBlockSize());
cryptSize = cryptSize > 2048 ? 2048 : cryptSize;
@ -1458,7 +1458,7 @@ bool CEterPack::__Decrypt_Panama(const char* filename, const BYTE* data, SIZE_T
{
if (32 != m_stIV_Panama.length())
{
// <EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD> <20><> <20>޼<EFBFBD><DEBC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>׿<EFBFBD><D7BF><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
// 해커가 이 메세지를 보면 힌트를 얻을까봐 디버그에서만 출력
#ifdef _DEBUG
TraceError("IV not set (filename: %s)", filename);
#endif
@ -1472,7 +1472,7 @@ bool CEterPack::__Decrypt_Panama(const char* filename, const BYTE* data, SIZE_T
__CreateFileNameKey_Panama(filename, key, sizeof(key));
Decryptor.SetKeyWithIV(key, sizeof(key), (const BYTE*) m_stIV_Panama.c_str(), 32);
// MandatoryBlockSize<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> 2048 <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>
// MandatoryBlockSize에 나누어 떨어지게 만들고 최대 2048 바이트만
DWORD cryptSize = dataSize - (dataSize % Decryptor.MandatoryBlockSize());
cryptSize = cryptSize > 2048 ? 2048 : cryptSize;