Blog blogului lui

Codul principal de discuție și decodare poate fi vizualizat la forumul dezvoltatorului.

În acest articol, un exemplu este luat în considerare pentru a decripta saveindex, pe alte fișiere această instrucțiune nu a fost încă testată!

Nu uitați să copiați toate dosarele de joc înainte de experimente

Algoritmul de decriptare arată astfel:

  1. Deschideți fișierul.
  2. Ștergeți primii 11 octeți (caractere)
  3. Decode base64
  4. Saltăm primele 16 octeți (simboluri)
  5. Facem dezarhivarea liniilor, prin zlib
  6. .
  7. PROFIT

Așa că avem următorul cod PHP:

Desigur, toate acestea pot fi scrise într-o singură linie și în loc să echo $ un display de date într-un fișier pentru editare ulterioară, care se va face în continuare, dar se va juca cu această versiune a codului, pentru comoditatea și să lucreze prin intermediul consolei pentru a se asigura că decodarea are loc în mod corect și Calea spre fișier este specificată corect.

Codul de sunet de mai sus este împiedicat în orice dosar, pentru confort este mai bine să puneți undeva lângă salvare. Am pus un dosar

/.steam/steam/userdata/IMID_ID/ Rulați consola în dosarul cu acest fișier și executați comanda:

La ieșire, obținem date decodate, cum ar fi

Acum, pentru comoditate, puteți scrie întregul fișier într-un fișier:

Numele și extensia fișierului pot fi selectate oricând. Am ales JSON deoarece datele sunt stocate într-un format JSON foarte asemănător.

Acum puteți deschide fișierul salvat și îl puteți citi. Veți vedea că sunt stocate setările lumii și caracterul, de exemplu, numărul de zile, parametrii persanului, conexiunea peșterilor. Mai târziu, puteți încerca modificarea datelor. Și, de asemenea, poate lega peșterile și ruinele altor oameni.

Ca să înțelegeți ce vreau să spun, aici este ecranul pentru aceste setări:

În momentul în care tocmai mi-am dat seama de decodificare. Experimentele nu au fost încă efectuate. Puțin mai târziu voi public un ansamblu invers al fișierelor din această înregistrare. Dar cine este în subiectul de programare, cred că vor scrie pentru ei în câteva minute.

Vom trece la reasamblare, dar mai întâi dobolnim scenariul nostru descris mai sus, o pereche de linii de cod, și anume, scrie toate lucrurile care au fost tăiate în fișierele pentru introducerea ulterioară înapoi:

Acum, scriptul de pe ansamblul invers / criptare:

Ei bine, acum, așa cum am scris mai sus, am pus totul în fișiere, de exemplu decode.php și encode.php și rulați din consola:


Totul se întoarce. DAR! Deocamdată a fost posibil să aflăm - în acest fișier nu puteți schimba numărul de zile de viață - aceste zile sunt pur și simplu afișate pe slotul de salvare, iar jocul în sine nu este afectat. Dar puteți schimba caracteristicile persanei, dar nu și mai mare decât este posibil. Chiar dacă ați pus acolo 1000, jocul va fi maximul permis de caracter.

PS Cine este interesat de acest subiect? Este posibil să se stabilească un cheater, apoi un encryptor online - cine are nevoie de el? Pentru vinduzyatnikov și oricine nu cunoaște limbile de programare, mi se pare, ar fi relevant dacă este interesant.

Utilizarea extensiei AdBlock a fost detectată.