韩国官方ManagerServer_kor.wtf 解密源代码
// Code.cpp: implementation of the CCode class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Code.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CCode::CCode()
{
// CodeInfo.clear();
}
// -------------------------------------------------------------------------------------
// Name : EncrytConvert()
// Desc : 鞠龋内靛 函券
// -------------------------------------------------------------------------------------
void CCode::EncrytConvert(char *strMessage, int len)
{
for(int i=0; i<len;i++)
{
strMessage[i] ^= XORCODE;
}
}
// -------------------------------------------------------------------------------------
// Name : OnLoad()
// Desc : 鞍篮 弃歹 郴狼 颇老 肺靛
// -------------------------------------------------------------------------------------
BOOL CCode::OnLoad()
{
CFile file;
TCHeader LoadHeader; // file Header V1.0
CCode pCode;
// File Open
if(!file.Open(KORVERSIONFILENAME, CFile::modeRead))
{
AfxMessageBox("颇老阑 Open 角菩");
return FALSE;
}
file.Read((LPSTR)&LoadHeader, sizeof(TCHeader));
if(LoadHeader.headcode != TEXTCODEHEADCODE) // Header 犬牢
{
AfxMessageBox("TextCode Data啊 酒凑聪促. 犬牢窍技夸.");
return FALSE;
}
if(LoadHeader.version != TEXTCODEVERSION) // Version 犬牢
{
AfxMessageBox("瘤盔捞 救登绰 滚怜涝聪促. 犬牢窍技夸.");
return FALSE;
}
if(LoadHeader.count < 1) // Count(内靛 荐)
{
AfxMessageBox("单捞鸥啊 窍唱档 绝嚼聪促.");
return FALSE;
}
char strMessage[256];
WORD nstrCode, szSize;
for(int i=0; i< LoadHeader.count; i++)
{
memset(strMessage,0, 256);
file.Read(&nstrCode, sizeof(WORD));
file.Read(&szSize, sizeof(WORD));
file.Read(&strMessage, szSize);
EncrytConvert(strMessage, szSize);
m_CodeMap[nstrCode] = strMessage;
}
file.Close();
return TRUE; // File Load OK
}
string CCode::Get(int nCode)
{
return m_CodeMap[nCode];
}