/*----------------------------------------------------------------------------- * AKLib.h *----------------------------------------------------------------------------- * ArmorKit version 2 client ¹èÆ÷¿ë ¶óÀ̺귯¸® (¿ÜºÎ ¹èÆ÷¿ë) *----------------------------------------------------------------------------- * All rights reserved by Noh Yong Hwan (fixbrain@gmail.com, unsorted@msn.com) **---------------------------------------------------------------------------*/ #ifndef _AK_LIB_V2_ #define _AK_LIB_V2_ #include "AKLibConfig.h" #include "AKHackReport.h" // ¾÷µ¥ÀÌÆ® ¼­¹ö/Config ÆÄÀÏ #ifdef AK_FOR_DEV #include "servers_dev.inc" #elif defined( AK_FOR_HUXLEY ) #include "servers_huxley.inc" #elif defined( AK_FOR_SUN ) #include "servers_sun.inc" #elif defined( AK_FOR_PARFAIT ) #include "servers_parfait.inc" #endif class IAKLib; class RSCM_IAKLib; //----------------------------------------------------------------------------- // ArmorKit ¹öÀü Á¤º¸ //----------------------------------------------------------------------------- #define AKVER_INFO_LENGTH 64 #define AKVERSION_MJ_HIGH 2 #define AKVERSION_MJ_LOW 0 #define AKVERSION_MN_HIGH 0 #define AKVERSION_MN_LOW 7 //----------------------------------------------------------------------------- // Armorkit ÀÌ Å½ÁöÇÑ Hack °ü·Ã Á¤º¸¸¦ ÅëÁöÇϱâ À§ÇÑ Äݹé ÇÔ¼ö ¿øÇü //----------------------------------------------------------------------------- typedef int (*ARMOKIT_CALLBACK)(PHACK_DETECT_INFO pHDI); //----------------------------------------------------------------------------- // ArmorKit library ÀνºÅϽº »ý¼ºÀ» À§ÇÑ factory method //----------------------------------------------------------------------------- IAKLib* CreateIAKLibInstance(void); void DeleteIAKLibInstance(IAKLib* created_instance); //----------------------------------------------------------------------------- // ArmorKit version 2 ¶óÀ̺귯¸® ÀÎÅÍÆäÀ̽º //----------------------------------------------------------------------------- class IAKLib { public: IAKLib(); virtual ~IAKLib(); // ready for ArmorKit game security service virtual int preStart(DWORD svc_flag, ARMOKIT_CALLBACK CallBack, TCHAR *Version, DWORD svc_ip) = 0; // start ArmorKit game security service virtual int Start(void) = 0; // stop ArmorKit game security service virtual int Stop(void) = 0; //---------------------------------------------------------------------------- // SUN only //---------------------------------------------------------------------------- #ifdef AK_FOR_SUN virtual int SUN_GenerateSID(int seed, char *sid, int length) = 0; virtual int SUN_SetFileHashList(TCHAR *pFileHashList, DWORD dwListSize) = 0; #endif//AK_FOR_SUN }; //----------------------------------------------------------------------------- // ResSourCe Manager for IAKLib //----------------------------------------------------------------------------- class RSCM_IAKLib { public: RSCM_IAKLib(); ~RSCM_IAKLib(); IAKLib* get() {return m_instance;} private: IAKLib* m_instance; }; #endif // _AK_LIB_V2_