EterWizard; EterMgr, EterHook (basic) elleni védelem.
EterWizard:
1. lépés letöltöd a pack maker-t
https://mega.nz/#F!G1tlRLxS!_PfIPQlIRt2kQ7KfLtTBpg
(PFLCreator v1.2 nem kötelező csak így a compress [maga a fájl] sokkal kisebb méretű lesz.)
buildeld le a packmaker-t és csinálj 2 bat fájl-t a mappájába.(ezekkel tudod ki és becsomagolni majd)
kicsomagolás:
MakePack.exe --extract Valami
(Spectra 2.1 alul csatolva példaként[1 fájlmappában modosított])
becsomagolás:
MakePack.exe Valami.mbcrypt
(Spectra 2.1 alul csatolva példaként[1 fájlmappában modosított])
2. lépés indító source-ben & packmaker-ben EterBase-->tea.cpp--> megkeresed#define TEA_ROUND 32
ezt átírod pl 16-ra. ezután lebuildeled mind 2-őt.(A kötelező köröket is megcsinálhatjátok lzo;kiterjesztés [Eterpack.cpp])
3. lépés a kibontott pack mappákat visszacsomagoljátok , majd ezeket és az új indítót használva mér kész is.
EterMgr:
1. lépés
EterPack.h megkeresitek
bool Get(CMappedFile & mappedFile, const char * filename, LPCVOID * data);
//THEMIDA
bool Get2(CMappedFile & mappedFile, const char * filename, TEterPackIndex* index, LPCVOID * data);
átírjátok
bool Get(CMappedFile & mappedFile, const char * filename, LPCVOID * data, LPCVOID * Protect);
//THEMIDA
bool Get2(CMappedFile & mappedFile, const char * filename, TEterPackIndex* index, LPCVOID * data, LPCVOID * Protect);
2. lépés
EterPack.cpp
megkeresitek
bool CEterPack::Get(CMappedFile& out_file, const char * filename, LPCVOID * data)
átírjátok:
bool CEterPack::Get(CMappedFile& out_file, const char * filename, LPCVOID * data, LPCVOID * Protect)
megkeresitek
bool CEterPack::Get2(CMappedFile& out_file, const char * filename, TEterPackIndex * index, LPCVOID * data)
átírjátok
bool CEterPack::Get2(CMappedFile& out_file, const char * filename, TEterPackIndex * index, LPCVOID * data, LPCVOID * Protect)
mind a 2 függvény return true elé beírjátok
*Protect = *data;
3. lépés
EterPackCursor.cpp
megkeresitek
bool CEterPackCursor::Open(const char* filename)
azon bellül:
inlineConvertPackFilename(tmpFilename);
alá
LPCVOID Protect;
majd ezt lecserélitek
if (!m_pPack->Get(m_file, tmpFilename, &m_pData))
erre :
if (!m_pPack->Get(m_file, tmpFilename, &m_pData, &Protect))
4. lépés
EterPackManager.cpp
megkeresitek
bool CEterPackManager::GetFromPack(CMappedFile & rMappedFile, const char * c_szFileName, LPCVOID * pData)
Azon belül
if (0 == ConvertFileName(c_szFileName, strFileName))
{
return m_RootPack.Get(rMappedFile, strFileName.c_str(), pData);
}
Átírjátok
if (0 == ConvertFileName(c_szFileName, strFileName))
{
LPCVOID Protect;
return m_RootPack.Get(rMappedFile, strFileName.c_str(), pData, &Protect);
}
megkeresitek
bool r = pkFileItem->pkPack->Get2(rMappedFile, strFileName.c_str(), pkFileItem->pkInfo, pData);
Átírjátok
bool r = pkFileItem->pkPack->Get2(rMappedFile, strFileName.c_str(), pkFileItem->pkInfo, pData, &Protect);
Ez felett
LPCVOID Protect;
[Ez a védelem béla érdeme]
EterHook (Ez egy nagyon basic védelem)
indító source-ben Local.cpp-t megnyitod.
Beírod
HANDLE hnd2;
utána
void BlockEterHook()
{
B:
WIN32_FIND_DATAA Block1, Block2;
HANDLE block1 = FindFirstFileA("eterHookIn*", &Block1);
HANDLE block2 = FindFirstFileA("eterHookOut*", &Block2);
if (block1 != INVALID_HANDLE_VALUE) {
FindClose(block1);
CreateThread(NULL, NULL, LPTHREAD_START_ROUTINE(CloseProcess), NULL, NULL, NULL);
MessageBoxA(NULL, "Töröld az eterHookIn&eterHookOut mappát!", "Hack észlelve!", NULL);
exit(0);
}
if (block2 != INVALID_HANDLE_VALUE) {
FindClose(block2);
CreateThread(NULL, NULL, LPTHREAD_START_ROUTINE(CloseProcess), NULL, NULL, NULL);
MessageBoxA(NULL, "Töröld az eterHookIn&eterHookOut mappát!", "Hack észlelve!", NULL);
exit(0);
}
Sleep(100);
goto B;
}
Ez után
inline void vedelem01()
{
hnd2 = CreateThread(NULL, NULL, LPTHREAD_START_ROUTINE(BlockEterHook), NULL, 0, 0);
}
Megkeresed
NANOBEGIN
Ez felé írod
vedelem01();
// Aki vet rá egy pilantást az rájön ez a védelem nagyon könnyen kikerülhető//
//egy lényeges dolog kimaradt Dump_proto-nál is tea.cpp-t írjátok át és dumpoljatok szerverprotóbol kliens oldalit.//