Ismét jött egy ötlet, hogy ha már az lzo kulcsokat meg tudjuk szerezni, miért nem kérjük meg a klienst, hogy bontsa ki nekünk az összes eterPackot, amit egyébként már betöltött. Szóval az ötlet alapján ismét munkához láttunk @Unc3nZureD barátommal.
Még egy "eter" cucc? Ez most mit tud?
Nos ezúttal mint mondtam nem kulcsokat olvassa ki, hanem annál egy kicsit komolyabb dolgot csinál: egyből kibontja a fájlokat mindenféle szükséges információ nélkül. Itt egy videó:
Mint az látható ez egy kicsit komolyabbra sikerült, mint a wizard, éppen ezért valószínűleg még több kliensen is működik. Tegnap este @P3NG3R kipróbálta GF-en,
[Csak regisztrált felhasználók láthatják ezt a tartalmat.]
az eredménye.
Használata:
Nos mint az a videón is látható, roppantul egyszerű használni. A dll-t valamilyen módon be kell juttatni a processbe, és az mindegy, hogy mikor, tehát nem kell, hogy a fájlok betöltése előtt, nagyon gyorsan induljon el, simán futás közben is be lehet injectelni.
Miután sikeresen belépett a processbe rá fog kérdezni, hogy nyisson e új szálat, vagy sem. Amennyiben szeretnéd, hogy nyisson, a kliens továbbra is használható marad, és külön fog futni a manager. Ellenkező esetben a kliens suspendelve lesz, nem fog a továbbiakban semmire reagálni, egyedül a manager fog csak működni. Utóbbi opció hasznos lehet anticheatek kikerülésében.
Ha sikeresen betöltődött, és megtalált minden szükséges függvényt, akkor megkérdezi, hogy mit szeretnél kibontani. Itt a korábban kilistázott offseteket közül kell beírni egyet (New EterPack found at 0x...), vagy pedig ha simán 0-t írsz be, akkor ismét kilistázza a sikeresen megtalált EterPack classokat. Offset beírásra példa: 22AA56, 0x22AA56, stb... (egyszerre persze csak 1-et írhatsz be)
Kivédése:
[Csak regisztrált felhasználók láthatják ezt a tartalmat.]Spoiler:
Ugyebár jelenleg nem igazán tud segíteni rajtunk, ha csak simán lecseréljük a titkosítást. Továbbra is egyik legjobb védelem ellene, ha megakadályozzuk a dll injectelését a kliensbe. Egy másik hatásos megoldás, ha a CEterPack::Get és a CEterPack:Get2 függvényekbe + változót adunk bemenetnek. Azonban ez önmagában kevés, mivel amennyiben nem használja semmi azt a változót a függvényben, a fordító ki fogja optimalizálni. Szóval a függvényen belül valamit csinálni kell az adott új bemeneti változónkkal, pl hozzáadni egyet, stb... (Nem kell, hogy az a változó amit hozzáadtunk bármi "érdemlegeset" is csináljon...)
[Csak regisztrált felhasználók láthatják ezt a tartalmat.]1.2:
[ÚJ FUNKCIÓ] Mostantól lehetséges az index fájlok kidumpolása az indítóból. Egyúttal ezt a funkciót használva a titkosítás is lekerül az index fájlokról, szóval nem lesz szükség az index fájlok decrypteléséhez LZO kulcsra. Tehát type 1 és type 0-ás csomagolások esetén bonthatóvá teszi a fájlokat. Mivel azonban a data fájlok type 2 és a fölötti typek esetén titkosítva vannak, ezért azokhoz továbbra is szükséges további kulcsok ismerete.
[FIX] Bekerült egy adatellenőrző funkció, amely a fájlok integritását vizsgálja type 1 és type 2-es csomagolások esetén, így ezt használva valószínűleg jóval kevesebbet fog crashelni a tool.
[MÓDOSÍTÁS] Mostantól konzolként működik a tool, parancsokat kell megadnod 1-1 funkció használatához.
[Csak regisztrált felhasználók láthatják ezt a tartalmat.]1.1:
[ÚJ FUNKCIÓ] Mostantól lehetséges az egész kliens kibontása, csupán offset helyett 1-est kell írni.
[FIX] Moleboxos kliensekben (és lehet máshol is) a protect miatt nem találta meg a class basekat, javítva lett.
[FIX] Egy bizonyos változó túl hosszú fájlnevek esetén overflowolódott, és crasht okozott, javítva lett.
[MÓDOSÍTÁS] Mostantól a fájlokat nem közvetlenül az eterMgr mappába, hanem az eterMgr/packneve mappába bontja.