#pragma once //============================================================================================================================= /// DBDecryptFileReader class /** @author Lee Eun-pa @since 2006. 05. 15 @remark - Webzen Crypt File @note - ÆÄÀÏ¿¡ ´ëÇÑ ¾Ïȣȭ/º¹È£È­ ¶óÀ̺귯¸®(TheMOLA)¿¡ ±âº»ÀûÀ¸·Î Æ÷ÇԵǾî ÀÖ´Â DBProxy¸¦ À§ÇÑ ¾Ïȣȭ ÆÄÀÏ Reader @history - */ //============================================================================================================================= #include "CryptFileReader.h" class DBDecryptFileReader : public CryptFileReader { public: DBDecryptFileReader() { _InitDBInfo(); } ~DBDecryptFileReader() { _InitDBInfo(); } BOOL ReadStart( const CHAR* pFileName, QueryKey IN dbp = "DBP" ); BOOL ReadStartFromBuffer( const BYTE* pSTREAM, QueryKey IN dbp = "DBP" ); VOID ReadEnd(); const CHAR* GetIdentification( DWORD dwServerMode ) { if( dwServerMode && dwServerMode<(4+1) ) return ID_PWD[dwServerMode].m_pUserID; else return NULL; } const CHAR* GetPassword( DWORD dwServerMode ) { if( dwServerMode && dwServerMode<(4+1) ) return ID_PWD[dwServerMode].m_pUserPWD; else return NULL; } #ifdef __WAVERIX_THE_MOLA_UPDATE_VERSION2__ public: virtual BOOL ILoad( SCRIPT_CODE_T scriptCode, BYTE* pSTREAM, DWORD dwSize ){ return FALSE; } #endif //__WAVERIX_THE_MOLA_UPDATE_VERSION2__ private: VOID _InitDBInfo() { memset( ID_PWD, 0, sizeof(ID_PWD) ); } BOOL _GetIdentification( BYTE* IN OUT pID ); BOOL _GetPassword( BYTE* IN OUT pPWD ); private: struct AuthInfoBlock { CHAR m_pUserID[MAX_ID_SIZE+1]; CHAR m_pUserPWD[MAX_PWD_SIZE+1]; } ID_PWD[4+1]; };