Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- -----------------------------------------
- * Game hacking QTS ( Quickie Tip Series )
- * no. 8 - Text log class
- -----------------------------------------
- * Author: SEGnosis - GHAnon.net
- * Thanks to:
- * bitterbanana - No known site
- * Drunken Cheetah - No known site
- * fatboy88 - No known site
- * Geek4Ever - No known site
- * learn_more - www.uc-forum.com
- * Novocaine - http://ilsken.net/blog/?page_id=64
- * Philly0494 - No known site
- * Roverturbo - www.uc-forum.com
- * SilentKarma - www.halocoders.com - offline
- * Strife - www.uc-forum.com
- * Wieter20 - No known site
- */
- // Requires no. 7 - Dynamic format string class
- //----------------------------------//
- class C_Log
- {
- public:
- C_Log(); // Constructor
- ~C_Log(); // De-constructor
- void Reset( void ); // Prototype
- void LoadLogLocation( char* szString ); // Prototype
- void Log( char* szString, ... ); // Prototype
- private:
- char szLogLocation[ MAX_PATH ]; // Path of text file
- }CLog;
- //----------------------------------//
- //----------------------------------//
- C_Log::C_Log()
- {
- }
- //----------------------------------//
- C_Log::~C_Log()
- {
- }
- //----------------------------------//
- //----------------------------------//
- void C_Log::Reset( void )
- {
- fstream pFile( szLogLocation, ios::out ); // Open the text file for output only ( eraces everything )
- pFile.close(); // Closes file
- }
- //----------------------------------//
- void C_Log::LoadLogLocation( char *szString )
- {
- strcpy( szLogLocation, szString ); // Moves file path into szLogLocation
- char* pszTemp = strrchr( szLogLocation, '\\' ); // Gets last instance of '\' character in file path
- *( pszTemp + 1 ) = 0; // Null out character after dash to append path
- strcat( pszTemp, "\\Hook Log.txt" ); // Append file log name
- }
- //----------------------------------//
- void C_Log::Log( char* szString, ... )
- {
- char* szBuffer = new char[ 2048 ]; // Create format holding char array
- char szTime[ MAX_PATH ]; // Create time hold char array
- time_t tmCurrentTime; // create time_t structure instance
- va_list va_alist;
- va_start( va_alist, szString );
- vsprintf( szBuffer, szString, va_alist); // fill szBuffer with string and filled format
- va_end ( va_alist );
- time( &tmCurrentTime ); // Get local time
- strcpy( szTime, ctime( &tmCurrentTime ) ); // load time string into szTime
- szTime[ strlen( szTime ) - 1 ] = 0; // Remove newline character
- strcpy( szBuffer, Strings._sprintf( "[ %s ] %s", szTime, szBuffer ) ); // Format the string ( for _sprintf view [Snippet] Dynamic format strings class )
- fstream pFile( szLogLocation, ios::app ); // open file for appending
- pFile << szBuffer << endl; // output string
- pFile.close(); // close file
- delete[] szBuffer; // free string memory
- Strings.ClearSprintfQueue(); // clear queue
- }
- //----------------------------------//
- BOOL WINAPI DllMain( HMODULE hModule, DWORD dwReason, LPVOID lpvReserved )
- {
- switch( dwReason )
- {
- case DLL_PROCESS_ATTACH:
- char szString[ MAX_PATH ];
- GetModuleFileName( hModule, szString, sizeof( szString ) ); // Gets dll full path and name
- CLog.LoadLogLocation( szString ); // Sets up the text log location
- CLog.Log( "// Library injected //" ); // Example on how its used
- break;
- case DLL_PROCESS_DETACH:
- CLog.Log( "// Library released %d//\n\n\n", 0 ); // Example on how its used
- break;
- }
- return TRUE;
- }
- //----------------------------------//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement