Eter Protect

Indította OneCharakter, 2018-11-30, 23:14:46

2018-11-30, 23:14:46 Utolsó szerkesztés: 2018-12-01, 14:27:00 Szerző: OneCharakter
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.//