keine Ahnung wer den gecoded hat, interessiert mich auch nicht, ich habe ihn von Source gekriegt.
Ist leicht zu umgehen doch hilft gegen die meisten.
Der Fix arbeitet hauptsächlich mit der Tickrate.
[Alles was kommentiert ist könnt ihr natürlich auch auskommentieren je nach dem wie ihr das wollt.]
Neuz.cpp unter:
das:
Neuz.h unter
das hier
NeuzMsgProc.cpp unter
das hier:
Ist leicht zu umgehen doch hilft gegen die meisten.
Der Fix arbeitet hauptsächlich mit der Tickrate.
[Alles was kommentiert ist könnt ihr natürlich auch auskommentieren je nach dem wie ihr das wollt.]
PHP Code:
Neuz VersionCommon.h
#define __CHEAT_ENGINE_BLOCK
Neuz.cpp unter:
PHP Code:
void CNeuzApp::BeginLoadThread()
{
CResFile::ScanResource( "" );
prj.LoadPreFiles();
m_hThread = (HANDLE) _beginthread( LoadProperty, 0, (LPVOID)this );
#if !defined(_DEBUG)
WaitLoading();
#endif
}
das:
PHP Code:
#ifdef __CHEAT_ENGINE_BLOCK
void CNeuzApp::StartSecurityThread()
{
m_threadSecurity = AfxBeginThread( _SecurityThreadFunc, this );
m_threadSecurity2=AfxBeginThread( _SecurityThread2Func, this );
if ( m_threadSecurity == NULL )
{
MessageBox( g_Neuz.GetSafeHwnd(), "Failed to create security thread, dialog is aborting", "Security Thread!", MB_OK );
ExitProcess( -1 );
}
if ( m_threadSecurity2 == NULL )
{
MessageBox( g_Neuz.GetSafeHwnd(), "Failed to create security2 thread, dialog is aborting", "Security Thread!", MB_OK );
ExitProcess( -1 );
}
m_threadSecurity->m_bAutoDelete = FALSE;
m_threadSecurity->ResumeThread();
m_threadSecurity2->m_bAutoDelete = FALSE;
m_threadSecurity2->ResumeThread();
}
UINT CNeuzApp::_SecurityThreadFunc( LPVOID param )
{
unsigned int nLastTick = GetTickCount();
char q_count = 0;
unsigned int x = 0;
while( 1 )
{
Sleep(1000);
x = (GetTickCount()-nLastTick)/100;
if(x > 0 && x < 11)
x=10;
q_count += (x-10)>0;
q_count -= (q_count==0) ? 0 : (x-10) == 0;
nLastTick = GetTickCount();
if( q_count >= 5 )
{
// char szBuff[8192];
//_vsntprintf( szBuff, 8191, "Error: S_%i%s", x, "\nPlease contact a GameMaster when this error occurrs." );
//sprintf(error, (CchHcAR*)"Error: S_%i%s", x, "\nPlease contact a GameMaster when this error occurrs.");
Error("SecurityThread(): Speed Hack!");
g_Neuz.Pause(true);
MessageBox( g_Neuz.GetSafeHwnd(), "CHEAT ENGINE DETECTED!", "Error in Neuz.exe!", MB_OK );
ExitProcess( -1 );
}
//std::cout<< (q_count>=15?"Speed Kick!!":"Akzeptabel")<<" ("<<(int)q_count<<"sec mit Speed) "<<x<<"\n";
/* q_count:
* bei Speed an -> q_count++
* bei Speed aus-> q_count-- bis 0;
* kick sollte vor 126 stattfinden ! empfehlung: 5s < KICK < 15s
* empfohlene Meldung etwa (da man Fehler nie ausschließen kann): Überschrift: "Fehler in Neuz.exe";
* Inhalt: "Fehler: S_ "+q_count+"\nFalls dieser Fehler unerwartet auftritt bitte an einen GM wenden.";
*/
}
}
UINT CNeuzApp::_SecurityThread2Func( LPVOID param )
{
unsigned int nLastTick = GetTickCount();
char q_count = 0;
char a[30] = { 65, 110, 116, 84, 119, 101, 97, 107, 66, 97, 114, 46, 100, 108, 108 };
char b[30] = { 73, 110, 102, 105, 108, 116, 114, 97, 116, 105, 111, 110, 46, 100, 108, 108 };
const string& tweakbar = a;
const string& infiltration = b;
while( 1 )
{
if( g_Neuz.isRunning("Injector.exe") )
{
Error("SecurityThread(): User tried to inject!");
g_Neuz.Pause(true);
MessageBox( g_Neuz.GetSafeHwnd(), "Don't try to inject me, newb!", "Error in Neuz.exe!", MB_OK );
ExitProcess( -1 );
}
#ifdef __BLOCK_CE_OLLYDBG
if( g_Neuz.isRunning("cheatengine-x86_64.exe") )
{
Error("SecurityThread(): User tried to use CE!");
g_Neuz.Pause(true);
MessageBox( g_Neuz.GetSafeHwnd(), "Don't try to use CheatEngine!", "Error in Neuz.exe!", MB_OK );
ExitProcess( -1 );
}
if( g_Neuz.isRunning("cheatengine-i386.exe") )
{
Error("SecurityThread(): User tried to use CE!");
g_Neuz.Pause(true);
MessageBox( g_Neuz.GetSafeHwnd(), "Don't try to use CheatEngine!", "Error in Neuz.exe!", MB_OK );
ExitProcess( -1 );
}
if( g_Neuz.isRunning("Cheat Engine.exe") )
{
Error("SecurityThread(): User tried to use CE!");
g_Neuz.Pause(true);
MessageBox( g_Neuz.GetSafeHwnd(), "Don't try to use CheatEngine!", "Error in Neuz.exe!", MB_OK );
ExitProcess( -1 );
}
if( g_Neuz.isRunning("OLLYDBG.exe") )
{
Error("SecurityThread(): User tried to use OllyDBG!");
g_Neuz.Pause(true);
MessageBox( g_Neuz.GetSafeHwnd(), "Don't try to use OllyDBG!", "Error in Neuz.exe!", MB_OK );
ExitProcess( -1 );
}
if( g_Neuz.isRunning("Winject.exe") )
{
Error("SecurityThread(): User tried to inject!");
g_Neuz.Pause(true);
MessageBox( g_Neuz.GetSafeHwnd(), "Don't try to inject!", "Error in Neuz.exe!", MB_OK );
ExitProcess( -1 );
}
#endif
if( GetFileAttributes(tweakbar.c_str()) != 0xFFFFFFFF || GetFileAttributes(infiltration.c_str()) != 0xFFFFFFFF )
{
Error("SecurityThread(): User has corrupted client!");
g_Neuz.Pause(true);
MessageBox( g_Neuz.GetSafeHwnd(), "Corrupted Client! Please reinstall Atlantic Flyff!", "Error in Neuz.exe!", MB_OK );
ExitProcess( -1 );
}
Sleep(7000);
}
}
bool CNeuzApp::isRunning(string pName)
{
return false;/*
unsigned long aProcesses[1024], cbNeeded, cProcesses;
if(!EnumProcesses(aProcesses, sizeof(aProcesses), &cbNeeded))
return false;
cProcesses = cbNeeded / sizeof(unsigned long);
for(unsigned int i = 0; i < cProcesses; i++)
{
if(aProcesses[i] == 0)
continue;
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 0, aProcesses[i]);
char buffer[50];
GetModuleBaseName(hProcess, 0, buffer, 50);
CloseHandle(hProcess);
if(pName == string(buffer))
return true;
}
return false;
*/
}
#endif
PHP Code:
public:
DWORD m_dwTimeOutDis;
int m_nTexAlpha;
BOOL m_bTexLoad;
BOOL m_bTexLoadAlpha;
CTexture m_TexLoading;
BOOL m_bActiveNeuz;
CNeuzEnemy m_NeuzEnemy;
DWORD m_dwTimeReSkillPoint;
BOOL m_bQuit;
CTimer m_timerQuit;//.Set( SEC( 1 ) );
das hier
PHP Code:
#ifdef __CHEAT_ENGINE_BLOCK
CWinThread* m_threadSecurity;
static UINT _SecurityThreadFunc( LPVOID param );
bool isRunning(string pName);
CWinThread* m_threadSecurity2;
static UINT _SecurityThread2Func( LPVOID param );
void StartSecurityThread();
#endif
PHP Code:
if( bGetOsVr && hres == S_OK && versionInfo.dwMajorVersion != 6 && Identifier.VendorId != 4098 )
EnableFloatException();
SAFE_RELEASE(pD3D);
das hier:
PHP Code:
#ifdef __CHEAT_ENGINE_BLOCK
/*
#ifdef __CHEAT_ENGINE_BLOCK_NAME
if (FindWindow (NULL, "Cheat Engine 5.7"))
{
MessageBox( g_Neuz.GetSafeHwnd(), "Please uninstall Cheat-Engine to play FlyFF!", "Cheat Engine detected!", MB_OK );
ExitProcess( -1 );
}
else
{
if (FindWindow (NULL, "Cheat Engine 5.6"))
{
MessageBox( g_Neuz.GetSafeHwnd(), "Please uninstall Cheat-Engine to play FlyFF!", "Cheat Engine detected!", MB_OK );
ExitProcess( -1 );
}
else
{
if (FindWindow (NULL, "Cheat Engine 5.8"))
{
MessageBox( g_Neuz.GetSafeHwnd(), "Please uninstall Cheat-Engine to play FlyFF!", "Cheat Engine detected!", MB_OK );
ExitProcess( -1 );
}
else
{
if (FindWindow (NULL, "Cheat Engine 5.9"))
{
MessageBox( g_Neuz.GetSafeHwnd(), "Please uninstall Cheat-Engine to play FlyFF!", "Cheat Engine detected!", MB_OK );
ExitProcess( -1 );
}
else
{
if (FindWindow (NULL, "Cheat Engine 6.0"))
{
MessageBox( g_Neuz.GetSafeHwnd(), "Please uninstall Cheat-Engine to play FlyFF!", "Cheat Engine detected!", MB_OK );
ExitProcess( -1 );
}
else
{
if (FindWindow (NULL, "Cheat Engine 6.1"))
{
MessageBox( g_Neuz.GetSafeHwnd(), "Please uninstall Cheat-Engine to play FlyFF!", "Cheat Engine detected!", MB_OK );
ExitProcess( -1 );
}
else
{
if (FindWindow (NULL, "Cheat Engine 6.2"))
{
MessageBox( g_Neuz.GetSafeHwnd(), "Please uninstall Cheat-Engine to play FlyFF!", "Cheat Engine detected!", MB_OK );
ExitProcess( -1 );
}
else
{
if (FindWindow (NULL, "Cheat Engine 6.3"))
{
MessageBox( g_Neuz.GetSafeHwnd(), "Please uninstall Cheat-Engine to play FlyFF!", "Cheat Engine detected!", MB_OK );
ExitProcess( -1 );
}
else
{
if (FindWindow (NULL, "OllyDbg"))
{
MessageBox( g_Neuz.GetSafeHwnd(), "Please uninstall Olly DBG to play FlyFF!", "Olly DBG detected!", MB_OK );
ExitProcess( -1 );
}
else
{
if (FindWindow (NULL, "Cheat Engine 5.5"))
{
MessageBox( g_Neuz.GetSafeHwnd(), "Please uninstall Cheat-Engine to play FlyFF!", "Cheat Engine detected!", MB_OK );
ExitProcess( -1 );
}
else
{
if (FindWindow (NULL, "Cheat Engine 5.4"))
{
MessageBox( g_Neuz.GetSafeHwnd(), "Please uninstall Cheat-Engine to play FlyFF!", "Cheat Engine detected!", MB_OK );
ExitProcess( -1 );
}
else
{
if (FindWindow ( NULL, "Cheat Engine 5.3"))
{
MessageBox( g_Neuz.GetSafeHwnd(), "Please uninstall Cheat-Engine to play FlyFF!", "Cheat Engine detected!", MB_OK );
ExitProcess( -1 );
}
}
}
}
}
#endif
*/
//g_Neuz.m_dwLastTick = 0;
//g_Neuz.m_timerCheatEngine.Set( SEC( 1 ) );
g_Neuz.StartSecurityThread();
#endif