/*++ HackShield SDK header file Copyright (C), AhnLab, Inc. 2002-2008, All rights reserved. Module Name: HShield.h Abstract: This header file defines the data types and constants, and exposes APIs that are defined by HackShield Library. Tag Information: This header file is auto-generated at $$HSHIELD_BUILD_DATETIME$$. --*/ #ifndef _HSHIELD_H_INC #define _HSHIELD_H_INC // HShield Library Version Info #define STATE_DEV 0x00 #define STATE_ALPHA 0x01 #define STATE_BETA 0x02 #define STATE_RC_RTM 0x03 // M : Major ¹öÀü // m : Minior ¹öÀü // p : ÆÐÄ¡ ¹öÀü // s1 : STATE_DEV, STATE_ALPHA, STATE_BETA, STATE_RC_RTM Á¤º¸ // s2 : °¢ »óź° ¹öÀü Á¤º¸. e.g.) Alpha1, Alpha2 // b : ºôµå ¹øÈ£ //#define HSVERSION(M,m,p,s1,s2,b) (M&0x0F)<<28|(m&0x0F)<<24|(p&0x1F)<<19|(s1&0x03)<<17|(s2&0x07)<<14|(b&0x3FFF) // Initialize Option #define AHNHS_CHKOPT_SPEEDHACK 0x2 #define AHNHS_CHKOPT_READWRITEPROCESSMEMORY 0x4 #define AHNHS_CHKOPT_KDTRACER 0x8 #define AHNHS_CHKOPT_OPENPROCESS 0x10 #define AHNHS_CHKOPT_AUTOMOUSE 0x20 #define AHNHS_CHKOPT_MESSAGEHOOK 0x40 #define AHNHS_CHKOPT_PROCESSSCAN 0x80 #define AHNHS_CHKOPT_ALL ( AHNHS_CHKOPT_SPEEDHACK \ | AHNHS_CHKOPT_READWRITEPROCESSMEMORY \ | AHNHS_CHKOPT_KDTRACER \ | AHNHS_CHKOPT_OPENPROCESS \ | AHNHS_CHKOPT_AUTOMOUSE \ | AHNHS_CHKOPT_PROCESSSCAN \ | AHNHS_USE_LOG_FILE \ | AHNHS_ALLOW_SVCHOST_OPENPROCESS \ | AHNHS_ALLOW_LSASS_OPENPROCESS \ | AHNHS_ALLOW_CSRSS_OPENPROCESS \ | AHNHS_DONOT_TERMINATE_PROCESS ) #define AHNHS_USE_LOG_FILE 0x100 #define AHNHS_ALLOW_SVCHOST_OPENPROCESS 0x400 #define AHNHS_ALLOW_LSASS_OPENPROCESS 0x800 #define AHNHS_ALLOW_CSRSS_OPENPROCESS 0x1000 #define AHNHS_DONOT_TERMINATE_PROCESS 0x2000 #define AHNHS_DISPLAY_HACKSHIELD_LOGO 0x4000 #define AHNHS_CHKOPT_LOADLIBRARY 0x10000 #define AHNHS_CHKOPT_PROTECTSCREEN 0x20000 #define AHNHS_CHKOPT_PROTECTSCREENEX 0x40000 #define AHNHS_CHKOPT_LOCAL_MEMORY_PROTECTION 0x80000 #define AHNHS_CHKOPT_ABNORMAL_FUNCTION_CALL 0x100000 #define AHNHS_CHKOPT_ANTIFREESERVER 0x200000 #define AHNHS_ALLOW_SWITCH_WINDOW 0x400000 #define AHNHS_CHKOPT_STANDALONE 0x800000 #define AHNHS_CHKOPT_PROTECT_D3DX 0x1000000 #define AHNHS_CHKOPT_SELF_DESTRUCTION 0x2000000 #define AHNHS_DISPLAY_HACKSHIELD_TRAYICON 0x4000000 #define AHNHS_CHKOPT_DETECT_VIRTUAL_MACHINE 0x8000000 #define AHNHS_CHKOPT_UPDATED_FILE_CHECK 0x10000000 #define AHNHS_CHKOPT_SEND_MONITOR_ONCE 0x20000000 #define AHNHS_CHKOPT_SEND_MONITOR_DELAY 0x40000000 #define AHNHS_CHKOPT_ABNORMAL_FUNCTION_CALL_V2 0x80000000 // SpeedHack Sensing Ratio #define AHNHS_SPEEDHACK_SENSING_RATIO_HIGHEST 0x1 #define AHNHS_SPEEDHACK_SENSING_RATIO_HIGH 0x2 #define AHNHS_SPEEDHACK_SENSING_RATIO_NORMAL 0x4 #define AHNHS_SPEEDHACK_SENSING_RATIO_LOW 0x8 #define AHNHS_SPEEDHACK_SENSING_RATIO_LOWEST 0x10 #define AHNHS_SPEEDHACK_SENSING_RATIO_GAME 0x20 // // SpeedHack Extra option // #define AHNHS_SPEEDHACK_EXOPT_ALLOW_SLOW 0x80000000 // SelfDestruction Ratio #define AHNHS_SELFDESTRUCTION_RATIO_FAST 0x100 //30ÃÊ #define AHNHS_SELFDESTRUCTION_RATIO_NORMAL 0x200 //1ºÐ #define AHNHS_SELFDESTRUCTION_RATIO_SLOW 0x400 //3ºÐ #define AHNHS_SELFDESTRUCTION_RATIO_VERYSLOW 0x800 //5ºÐ //ERROR CODE #define HS_ERR_OK 0x00000000 // ÇÔ¼ö È£Ãâ ¼º°ø #define HS_ERR_UNKNOWN 0x00000001 // ¾Ë ¼ö ¾ø´Â ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù. #define HS_ERR_INVALID_PARAM 0x00000002 // ¿Ã¹Ù¸£Áö ¾ÊÀº ÀÎÀÚÀÔ´Ï´Ù. #define HS_ERR_NOT_INITIALIZED 0x00000003 // ÇÙ½¯µå ¸ðµâÀÌ ÃʱâÈ­µÇÁö ¾ÊÀº »óÅÂÀÔ´Ï´Ù. #define HS_ERR_COMPATIBILITY_MODE_RUNNING 0x00000004 // ÇöÀç ÇÁ·Î¼¼½º°¡ ȣȯ¼º ¸ðµå·Î ½ÇÇàµÇ¾ú½À´Ï´Ù. #define HS_ERR_ALREADY_UNINITIALIZED 0x00000005 // Uninitialize°¡ ¼öÇàµÈ ÀÌÈÄ¿¡´Â °ÔÀÓÀ» Àç½ÇÇàÇÑÈÄ InitializeÇØ¾ß ÇÕ´Ï´Ù. #define HS_ERR_STRING_CONVERSION_FAILED 0x00000006 // Unicode ¹®ÀÚ º¯È¯ÀÌ ½ÇÆÐÇÏ¿´½À´Ï´Ù. #define HS_ERR_EXCEPTION_RAISED 0x00000007 // ¿¹¿Ü(Exception)°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù. #define HS_ERR_INVALID_LICENSE 0x00000100 // ¿Ã¹Ù¸£Áö ¾ÊÀº ¶óÀ̼¾½º ŰÀÔ´Ï´Ù. #define HS_ERR_INVALID_FILES 0x00000101 // À߸øµÈ ÆÄÀÏ ¼³Ä¡µÇ¾ú½À´Ï´Ù. ÇÁ·Î±×·¥À» À缳ġÇϽñ⠹ٶø´Ï´Ù. #define HS_ERR_INIT_DRV_FAILED 0x00000102 #define HS_ERR_ANOTHER_SERVICE_RUNNING 0x00000103 // ´Ù¸¥ °ÔÀÓÀ̳ª ÇÁ·Î¼¼½º¿¡¼­ ÇÙ½¯µå¸¦ ÀÌ¹Ì »ç¿ëÇϰí ÀÖ½À´Ï´Ù. #define HS_ERR_ALREADY_INITIALIZED 0x00000104 // ÀÌ¹Ì ÇÙ½¯µå ¸ðµâÀÌ ÃʱâÈ­µÇ¾î ÀÖ½À´Ï´Ù. #define HS_ERR_DEBUGGER_DETECT 0x00000105 // ÄÄÇ»ÅÍ¿¡¼­ µð¹ö°Å ½ÇÇàÀÌ °¨ÁöµÇ¾ú½À´Ï´Ù. µð¹ö°ÅÀÇ ½ÇÇàÀ» ÁßÁö½ÃŲ µÚ¿¡ ´Ù½Ã ½ÇÇà½ÃÄÑÁֽñâ¹Ù¶ø´Ï´Ù. #define HS_ERR_EXECUTABLE_FILE_CRACKED 0x00000106 // ½ÇÇà ÆÄÀÏÀÇ Äڵ尡 Å©·¢ µÇ¾ú½À´Ï´Ù. #define HS_ERR_NEED_ADMIN_RIGHTS 0x00000107 // ADMIN ±ÇÇÑÀÌ ÇÊ¿äÇÕ´Ï´Ù. #define HS_ERR_MODULE_INIT_FAILED 0x00000108 // ÇÙ½¯µå ¸ðµâ ÃʱâÈ­¿¡ ½ÇÆÐÇÏ¿´½À´Ï´Ù. #define HS_ERR_START_ENGINE_FAILED 0x00000200 // ÇØÅ· ÇÁ·Î±×·¥ °¨Áö ¿£ÁøÀ» ½ÃÀÛÇÒ ¼ö ¾ø½À´Ï´Ù. #define HS_ERR_ALREADY_SERVICE_RUNNING 0x00000201 // ÀÌ¹Ì ÇÙ½¯µå ¼­ºñ½º°¡ ½ÇÇà ÁßÀÔ´Ï´Ù. #define HS_ERR_DRV_FILE_CREATE_FAILED 0x00000202 // ÇÙ½¯µå µå¶óÀ̹ö ÆÄÀÏÀ» »ý¼ºÇÒ ¼ö ¾ø½À´Ï´Ù. #define HS_ERR_REG_DRV_FILE_FAILED 0x00000203 // ÇÙ½¯µå µå¶óÀ̹ö¸¦ µî·ÏÇÒ ¼ö ¾ø½À´Ï´Ù. #define HS_ERR_START_DRV_FAILED 0x00000204 // ÇÙ½¯µå µå¶óÀ̹ö¸¦ ½ÃÀÛÇÒ ¼ö ¾ø½À´Ï´Ù. #define HS_ERR_START_THREAD_FAILED 0x00000205 // ÇÙ½¯µå °Ë»ç ½º·¹µå¸¦ ½ÃÀÛÇÒ ¼ö ¾ø½À´Ï´Ù. #define HS_ERR_ALREADY_GAME_STARTED 0x00000206 // °ÔÀÓÀÌ ÀÌ¹Ì ½ÇÇà ÁßÀÔ´Ï´Ù. °ÔÀÓÀ» Áߺ¹Çؼ­ ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù. #define HS_ERR_VIRTUAL_MACHINE_DETECT 0x00000207 // °¡»ó OS ¶Ç´Â ¿¡¹Ä·¹ÀÌÅÍ¿¡¼­´Â °ÔÀÓÀ» ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù. #define HS_ERR_SERVICE_NOT_RUNNING 0x00000301 // ÇÙ½¯µå ¼­ºñ½º°¡ ½ÇÇàµÇ°í ÀÖÁö ¾ÊÀº »óÅÂÀÔ´Ï´Ù. #define HS_ERR_SERVICE_STILL_RUNNING 0x00000302 // ÇÙ½¯µå ¼­ºñ½º°¡ ¾ÆÁ÷ ½ÇÇàÁßÀÎ »óÅÂÀÔ´Ï´Ù. #define HS_ERR_ALREADY_EXISTED 0x00000303 // ÀÌ¹Ì Á¸ÀçÇϰí Á¤º¸ÀÔ´Ï´Ù. #define HS_ERR_INVALID_DATA 0x00000304 // ºñÁ¤»óÀûÀÎ µ¥ÀÌÅÍÀÔ´Ï´Ù. #define HS_ERR_NOT_SUPPORTED 0x00000305 // Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. #define HS_ERR_NEED_UPDATE 0x00000401 // ÇÙ½¯µå ¸ðµâÀÇ ¾÷µ¥ÀÌÆ®°¡ ÇÊ¿äÇÕ´Ï´Ù. #define HS_ERR_API_IS_HOOKED 0x00000501 // ÇØ´ç API°¡ ÈÄÅ·µÇ¾î ÀÖ´Â »óÅÂÀÔ´Ï´Ù. #define HS_ERR_GET_SDKVERSION_FAILED 0x00000601 // ¹öÀü°ªÀ» °¡Á®¿À´Âµ¥ ½ÇÆÐ #define HS_ERR_LMP_START 0x00000701 // LMP ±â´ÉÀ» ½ÃÀÛÇÒ ¼ö ¾ø½À´Ï´Ù. #define HS_ERR_HSMS_WAIT_TIME_OUT 0x00000801 #define HS_ERR_HSMS_WAIT_FAILED 0x00000802 #define HS_ERR_HSMS_NOT_RUNNING 0x00000803 // ÇÙ½¯µå ¸ð´ÏÅ͸µ ¼­ºñ½º°¡ ½ÇÇàµÇ°í ÀÖÁö ¾ÊÀº »óÅÂÀÔ´Ï´Ù. // Server-Client ¿¬µ¿ ¹öÀü ERROR CODE #define HS_ERR_ANTICPCNT_MAKEACKMSG_INVALIDPARAM 0x00010000 #define HS_ERR_ANTICPCNT_MAKEACKMSG_MAKESESSIONKEY_FAIL 0x00010001 #define HS_ERR_ANTICPCNT_MAKEACKMSG_INITCRYPT_FAIL 0x00010002 #define HS_ERR_ANTICPCNT_MAKEACKMSG_DECRYPTMESSAGE_FAIL 0x00010003 #define HS_ERR_ANTICPCNT_MAKEACKMSG_GETMEMHASH_FAIL 0x00010004 #define HS_ERR_ANTICPCNT_MAKEACKMSG_GETMODNAME_FAIL 0x00010005 #define HS_ERR_ANTICPCNT_MAKEACKMSG_GETFILEHASH_FAIL 0x00010006 #define HS_ERR_ANTICPCNT_MAKEACKMSG_GETHSHIELDHASH_FAIL 0x00010007 #define HS_ERR_ANTICPCNT_MAKEACKMSG_MAKEHSHIELDFLAG_FAIL 0x00010008 #define HS_ERR_ANTICPCNT_MAKEACKMSG_MAKEACKSEQUENCENUM_FAIL 0x00010009 #define HS_ERR_ANTICPCNT_MAKEACKMSG_ENCRYPTMESSAGE_FAIL 0x0001000A #define HS_ERR_ANTICPCNT_MAKEGUIDACKMSG_INVALIDPARAM 0x00010010 #define HS_ERR_ANTICPCNT_MAKEGUIDACKMSG_MAKESESSIONKEY_FAIL 0x00010011 #define HS_ERR_ANTICPCNT_MAKEGUIDACKMSG_INITCRYPT_FAIL 0x00010012 #define HS_ERR_ANTICPCNT_MAKEGUIDACKMSG_DECRYPTMESSAGE_FAIL 0x00010013 #define HS_ERR_ANTICPCNT_MAKEGUIDACKMSG_GETGUIDFROMFILE_FAIL 0x00010014 #define HS_ERR_ANTICPCNT_MAKEGUIDACKMSG_MAKEACKSEQUENCENUM_FAIL 0x00010015 #define HS_ERR_ANTICPCNT_MAKEGUIDACKMSG_ENCRYPTMESSAGE_FAIL 0x00010016 #define HS_ERR_ANTICPCNT_SAVEFUNCADDRESS_INVALIDPARAM 0x00010020 #define HS_ERR_ANTICPCNT_SAVEFUNCADDRESS_OPENFILEMAPPING_FAIL 0x00010021 #define HS_ERR_ANTICPCNT_SAVEFUNCADDRESS_MAPVIEWOFFILE_FAIL 0x00010022 #define HS_ERR_ANTICPCNT_SAVEFUNCADDRESS_INITCRYPT_FAIL 0x00010023 #define HS_ERR_ANTICPCNT_SAVEFUNCADDRESS_DECRYPTMESSAGE_FAIL 0x00010024 #define HS_ERR_ANTICPCNT_SAVEFUNCADDRESS_INVALIDMMF 0x00010025 #define HS_ERR_ANTICPCNT_SAVEFUNCADDRESS_OPENEVENT_FAIL 0x00010026 #define HS_ERR_ANTICPCNT_SAVEFUNCADDRESS_GETMODFILENAME_FAIL 0x00010027 #define HS_ERR_ANTICPCNT_SAVEFUNCADDRESS_GETINSTRUCTION_FAIL 0x00010028 #define HS_ERR_ANTICPCNT_SAVEFUNCADDRESS_ENCRYPTMESSAGE_FAIL 0x00010029 #define HS_ERR_ANTICPCNT_DEBUGGER_DETECTED 0x00010030 // Server-Client Ex ¿¬µ¿ ¹öÀü ¿¡·¯ ÄÚµå Á¤ÀÇ #define HS_ERR_ANTICPXCNT_BASECODE 0xE4010000 // ÆÄ¶ó¹ÌÅÍ °ªÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù #define HS_ERR_ANTICPXCNT_INVALID_PARAMETER (HS_ERR_ANTICPXCNT_BASECODE + 0x1) // À߸øµÈ ¸Þ¸ð¸® ÁÖ¼Ò¸¦ Á¢±ÙÇÏ¿´½À´Ï´Ù #define HS_ERR_ANTICPXCNT_INVALID_ADDRESS (HS_ERR_ANTICPXCNT_BASECODE + 0x2) // ¸Þ¸ð¸®°¡ ºÎÁ·ÇÕ´Ï´Ù #define HS_ERR_ANTICPXCNT_NOT_ENOUGH_MEMORY (HS_ERR_ANTICPXCNT_BASECODE + 0x3) // CRC TableÀ» ÃʱâÈ­ Çϴµ¥ ½ÇÆÐÇÏ¿´½À´Ï´Ù #define HS_ERR_ANTICPXCNT_CRC_TABLE_INIT_FAILED (HS_ERR_ANTICPXCNT_BASECODE + 0x4) // ¸Þ½ÃÁö ±æÀ̰¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù #define HS_ERR_ANTICPXCNT_BAD_LENGTH (HS_ERR_ANTICPXCNT_BASECODE + 0x5) // ¹öÆÛÀÇ Å©±â°¡ ÀÛ½À´Ï´Ù #define HS_ERR_ANTICPXCNT_INSUFFICIENT_BUFFER (HS_ERR_ANTICPXCNT_BASECODE + 0x6) // ÇöÀç ¹öÀü¿¡¼­ Áö¿øÇÏÁö ¾Ê´Â ±â´ÉÀÌ´Ù #define HS_ERR_ANTICPXCNT_NOT_SUPPORTED (HS_ERR_ANTICPXCNT_BASECODE + 0x7) // ÆÄÀÏÀ» ãÀ» ¼ö ¾ø½À´Ï´Ù #define HS_ERR_ANTICPXCNT_FILE_NOT_FOUND (HS_ERR_ANTICPXCNT_BASECODE + 0x8) // ÀԷ¹ÞÀº ¸Þ½ÃÁöÀÇ Å©±â°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù #define HS_ERR_ANTICPXCNT_INVALID_MESSAGE_SIZE (HS_ERR_ANTICPXCNT_BASECODE + 0x9) // ¿Ã¹Ù¸¥ Æ÷¸äÀÌ ¾Æ´Õ´Ï´Ù #define HS_ERR_ANTICPXCNT_BAD_FORMAT (HS_ERR_ANTICPXCNT_BASECODE + 0xA) // µð¹ö±× »óȲÀ» °¨ÁöÇÏ¿´½À´Ï´Ù #define HS_ERR_ANTICPXCNT_DEBUGGER_DETECTED (HS_ERR_ANTICPXCNT_BASECODE + 0xB) // ÇÙ½¯µå ¸ðµâ °æ·Î°¡ Àß ¸øµÇ¾ú°Å³ª ÇÙ½¯µå ¸ðµâÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù #define HS_ERR_ANTICPXCNT_BAD_HSHIELD_MODULE (HS_ERR_ANTICPXCNT_BASECODE + 0xC) // Ŭ¶óÀÌ¾ðÆ® ¸ðµâÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù #define HS_ERR_ANTICPXCNT_BAD_CLIENT_FILE (HS_ERR_ANTICPXCNT_BASECODE + 0xD) // ¼­¹ö·Î ºÎÅÍ Àü´Þ ¹ÞÀº ¿äû ¸Þ½ÃÁö°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù #define HS_ERR_ANTICPXCNT_BAD_REQUEST (HS_ERR_ANTICPXCNT_BASECODE + 0xE) // ÇÙ½¯µå ÄÚ¾î ¿£ÁøÀÌ Á¤»óÀûÀ¸·Î µ¿ÀÛÇÏÁö ¾Ê½À´Ï´Ù (µð¹ÙÀ̽º µå¶óÀ̹ö) #define HS_ERR_ANTICPXCNT_HSHIELD_CORE_ENGINE_NOT_WORKING (HS_ERR_ANTICPXCNT_BASECODE + 0xF) // ÇØÅ· ½Ãµµ¿¡ ÀÇÇØ ½Ã½ºÅÛÀÌ ¿Àµ¿ÀÛ ÇÒ °æ¿ì ¹ß»ý #define HS_ERR_ANTICPXCNT_UNKNOWN (HS_ERR_ANTICPXCNT_BASECODE + 0xFF) // CallBack Code #define AHNHS_ACTAPC_STATUS_HACKSHIELD_RUNNING 0x010001 // ÇÙ½¯µå »óÅ ȮÀÎ ±â´ÉÀ» »ç¿ëÇÏ´Â °æ¿ì¿¡ È£Ã⠵Ǵ ÄݹéÀÔ´Ï´Ù. // ÇÙ½¯µå°¡ Á¤»óÀûÀ¸·Î µ¿ÀÛ Çϰí ÀÖ´Â µ¿¾È ÀÌ ÄݹéÀÌ È£Ã⠵˴ϴÙ. // ¿À·ù ÄÚµå °¡ ¾Æ´Ï¹Ç·Î °ÔÀÓ¿¡¼­ ³»ºÎÀûÀ¸·Î È®ÀÎ ÇÕ´Ï´Ù. #define AHNHS_ACTAPC_DETECT_ALREADYHOOKED 0x010101 // ÀϺΠAPI°¡ ÀÌ¹Ì ÈÄÅ·µÇ¾î ÀÖ´Â »óÅÂÀÔ´Ï´Ù. (±×·¯³ª ½ÇÁ¦·Î´Â À̸¦ Â÷´ÜÇϰí Àֱ⠶§¹®¿¡ ÈÄÅ·ÇÁ·Î±×·¥Àº µ¿ÀÛÇÏÁö ¾Ê½À´Ï´Ù.) #define AHNHS_ACTAPC_DETECT_AUTOMOUSE 0x010102 // ¿ÀÅ丶¿ì½º ÇàÀ§°¡ °¨ÁöµÇ¾ú½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_AUTOMACRO 0x010104 // ¿ÀÅä¸ÞÅ©·Î ÇàÀ§°¡ °¨ÁöµÇ¾ú½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_HOOKFUNCTION 0x010301 // º¸È£ API¿¡ ´ëÇÑ ÈÄÅ· ÇàÀ§°¡ °¨ÁöµÇ¾ú½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_DRIVERFAILED 0x010302 // ÇØÅ· Â÷´Ü µå¶óÀ̹ö°¡ ·ÎµåµÇÁö ¾Ê¾Ò½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_SPEEDHACK 0x010303 // ½ºÇǵåÇÙ·ùÀÇ ÇÁ·Î±×·¥¿¡ ÀÇÇØ ½Ã½ºÅÛ ½Ã°£ÀÌ º¯°æµÇ¾ú½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_MESSAGEHOOK 0x010306 // ¸Þ½ÃÁö ÈÄÅ·ÀÌ ½ÃµµµÇ¾úÀ¸¸ç À̸¦ Â÷´ÜÇÏÁö ¸øÇß½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_KDTRACE 0x010307 // µð¹ö°Å Æ®·¡À̽ÌÀÌ ¹ß»ýÇß´Ù.(Ä¿³Î µð¹ö°Å Ȱ¼ºÈ­, ÀÌÈÄ ºê·¹ÀÌÅ© Æ÷ÀÎÅÍ Ã³¸®) #define AHNHS_ACTAPC_DETECT_KDTRACE_CHANGED 0x010308 // ¼³Ä¡µÈ µð¹ö°Å Æ®·¡À̽ÌÀÌ º¯°æµÇ¾ú´Ù. #define AHNHS_ACTAPC_DETECT_SPEEDHACK_RATIO 0x01030B // ½ºÇǵåÇÙ °¨Áö ¿É¼ÇÀÌ 'GAME'ÀÌ °æ¿ì ÀÌ ÄݹéÀ¸·Î ÃÖ±Ù 5Ãʵ¿¾ÈÀÇ ½Ã°£Á¤º¸°¡ Àü´ÞµË´Ï´Ù. #define AHNHS_ENGINE_DETECT_GAME_HACK 0x010501 // °ÔÀÓ ÇØÅ·ÅøÀÇ ½ÇÇàÀÌ ¹ß°ßµÇ¾ú½À´Ï´Ù. #define AHNHS_ENGINE_DETECT_WINDOWED_HACK 0x010503 // â¸ðµå ÇØÅ·Åø #define AHNHS_ACTAPC_DETECT_MULTI_LOADING 0x010504 // Ŭ¶óÀÌ¾ðÆ® ¸ÖƼ ·Îµù °¨Áö. #define AHNHS_ACTAPC_DETECT_ABNORMAL_MEMORY_ACCESS 0x010601 // ÄÚµå ÆÐÄ¡ ½Ãµµ°¡ °¨ÁöµÇ¾ú½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_MODULE_CHANGE 0x010701 // ÇÙ½¯µå °ü·Ã¸ðµâÀÌ º¯°æµÇ¾ú½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_ENGINEFAILED 0x010702 // ¿£Áø±â´ÉÀÌ Á¤»óÀûÀÌÁö ¾Ê½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_CODEMISMATCH 0x010703 // Äڵ尡 ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_PROTECTSCREENFAILED 0x010704 // È­¸é º¸È£±â´ÉÀÌ Á¤»óÀûÀÌÁö ¾Ê½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_MEM_MODIFY_FROM_LMP 0x010705 // º¸È£ ¸ðµâ¿¡ ´ëÇØ¼­ ¸Þ¸ð¸® º¯Á¶°¡ °¨ÁöµÇ¾ú½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_LMP_FAILED 0x010706 // ÇÙ½¯µå ·ÎÄà ¸Þ¸ð¸® º¸È£ ±â´ÉÀÌ Á¤»óÀûÀÌÁö ¾Ê½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_RMEM_MODIFY_FROM_LMP 0x010709 // º¸È£ ¸ðµâ¿¡ ´ëÇØ¼­ ÀбâÀü¿ë ¸Þ¸ð¸® º¯Á¶°¡ °¨ÁöµÇ¾ú½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_ABNORMAL_FUNCTION_CALL 0x010801 // Game EXE³»ÀÇ Äڵ带 ¿ÜºÎ ¸ðµâ¿¡¼­ ÀÓÀǷΠȣÃâÇÏ¿´½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_ANTIFREESERVER 0x010901 // GameÀÌ ¿Ã¹Ù¸¥ ¼­¹ö·Î Á¢¼ÓÀ» ÇÏÁö ¾Ê¾Ò½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_ABNORMAL_HACKSHIELD_STATUS 0x010A01 // HackShield º¸¾È ±â´ÉÀÌ Á¤»óÀûÀ¸·Î µ¿ÀÛÇÏÁö ¾Ê½À´Ï´Ù. #pragma pack(push) #pragma pack(8) #ifndef __ANTICPX_TRANS_BUFFER__ #define __ANTICPX_TRANS_BUFFER__ #define ANTICPX_TRANS_BUFFER_MAX 400 #define DEFAULT_HSMS_TIME_OUT (5 * 1000) // 5ÃÊ typedef struct _AHNHS_TRANS_BUFFER { unsigned char byBuffer[ANTICPX_TRANS_BUFFER_MAX/* ¼Û¼ö½Å ÆÐŶÀÇ ÃÖ´ë Å©±â */]; unsigned short nLength; } AHNHS_TRANS_BUFFER, *PAHNHS_TRANS_BUFFER; #endif // __ANTICPX_TRANS_BUFFER__ #ifndef __AHNHS_EXT_ERRORINFO__ #define __AHNHS_EXT_ERRORINFO__ typedef struct AHNHS_EXT_ERRORINFOA { CHAR szServer[MAX_PATH]; CHAR szUserId[MAX_PATH]; CHAR szGameVersion[MAX_PATH]; } AHNHS_EXT_ERRORINFOA, *PAHNHS_EXT_ERRORINFOA; typedef struct AHNHS_EXT_ERRORINFOW { WCHAR szServer[MAX_PATH]; WCHAR szUserId[MAX_PATH]; WCHAR szGameVersion[MAX_PATH]; } AHNHS_EXT_ERRORINFOW, *PAHNHS_EXT_ERRORINFOW; #if defined(UNICODE) | defined(_UNICODE) #define AHNHS_EXT_ERRORINFO AHNHS_EXT_ERRORINFOW #else #define AHNHS_EXT_ERRORINFO AHNHS_EXT_ERRORINFOA #endif // !UNICODE #endif __AHNHS_EXT_ERRORINFO__ #pragma pack(pop) // ±âÁ¸ alignment º¹±¸. // CallBack½Ã Àü´ÞµÇ´Â µ¥ÀÌÅÍ #pragma pack(push) #pragma pack(1) typedef struct tagACTAPCPARAM_DETECT_HOOKFUNCTION { char szFunctionName[128]; // file path char szModuleName[128]; } ACTAPCPARAM_DETECT_HOOKFUNCTION, *PACTAPCPARAM_DETECT_HOOKFUNCTION; // ¿ÀÅ丶¿ì½º °ü·Ã APC Structure typedef struct tagACTAPCPARAM_DETECT_AUTOMOUSE { BYTE byDetectType; // AutoMouse °ü·Ã API È£Ãâ 1, AutoMouse °ü·Ã API º¯Á¶ 2 DWORD dwPID; // AutoMouse ÇÁ·Î¼¼½º ¶Ç´Â API °¡ º¯Á¶µÈ ÇÁ·Î¼¼½º CHAR szProcessName[16+1]; // ÇÁ·Î¼¼½º¸í CHAR szAPIName[128]; // È£ÃâµÈ API ¸í ¶Ç´Â º¯Á¶µÈ API ¸í } ACTAPCPARAM_DETECT_AUTOMOUSE, *PACTAPCPARAM_DETECT_AUTOMOUSE; #define EAGLE_AUTOMOUSE_APCTYPE_API_CALLED 1 #define EAGLE_AUTOMOUSE_APCTYPE_API_ALTERATION 2 #define EAGLE_AUTOMOUSE_APCTYPE_SHAREDMEMORY_ALTERATION 3 // ¿ÀÅä¸ÅÅ©·Î °ü·Ã APC Structure typedef struct { BYTE byDetectType; // AutoKeyboard 1, AutoMouse °ü·Ã API º¯Á¶ 2 CHAR szModuleName[128]; } ACTAPCPARAM_DETECT_AUTOMACRO, *PACTAPCPARAM_DETECT_AUTOMACRO; #define EAGLE_AUTOMACRO_APCTYPE_KEYBOARD 1 #define EAGLE_AUTOMACRO_APCTYPE_MOUSE 2 // AHNHS_ENGINE_DETECT_GAME_HACK Callback Structure typedef struct tagAHNHS_ENGINE_DETECT_GAME_HACK_CALLBACK { CHAR szMessageA[128+1]; // Detect game hack name DWORD cbMessageLen; // name length DWORD dwHackNo; } AHNHS_ENGINE_DETECT_GAME_HACK_CALLBACK, *PAHNHS_ENGINE_DETECT_GAME_HACK_CALLBACK; // AFC ¿äû Á¤º¸ ŸÀÔ ¹× ±¸Á¶Ã¼ #define EAGLE_AFCEX_QUERYTYPE_THREADCOUNT 0x1 #define EAGLE_AFCEX_QUERYTYPE_FUNCTIONCOUNT 0x2 typedef struct { DWORD dwType; DWORD dwIndex; int nCount; } AHNHS_AFCEX_QUERY_INFO, *PAHNHS_AFCEX_QUERY_INFO; #pragma pack(pop) // Server-Client ¿¬µ¿ ¹öÀü¿¡ »ç¿ëµÇ´Â ¹öÆÛÀÇ Å©±â #define SIZEOF_REQMSG ANTICPX_TRANS_BUFFER_MAX #define SIZEOF_ACKMSG ANTICPX_TRANS_BUFFER_MAX #define SIZEOF_GUIDREQMSG ANTICPX_TRANS_BUFFER_MAX #define SIZEOF_GUIDACKMSG ANTICPX_TRANS_BUFFER_MAX // HackShield µ¿ÀÛ »óÅ °ª enum HS_RUNNING_STATUS { HS_RUNNING_STATUS_CHECK_MONITORING_THREAD = 1, }; // Callback Function Prototype typedef int (__stdcall* PFN_AhnHS_Callback)( long lCode, long lParamSize, void* pParam ); // Export API #if defined(__cplusplus) extern "C" { #endif #if defined(_NO_HACKSHIELD) #define AHNHS_NOT_NULL (1) // Æ÷ÀÎÅͰªÀ» ¸®ÅÏÇÏ´Â °æ¿ì, NOT NULL·Î ó¸® // ±âº» ±â´É #define _AhnHS_Initialize(arg1,arg2,arg3,arg4,arg5,arg6) HS_ERR_OK #define _AhnHS_StartService() HS_ERR_OK #define _AhnHS_StopService() HS_ERR_OK #define _AhnHS_Uninitialize() HS_ERR_OK #define _AhnHS_PauseService(arg1) HS_ERR_OK #define _AhnHS_ResumeService() HS_ERR_OK #define _AhnHS_CheckHackShieldRunningStatus() HS_ERR_OK #define _AhnHS_SendHsLog(arg1,arg2,arg3) ; #define _AhnHS_VerifyProtectedFunction() HS_ERR_OK #define AHNHS_PROTECT_FUNCTION __try{\ HS_ERR_OK; \ }__finally{} #define AHNHS_PROTECT_FUNCTIONEX(arg1) __try{\ arg1=HS_ERR_OK \ }__finally{} #define _AhnHS_QueryPerformanceCounter(arg1,arg2) TRUE #define _AhnHS_QueryPerformanceFrequency(arg1,arg2) TRUE #define _AhnHS_GetTickCount(arg1) HS_ERR_OK // ¸ð´ÏÅ͸µ ¼­ºñ½º ±â´É #define _AhnHS_StartMonitor(arg1,arg2) HS_ERR_OK #define _AhnHS_SetUserId(arg1) ; #define _AhnHS_UpdateMonitorInfo(arg1) ; #define _AhnHS_SetUserCustomInfo(arg1) HS_ERR_OK #define _AhnHS_SendUserCustomInfo(arg1) HS_ERR_OK // LMP ±â´É #define _AhnHS_IsModuleSecure(arg1) TRUE // È®Àå¼­¹ö¿¬µ¿ #define _AhnHS_MakeResponse(arg1,arg2,arg3) HS_ERR_OK // the others #define _AhnHS_CheckAPIHooked(arg1,arg2,arg3) HS_ERR_OK #define _AhnHS_CheckFileCRC(arg1) HS_ERR_OK #define _AhnHS_PreTranslateBufferedDIMessage(arg1) HS_ERR_OK #define _AhnHS_PreTranslateBufferedDICounter(arg1) HS_ERR_OK #define _AhnHS_PreTranslateImmediateDIMessage(arg1,arg2) HS_ERR_OK #define _AhnHS_Direct3DCreate9(arg1) AHNHS_NOT_NULL #define _AhnHS_Direct3DCreate8(arg1) AHNHS_NOT_NULL #define _AhnHS_sendto(arg1,arg2,arg3,arg4,arg5,arg6) HS_ERR_OK #define _AhnHS_GetSDKVersion(arg1) HS_ERR_OK // AFC v2 Ex. #define _AhnHS_ThreadStart() HS_ERR_OK #define _AhnHS_ThreadStop() HS_ERR_OK #define _AhnHS_ThreadStartEx() HS_ERR_OK #define _AhnHS_ThreadStopEx() HS_ERR_OK #define _AhnHS_CheckProtectedStatus(arg1); HS_ERR_OK #define _AhnHS_SetProtectedFunction(arg1); HS_ERR_OK #else //!_NO_HACKSHIELD /*! * * @remarks ÇÙ½¯µå ÃʱâÈ­ ÇÔ¼ö * * @param szFileName : [IN] Ehsvc.dllÀÇ Full Path * @param pfn_Callback : [OUT] Callback Function Pointer * @param nGameCode : [IN] Game Code * @param szLicenseKey : [IN] License Code * @param unOption : [IN] Initialize Options * @param unAdditionalRatio : [IN] SpeedHack Sensing Ratio + Self-Destruction Time Ratio * */ int __stdcall _AhnHS_InitializeA ( const char* szFileNameA, PFN_AhnHS_Callback pfn_Callback, int nGameCode, const char* szLicenseKeyA, unsigned int unOption, unsigned int unAdditionalRatio ); int __stdcall _AhnHS_InitializeW ( const wchar_t* szFileNameW, PFN_AhnHS_Callback pfn_Callback, int nGameCode, const wchar_t* szLicenseKeyW, unsigned int unOption, unsigned int unAdditionalRatio ); #if defined(UNICODE) | defined(_UNICODE) #define _AhnHS_Initialize _AhnHS_InitializeW #else #define _AhnHS_Initialize _AhnHS_InitializeA #endif // !UNICODE /*! * * @remarks ÇÙ½¯µå ½ÃÀÛ ÇÔ¼ö * */ int __stdcall _AhnHS_StartService (); /*! * * @remarks ÇÙ½¯µå Á¾·á ÇÔ¼ö * */ int __stdcall _AhnHS_StopService (); /*! * * @remarks ÇÙ½¯µå ±â´É ÁßÁö ÇÔ¼ö·Î ÇöÀç´Â Űº¸µå °ü·Ã ¸Þ½ÃÁö ÈŰü·Ã ±â´É¸¸ ÁßÁö ½ÃŲ´Ù. * * @param unPauseOption : [IN] ÁßÁö ÇÏ·Á´Â ±â´ÉÀÇ ¿É¼Ç ( ÇöÀç´Â AHNHS_CHKOPT_MESSAGEHOOK¸¸ °¡´É) * */ int __stdcall _AhnHS_PauseService ( unsigned int unPauseOption ); /*! * * @remarks ÇÙ½¯µå ±â´É Àç°³ ÇÔ¼ö·Î ÇöÀç´Â Űº¸µå °ü·Ã ¸Þ½ÃÁö ÈŰü·Ã ±â´É¸¸ Àç°³ ½ÃŲ´Ù. * * @param unResumeOption : [IN] Àç°³ ÇÏ·Á´Â ±â´ÉÀÇ ¿É¼Ç ( ÇöÀç´Â AHNHS_CHKOPT_MESSAGEHOOK¸¸ °¡´É) * */ int __stdcall _AhnHS_ResumeService ( unsigned int unResumeOption ); /*! * * @remarks ÇÙ½¯µå ¿ÏÀü Á¾·á ÇÔ¼ö * */ int __stdcall _AhnHS_Uninitialize (); int __stdcall _AhnHS_CheckAPIHookedA ( const char* szModuleNameA, const char* szFunctionNameA, const char* szSpecificPathA ); int __stdcall _AhnHS_CheckAPIHookedW ( const wchar_t* szModuleNameW, const wchar_t* szFunctionNameW, const wchar_t* szSpecificPathW ); #if defined(UNICODE) | defined(_UNICODE) #define _AhnHS_CheckAPIHooked _AhnHS_CheckAPIHookedW #else #define _AhnHS_CheckAPIHooked _AhnHS_CheckAPIHookedA #endif // !UNICODE /*! * * @remarks ¼­¹ö·ÎºÎÅÍ ¿äû¹ÞÀ» °æ¿ì ÇØ´ç ¸Þ½ÃÁö¿¡ ´ëÇÑ ÀÀ´ä¸Þ½ÃÁö¸¦ ¸¸µç´Ù. * * @param pbyRequest : [IN] ¿äû ¸Þ½ÃÁö ¹öÆÛ * @param ulRequestLength : [IN] ¿äû ¸Þ½ÃÁö ±æÀÌ * @param pResponseBuffer : [OUT] ÀÀ´ä ¸Þ½ÃÁö ¹öÆÛ * */ int __stdcall _AhnHS_MakeResponse ( unsigned char *pbyRequest, unsigned long ulRequestLength, PAHNHS_TRANS_BUFFER pResponseBuffer ); /*! * * @remarks DirectInputÀÇ Buffered ¹æ½Ä¿¡¼­ÀÇ Scan ÄÚµå ó¸®. * * @param pbyRequest : [IN] ¿äû ¸Þ½ÃÁö ¹öÆÛ * */ int __stdcall _AhnHS_PreTranslateBufferedDIMessage ( IN USHORT usMakeCode ); /*! * * @remarks DirectInputÀÇ Buffered ¹æ½Ä¿¡¼­ÀÇ Scan ÄÚµå ó¸®. * * @param dwCnt : [IN] ÀÔ·ÂÀ¸·Î ó¸®ÇÏ´Â °³¼ö ( key down, upÀ» µû·Î ó¸®ÇÏ´Â °æ¿ì´Â 1 »ç¿ë) * */ int __stdcall _AhnHS_PreTranslateBufferedDICounter(DWORD dwCnt = 2); /*! * * @remarks DirectInputÀÇ Immediate ¹æ½Ä¿¡¼­ÀÇ Scan ÄÚµå ó¸®. * * @param pbyRequest : [IN] ¿äû ¸Þ½ÃÁö ¹öÆÛ * @param ulRequestLength : [IN] ¿äû ¸Þ½ÃÁö ±æÀÌ * @param pResponseBuffer : [OUT] ÀÀ´ä ¸Þ½ÃÁö ¹öÆÛ * */ int __stdcall _AhnHS_PreTranslateImmediateDIMessage ( IN PBYTE pBitmap, IN UINT unBitmapSize ); /*! * * @remarks ¾ÈÀüÇÑ Direct3DCreate9 API¸¦ À§ÇÑ Wrapper Function * * @param SDKVersion : [IN] Direct3DCreate9 APIÀÇ ÀÎÀÚ·Î µé¾î°¡´Â SDK Version * */ PVOID __stdcall _AhnHS_Direct3DCreate9 ( IN UINT SDKVersion ); /*! * * @remarks ¾ÈÀüÇÑ Direct3DCreate8 API¸¦ À§ÇÑ Wrapper Function * * @param SDKVersion : [IN] Direct3DCreate8 APIÀÇ ÀÎÀÚ·Î µé¾î°¡´Â SDK Version * */ PVOID __stdcall _AhnHS_Direct3DCreate8 ( IN UINT SDKVersion ); /*! * * @remarks ¾ÈÀüÇÑ sendto API¸¦ À§ÇÑ Wrapper Function (sendto API¿Í µ¿ÀÏÇÏ°Ô »ç¿ë) * * @param s : [IN] ¼ÒÄÏ * @param buf : [IN] Àü¼ÛµÉ ¹öÆÛ * @param len : [IN] ¹öÆÛÀÇ ±æÀÌ * @param flags : [IN] ÇÔ¼ö ¿ªÈ°À» ³ªÅ¸³»´Â Ç÷¹±× * @param to : [IN] ¹öÆÛ(µ¥ÀÌÅÍ)°¡ Àü¼ÛµÉ ¿ø°Ý È£½ºÆ®ÀÇ ¾îµå·¹½º * @param tolen : to º¯¼öÀÇ Å©±â * */ int __stdcall _AhnHS_sendto ( IN int s, IN char* buf, IN int len, IN int flags, IN const struct sockaddr* to, IN int tolen ); int __stdcall _AhnHS_GetSDKVersion ( OUT DWORD *dwVersion ); /*! * * @remarks ÇÙ½¯µå ¸ð´ÏÅ͸µ ¼­ºñ½º¸¦ ½ÃÀÛÇÕ´Ï´Ù. * * @param IN AHNHS_EXT_ERRORINFO HsExtErrorInfo : ¸ð´ÏÅ͸µ °ü·Ã ÀÔ·Â Á¤º¸µé - ¼­¹ö URLÁÖ¼Ò. ( "123.456.789.123" or "www.monitor.com" ) - User ID ( "User1" ) - Game Version ( "5.0.2.1" ) IN LPCSTR szFileName : ehsvc.dll Àüü °æ·Î. */ int __stdcall _AhnHS_StartMonitorA ( IN AHNHS_EXT_ERRORINFOA HsExtErrorInfoA, IN const char* szFileNameA ); int __stdcall _AhnHS_StartMonitorW ( IN AHNHS_EXT_ERRORINFOW HsExtErrorInfoW, IN const wchar_t* szFileNameW ); #if defined(UNICODE) | defined(_UNICODE) #define _AhnHS_StartMonitor _AhnHS_StartMonitorW #else #define _AhnHS_StartMonitor _AhnHS_StartMonitorA #endif // !UNOCODE /*! * * @remarks ÇÙ½¯µå ¸ð´ÏÅ͸µ ¼­ºñ½º¸¦ À§ÇÑ ¾ÆÀ̵ð Á¤º¸ ÀÔ·Â * * @param IN LPCSTR szUserID : ¾ÆÀ̵ð * * @remarks _AhnHS_StartMonitor¿¡¼­µµ ÀÌÀ̵ð Á¤º¸¸¦ ¹ÞÀ¸³ª ÇÙ½¯µå ÃʱâÈ­ ½ÃÁ¡¿¡ À¯Àú Á¤º¸¸¦ ¾ËÁö ¸øÇÏ´Â °æ¿ì°¡ ÀÖ´Ù. µû¶ó¼­ ¾ÆÀ̵𸦠¾Æ´Â ½ÃÁ¡¿¡ ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÏ¿© À¯ÀúÁ¤º¸¸¦ ¾ò´Â´Ù. ¾ÆÀ̵𸦠¾ò±â Àü±îÁö´Â ¾ÆÀ̵ð Á¤º¸°¡ ¾øÀÌ ¿¡·¯°ªÀÌ Àü¼ÛµÈ´Ù. */ void __stdcall _AhnHS_SetUserIdA ( IN const char* szUserIDA ); void __stdcall _AhnHS_SetUserIdW ( IN const wchar_t* szUserIDW ); #if defined(UNICODE) | defined(_UNICODE) #define _AhnHS_SetUserId _AhnHS_SetUserIdW #else #define _AhnHS_SetUserId _AhnHS_SetUserIdA #endif // !UNICODE /*! * * @remarks ÇÙ½¯µå ¸ð´ÏÅ͸µ ¼­ºñ½º°¡ ½ÃÀÛµÈ ÀÌÈÄ¿¡ °ÔÀÓ¿¡¼­ º¯°æÇϰíÀÚ ÇÏ´Â ¸ð´ÏÅ͸µ Á¤º¸¸¦ ¾÷µ¥ÀÌÆ®ÇÑ´Ù. * * @param IN AHNHS_EXT_ERRORINFO HsExtErrorInfo : ¸ð´ÏÅ͸µ °ü·Ã ÀÔ·Â Á¤º¸µé - Server URL ( NULL ) - User ID ( "User1" ) - Game Version ( "5.0.2.1" ) */ void __stdcall _AhnHS_UpdateMonitorInfoA ( IN AHNHS_EXT_ERRORINFOA HsExtMonInfoA ); void __stdcall _AhnHS_UpdateMonitorInfoW ( IN AHNHS_EXT_ERRORINFOW HsExtMonInfoW ); #if defined(UNICODE) | defined(_UNICODE) #define _AhnHS_UpdateMonitorInfo _AhnHS_UpdateMonitorInfoW #else #define _AhnHS_UpdateMonitorInfo _AhnHS_UpdateMonitorInfoA #endif // !UNICODE /*! * * @remarks ÇÙ½¯µå°¡ ¸ð´ÏÅ͸µ ¼­¹ö·Î Á¤º¸ Àü¼Û½Ã °í°´ ÀÓÀÇÀÇ Ãß°¡Á¤º¸ ±âÀÔ * * @param IN LPCSTR szUserCostomInfo : UserCostomInfo Á¤º¸ * */ int __stdcall _AhnHS_SetUserCustomInfoA ( IN const char* szUserCostomInfoA ); int __stdcall _AhnHS_SetUserCustomInfoW ( IN const wchar_t* szUserCustomInfoW ); #if defined(UNICODE) | defined(_UNICODE) #define _AhnHS_SetUserCustomInfo _AhnHS_SetUserCustomInfoW #else #define _AhnHS_SetUserCustomInfo _AhnHS_SetUserCustomInfoA #endif // !UNICODE /*! * * @remarks ¸ð´ÏÅ͸µ ¼­¹ö·Î À¯Àú°¡ Á¤ÀÇÇÑ ¿¡·¯Á¤º¸¸¦ Àü¼Û. * * @param IN DWORD dwTimeout : wait time out value * */ int __stdcall _AhnHS_SendUserCustomInfoA ( IN const char* szUserCustomInfoA, IN DWORD dwTimeout = DEFAULT_HSMS_TIME_OUT ); int __stdcall _AhnHS_SendUserCustomInfoW ( IN const wchar_t* szUserCustomInfoW, IN DWORD dwTimeout = DEFAULT_HSMS_TIME_OUT ); #if defined(UNICODE) | defined(_UNICODE) #define _AhnHS_SendUserCustomInfo _AhnHS_SendUserCustomInfoW #else #define _AhnHS_SendUserCustomInfo _AhnHS_SendUserCustomInfoA #endif // !UNICODE /*! * * @remarks ÀÔ·ÂµÈ °æ·Î¿¡ ÇØ´çÇÏ´Â ¸ðµâ³»¿¡ ÇÙ½¯µå Á¤º¸°¡ Á¤»óÀûÀ¸·Î Æ÷ÇԵǾî ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. * * @param const char* szModulePath : ¸ðµâ °æ·Î(Àüü °æ·Î) * * @remarks ÇØ´ç °æ·ÎÀÇ ¸ðµâ¾È¿¡ CSInspector¿¡¼­ ÆÐÅ· ÀÌÀü¿¡ »ý¼ºÇÑ Á¤º¸°¡ Á¸ÀçÇÏ´ÂÁö È®ÀÎÇÔ * @return TRUE : Á¤»ó Á¸Àç FALSE : Á¸ÀçÇÏÁö ¾ÊÀ½ */ BOOL __stdcall _AhnHS_IsModuleSecureA ( IN const char* szModulePathA ); BOOL __stdcall _AhnHS_IsModuleSecureW ( IN const wchar_t* szModulePathW ); #if defined(UNICODE) | defined(_UNICODE) #define _AhnHS_IsModuleSecure _AhnHS_IsModuleSecureW #else #define _AhnHS_IsModuleSecure _AhnHS_IsModuleSecureA #endif // !UNICODE /*! * * @remarks * * */ int __stdcall _AhnHS_CheckFileCRCA (); int __stdcall _AhnHS_CheckFileCRCW (); #if defined(UNICODE) | defined(_UNICODE) #define _AhnHS_CheckFileCRC _AhnHS_CheckFileCRCW #else #define _AhnHS_CheckFileCRC _AhnHS_CheckFileCRCA #endif // !UNICODE /*! * * ÇÙ½¯µå¿Í °ü·ÃµÈ ¿©·¯°¡Áö ¹®Á¦¸¦ °ÔÀӻ縦 ÅëÇÏÁö ¾Ê°í ºü¸£°Ô ó¸®Çϱâ À§ÇØ °³¹ßµÈ ±â´ÉÀ¸·Î¼­ * ÇØÅ·ÀÌ ¹ß»ýÇÑ ÈÄ ÇÙ½¯µåÀÇ ·Î±×¸¦ °ÔÀÓ À¯Àú°¡ ¼±ÅÃÇÏ¿© ¾È·¦¿¡ º¸³¾ ¼ö Àִ±â´ÉÀÌ´Ù. * * @param dwError : ÇÙ½¯µå ¿¡·¯ÄÚµå. ex) AHNHS_ENGINE_DETECT_GAME_HACK(0x10501) * @param szUserID : °ÔÀÓ À¯Àú ¾ÆÀ̵ð. ex) "User1" * * @remarks * ÇÙ½¯µå ¿¡·¯ÄÚµå´Â _AhnHS_InitializeÇÔ¼öÀÇ 2¹øÂ° ÀÎÀÚ°ª¿¡ ÀԷµǴ ÇÙ½¯µå ÄݹéÇÔ¼öÀÇ * ù¹øÂ° ÀÎÀÚÀÎ lCode °ªÀÌ´Ù. */ void __stdcall _AhnHS_SendHsLogA ( IN DWORD dwError, IN const char* szUserID, IN const char* szHShieldPath ); void __stdcall _AhnHS_SendHsLogW ( IN DWORD dwError, IN const wchar_t* szUserIDW, IN const wchar_t* szHShieldPathW ); #if defined(UNICODE) | defined(_UNICODE) #define _AhnHS_SendHsLog _AhnHS_SendHsLogW #else #define _AhnHS_SendHsLog _AhnHS_SendHsLogA #endif // !UNICODE int __stdcall _AhnHS_CheckHackShieldRunningStatus(); int __stdcall _AhnHS_VerifyProtectedFunction(); #define AHNHS_PROTECT_FUNCTION \ __try{ \ _AhnHS_VerifyProtectedFunction(); \ }__finally{} \ #define AHNHS_PROTECT_FUNCTIONEX(nRet) \ __try{ \ nRet = _AhnHS_VerifyProtectedFunction(); \ }__finally{} \ BOOL __stdcall _AhnHS_QueryPerformanceCounter( LARGE_INTEGER *lpPerformanceCount, int *pErr); BOOL __stdcall _AhnHS_QueryPerformanceFrequency ( LARGE_INTEGER *lpFrequency, int *pErr); unsigned long __stdcall _AhnHS_GetTickCount (int *pErr); // AFC v2 ext. int __stdcall _AhnHS_ThreadStart(); int __stdcall _AhnHS_ThreadStop(); int __stdcall _AhnHS_ThreadStartEx(); int __stdcall _AhnHS_ThreadStopEx(); int __stdcall _AhnHS_CheckProtectedStatus( IN OUT PVOID pData ); int __stdcall _AhnHS_SetProtectedFunction( IN DWORD dwIndex ); #endif //_NO_HACKSHIELD #if defined(__cplusplus) } #endif #endif _HSHIELD_H_INC