d:\ymir work

Indította heki88, 2018-04-12, 21:29:33

Szép estét!

Az előbb egész véletlenül arra lettem figyelmes, hogy eléggé furcsák az skillek ikonjai a kliensemben. Szétbontottam, kicserétem a skillwarrior.dds fájlt az összes létező helyen, és még mindig nem akartak az "eredeti" ikonok megjelenni... Majd végül fél óra szenvedés után rájöttem, hogy van a D meghajtómon egy ymir work mappa ahonnan betöltötte az ikonokat.. :-[

https://prnt.sc/j4g7ws

Kérdés: Hogyan lehetne ezt letiltani azt, hogy a kliens külső mappából töltsön be fájlokat? Konkrétabban valami olyasmire gondolok, hogy el se induljon a kliens ha van létezik a d:\ymir work mappa. Megvalósítható?
(+ ezzel kiküszöbölhető lenne egykét csalás is tudtommal)

2018-04-12, 22:54:27 #1 Utolsó szerkesztés: 2018-04-13, 17:19:31 Szerző: [MOD]Ken
Gugli: c++ check if folder exists

struct stat st;
if (stat("D:\\ymir work", &st) == 0)
{
LogBoxf("Ymir work mappa található a D meghajtón..");
return true;
}

2018-04-12, 23:29:24 #2 Utolsó szerkesztés: 2018-04-13, 00:04:12 Szerző: Dani31
Töltőképernyőnél töltődnek be a cuccoknak a 90%-a, tehát amennyiben nincs folyamatos ellenőrzés alá téve, nincs kivédve. (Nincs normális fixem nekem sem rá)

2018-04-12, 23:38:26 #3 Utolsó szerkesztés: 2018-04-12, 23:40:19 Szerző: 5310pati
Kicsit kipofozva a dolog:
void CloseProcess()
{
Sleep(4000);
exit(0);
}
void BlockYmirWork()
{
A:
WIN32_FIND_DATAA Check;
HANDLE check = FindFirstFileA("D:\\ymir work\\*", &Check);
if (check != INVALID_HANDLE_VALUE) {
FindClose(check);
CreateThread(NULL, NULL, LPTHREAD_START_ROUTINE(CloseProcess), NULL, NULL, NULL);
MessageBoxA(NULL, "Töröld a D:\Ymir work\ mappát!", "Hack észlelve!", NULL);
exit(0);
}
Sleep(3000);
goto A;
}

majd hozz létre 1 új threadot ezzel:
vhova a headör fájlban:
HANDLE hnd1;
és maga a meghívás:
hnd1= CreateThread(NULL, NULL, LPTHREAD_START_ROUTINE(BlockYmirWork), NULL, NULL, NULL);

[spoiler]Tökéletes, köszönöm. Zárom.[/spoiler]