diff options
Diffstat (limited to 'libghack/include')
-rwxr-xr-x | libghack/include/ghack.h | 18 | ||||
-rwxr-xr-x | libghack/include/log.h | 31 | ||||
-rwxr-xr-x | libghack/include/mem.h | 31 | ||||
-rwxr-xr-x | libghack/include/radar.h | 95 |
4 files changed, 175 insertions, 0 deletions
diff --git a/libghack/include/ghack.h b/libghack/include/ghack.h new file mode 100755 index 0000000..34761b5 --- /dev/null +++ b/libghack/include/ghack.h @@ -0,0 +1,18 @@ +#ifndef GHACK_H_INCLUDED +#define GHACK_H_INCLUDED + +#ifndef GHACK_VERSION +#define GHACK_VERSION "0.4a" +#endif + +#ifdef BUILD_DLL +#define DLL_EXPORT __declspec(dllexport) +#else +#define DLL_EXPORT __declspec(dllimport) +#endif + +#include <log.h> +#include <mem.h> +#include <radar.h> + +#endif // GHACK_H_INCLUDED diff --git a/libghack/include/log.h b/libghack/include/log.h new file mode 100755 index 0000000..e7d0e29 --- /dev/null +++ b/libghack/include/log.h @@ -0,0 +1,31 @@ +#ifndef LOG_H_INCLUDED +#define LOG_H_INCLUDED + +#include <stdio.h> +#include <windows.h> +#ifdef UNICODE +#include <wchar.h> +#endif + +extern FILE *log_file; + + +#ifdef UNICODE +#define dbg(msg, ...) logw_to(TEXT(__FILE__), __LINE__, TEXT(msg), __VA_ARGS__) +#else +#define dbg(msg, ...) log_to(__FILE__, __LINE__, msg, __VA_ARGS__) +#endif + +extern BOOL log_init(char *p_fname); + +extern void log_to(const char *file, SIZE_T line, const char *msg, ...); + +#ifdef UNICODE +extern void logw_to(const char *file, SIZE_T line, char *msg, ...); +#endif + +extern void log_flush(void); + +extern void log_close(void); + +#endif // LOG_H_INCLUDED diff --git a/libghack/include/mem.h b/libghack/include/mem.h new file mode 100755 index 0000000..bcae9e0 --- /dev/null +++ b/libghack/include/mem.h @@ -0,0 +1,31 @@ +#ifndef MEM_H_INCLUDED +#define MEM_H_INCLUDED + +#include <stdio.h> +#include <wchar.h> +#include <windows.h> +#include <tchar.h> +#include <psapi.h> +#include <string.h> +#include <inttypes.h> +#include <math.h> + + +#define readByte (adr, b_data) readMem(hndl_proc, adr, (LPVOID) &b_data, sizeof(BYTE)) +#define readInt32(adr, d_data) readMem(hndl_proc, adr, (LPVOID) &d_data, sizeof(INT32)) +#define readInt64(adr, q_data) readMem(hndl_proc, adr, (LPVOID) &q_data, sizeof(INT64)) +#define readFloat(adr, f_data) readMem(hndl_proc, adr, (LPVOID) &f_data, sizeof(FLOAT)) +#define readMemH(adr, data, siz) readMem(hndl_proc, adr, data, siz) +#define readPtrH(adr, offset) readPtr(hndl_proc, adr, offset) + +extern LPCVOID calcOffset(LPCVOID adr, SIZE_T offset); + +extern SIZE_T readMem(HANDLE hProcess, LPCVOID adr, LPVOID data, SIZE_T siz); + +extern LPCVOID readPtr(HANDLE hProcess, LPCVOID adr, SIZE_T offset); + +extern SIZE_T findPattern(BYTE *b, const BYTE *p, const char *mask, SIZE_T b_siz, SIZE_T pm_siz); + +extern LPCVOID getBaseAdr(BYTE *buf, SIZE_T siz, const BYTE *pat, const char *mask, const SIZE_T pm_siz, const SIZE_T off_pos); + +#endif // MEM_H_INCLUDED diff --git a/libghack/include/radar.h b/libghack/include/radar.h new file mode 100755 index 0000000..7a7728f --- /dev/null +++ b/libghack/include/radar.h @@ -0,0 +1,95 @@ +#ifndef __MAIN_H__ +#define __MAIN_H__ + +#include <windows.h> + +#define HRADAR_FPS 30 +#define HRADAR_FONTSIZ 16 + +enum radarColor { + RC_RED, + RC_BLUE, + RC_GREEN, + RC_YELLOW, + RC_CYAN, + RC_MAGENTA, + RC_WHITE, + RC_DONTDRAW +}; + +struct radarEntity +{ + UINT64 id; + BOOL valid; + BOOL isPlayer; + + struct radarEntity *prev; + struct radarEntity *next; + void *__internal; +}; + +#define INFO_LEN 12 + +struct radarInfo +{ + char *prefix; + struct radarInfo *next; + void *__internal; +}; + +#define RDR_NAMELEN 32 + +struct radarConfig +{ + char wnd_name[RDR_NAMELEN+1]; +}; + +extern BOOL radarInit(struct radarConfig *rc); + +extern void radarCleanup(void); + +extern BOOL radarIsActive(void); + +extern void radarExecThread(void); + +extern void radarKillThread(void); + +extern void radarWaitUntilRdy(void); + +extern void radarUpdateResolution(void); + +extern unsigned int radarGetWidth(void); + +extern unsigned int radarGetHeight(void); + +extern FLOAT radarPropX(void); + +extern FLOAT radarPropY(void); + +extern struct radarInfo *radarAddInfo(char *prefix); + +extern void radarSetInfo(struct radarInfo *ri, char *text); + +extern void radarSetInfoF(struct radarInfo *ri, const char *fmt, ...); + +extern void radarSetDrawDistance(FLOAT vecDist); + +extern void radarSetPlayerPosition(FLOAT ppos[3], FLOAT angle); + +extern void radarSetAimLine(FLOAT enemy_pos3f[3], BOOL enable); + +extern void radarUpdateEntity(UINT64 unique_id, FLOAT pos[3], enum radarColor color, BOOL isPlayer, BOOL valid); + +extern void radarInvalidateAll(void); + +extern void radarRemoveInvalidEntities(void); + +extern void radarDrawEntities(void); + +extern int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR cmdParam, int cmdShow); + +#ifdef __cplusplus +} +#endif + +#endif // __MAIN_H__ |