TRENGER EN VENN ELLER 2 KONTOER FOR DETTE PROGRAMMET!!!
Jeg sier med en gang, les ferdig først og bare deretter gjenta alt, slik at det ikke er noen spørsmål!
Kort sagt, dette programmet er noe som ligner på AppID_patch. Men, som allerede kjent, ble det fikset, og du kan ikke lenger legge til spill til deg selv. Dette programmet gjør noe lignende.
Tenk deg: du har en venn og han har et spill, for eksempel Garrys mod. Og du ville spille det med ham, men du har det ikke, bare en pirat brukes til dette Jeg forstår det .

Vel, hvordan bruker man det?

  1. Vi lastet ned arkivet og pakket det ut hvor vi ville
  2. La oss lansere på vegne av admin SteamCrack.exe og klikk på alle vinduene "Ja"
  3. Vi lukker nyhetene, hvis den tilbyr å oppdatere, så gjør vi det.
  4. I vinduet som åpnes klikker vi på de tre prikkene “packageinfo.vdf” og ser etter det langs stien /steam/appcache/
  5. Har du valgt? Så trykker vi på patch steam og det gir oss "Har du lukket Steam?" slå av steam og klikk "Ja"
  6. Den vil fortelle deg hvor du skal laste ned SteamPatched, laste ned fra der det er praktisk for deg.
  7. Etter å ha lastet ned SteamPatched.zip, sleng den inn i mappen med dette programmet (Du trenger ikke å lukke selve programmet) og i programmet klikker du på Patch Steam igjen, den vil sjekke filene og hvis de mangler, klikk i oppdateringen steam-vindu som åpnes, og lagre, i tilfelle.

Og det er det!

Her er en lenke til en video om dette programmet på engelsk, med tekst.

Dette er utvikleren selv, og han ser ut til å være fra Frankrike.

Om andre funksjoner.

  1. I "Legg til spill" er det en "Manuell søk"-knapp - ved å klikke på den åpnes Steam-butikken og du klikker på spillet der, hvis ikke vårt, i listen over spill og klikker på "legg til".
  2. Bare "Legg til manuelt" - ved å klikke på det, må du skrive navnet på spillet og ID-en, og deretter klikke "Legg til" og "Ferdig!"
  3. "Fjern fra liste" - fjerner spillene du har lagt til.
  4. "Tilbakestill" - sletter filen packageinfo.vdf, nei, spillene dine vil ikke gå tapt, bare de spillene du la til gjennom dette programmet vil bli slettet
  5. Du kan se oppdateringene i "SteamCrack"-fanen. Det er også nyheter
  6. Hvis du valgte feil språk første gang du startet, kan du endre det ved å bruke "Changer de launge"-knappen
  7. Du kan fjerne den fullstendig i SteamCrack ---> Tilbakestill ---> Alle-fanen
  8. Du kan også legge til ekstra innhold
VIKTIG!!!
Hvis du vil ha flere spill per konto, så velg umiddelbart, ellers neste gang du bruker programmet, vil alle tidligere mottatte spill ganske enkelt bli fjernet fra kontoen din!
Programmet krever MSVC2015 x86 og x64 Du kan få det ved å laste ned Visual Studio fra denne lenken
Jeg kan heller ikke legge til programmet her på grunn av vekten og skjeve armer. Den kan lastes ned herfra. Det var ikke jeg som lastet det opp, men utvikleren av dette programmet. Det er bare det at han har en lenke under videoen som ikke fungerer for mange. Jeg måtte bruke en proxy for å laste den ned.
Forfatteren så ut til å si at han ønsker å returnere AppID_Patch.

Hvis du besøkte Steam-hjemmesiden søndag kveld, har du kanskje lagt merke til et ganske interessant nytt tilbud: "Se maling tørke." Dette forårsaket mye kontrovers (og jeg hadde det litt moro på forumene) på Steam, ettersom folk hevdet at Valve/Steam fullstendig hadde mistet kontrollen over kvaliteten på spill i Greenlight, selv om dette spillet aldri engang hadde vært Greenlighted.

Jeg betalte ikke engang $100 for Steam Greenlight-innleveringsavgiften for å redusere tiden det tok meg å laste opp distribusjonen til serveren. Personlig synes jeg Greenlight er en flott plattform for folk å vise frem spillene sine, og det har gjort det å være en indie-utvikler til et vellykket yrke og vil fortsette å være det.

Jeg vil på forhånd beklage hvis jeg på noen måte har fornærmet noen indie-utviklere som har problemer med å publisere spillene sine på Steam. Alt dette er ikke annet enn en spøk, gjort for en tests skyld, for å sjekke hva jeg har prøvd å formidle til Valve de siste månedene - om muligheten til å laste opp et hvilket som helst spill til Steam uten mulighet for verifisering av Valve-ansatte.

Dette er en utdatert guide ettersom Steam-eiere har lappet opp de eksisterende smutthullene, men hvis du er villig til å reise tilbake i tid, er dette en solid guide for hvordan du slipper spillet ditt.

Få en SteamWorks-konto

Dette begynner å bli en teknisk guide, men å få tilgang til SteamWorks var begynnelsen på min forskning på dette problemet. Jeg kan ikke kommentere hvordan/hvorfor jeg fikk tilgang til SteamWorks, men jeg vil bekrefte at det ikke var noen smutthull i nettpapirene mine, Greenlight eller selve Valve. Selv om det ikke lenger fungerer, kommer jeg ikke til å røpe noen detaljer om hvordan det ble gjort, så ikke spør meg om det. Jeg har mine grunner.


Uansett, jeg fikk tilgang til SteamWorks (Valves interne plattform for publisering på Steam, grunnlaget for å lage prestasjoner, DRM, flerspiller osv.) og dette ga meg ideen om å se etter svake punkter ved plattformen. Jeg prøvde å kontakte Valve om dem, men fikk ikke noe svar. Til slutt, da april nærmet seg, bestemte jeg meg for å bruke "no name-appen" som en aprilspøk for å bringe disse problemene til Valves oppmerksomhet.

"Jeg vil ikke snakke om hvordan jeg laget en malingstørkingsimulator med 45 sekunders spilling i RPG Maker fordi jeg ikke er så fornøyd med den, og det spiller ingen rolle."

Motta bekreftelse for Steam-handelskort

Ville et spill som Paint Drying Simulator fungere uten Steam-handelskort?

I løpet av 10 minutter med Photoshop laget jeg et grunnleggende vitsesett for moro skyld. Valve må imidlertid vurdere kortene, uttrykksikonene og skjortene før jeg slipper dem. Men satte de pris på det?

Ved første øyekast kan du se at utgivelsesstatusen har flere innledende alternativer:


Jeg lurer på hva med kilden til dette skjemaet:


Det er interessant at de sporer økten min og redaktørens konto-ID samtidig. La oss prøve å endre disse dataene til dataene til en Valve-ansatt (dvs. 1). Endre for eksempel verdien i select til noe som ikke eksisterer, og la oss se hvordan det påvirker skjemaet.


Enda mer interessant... Det nye alternativet "Last Editor" er noen fra Valve. Hva skjer hvis vi lagrer skjemaet igjen med statusen «Utgitt»?


Til slutt, da jeg skrev inn feil spørring, kom den tilbake med en hel liste over alternativer og deres verdier. I dette tilfellet så jeg at «Released»-statusen hadde en verdi på 5. Oppdatering av skjemaet brakte «editor_accountid» tilbake, og endring av verdien i det valgte «Ready for Review»-vinduet fra 3 til 5 lagret alt til server, som om samlekortene mine bekreftet. Serveren sjekker ikke om noen fra Valve har godkjent kortene og setter statusen til "Released". La oss nå gå videre til å laste ned selve spillet.

Ventilgodkjenningsprosess

Et lite innblikk til deg: Før Valve laster opp noe til Steam, går den gjennom en tre-trinns utgivelsesprosess. Først må du sette butikksiden din i kø for gjennomgang, og deretter sende inn en siste eller nesten siste versjon av spillet ditt før du kan slippe det.

Main Event: Spillutgivelse

Steamworks-nettstedet er hovedsakelig skrevet i AJAX. All Javascript-funksjonskoden som kilden er basert på er ganske forvirrende, men kan leses av alle (registrert i Steamworks). Det er mye interessant i koden, men siden dette spillet var mer et proof of concept, holdt jeg meg til det som var viktig og fant en interessant Javascript-funksjon "ReleaseGame(appid, data)". Dette ser ut til å ha opprettet en generisk AJAX-forespørsel (selv om det ikke var noen autentisering involvert) til Steam, og som de sier, applikasjonen ble utgitt.


Jeg prøvde å ringe ReleaseGame med verdi 445730 (min appid) uten å fylle ut data og fikk en 403-feil (tilgang nektet). Interessant. Jeg så på noen få andre funksjoner i filen og la merke til at de fleste av dem la til verdier til en JSON-forespørsel kalt "sessionid" med sesjons-IDen vi så tidligere da vi ga ut samlekortene våre.


Så vi kaller ReleaseGame(445730, ( 'sessionid': 'my_session_id')


Gå til Steam-butikksiden:


Tadam! Jeg må innrømme at spillets utseende i delen for nye utgivelser var en forglemmelse fra min side. Jeg ønsket opprinnelig at den skulle "utgis 1. april" og ikke vises på Steam før fredag. Selv om jeg ikke forventet at hun skulle vare så lenge. Jeg skal også innrømme at jeg var ivrig etter å se hvor langt jeg kunne presse spillets utgivelsesprosess. Men jeg tror det faktum at det ikke ble solgt er det beste.

Jeg kontaktet senere Valve, som fikset alt det ovennevnte.

Det jeg lærte er at når du jobber med brukergenerert innhold som må godkjennes, bør du ikke bare sette verdiene for det innholdet til "Review Ready" og "Reviewed." Prøv i stedet å nærme deg dette annerledes, ved å lage "anmeldelsesbilletter" for hvert innhold eller noe sånt. Eller rett og slett ikke gi brukerne muligheten til å sende inn et element for utgivelse.

Selvfølgelig vil enhver spiller at dataspillet han kjøper skal være fullstendig ferdigstilt og klart til bruk. Men dessverre er det ikke alle utviklingsselskaper som kan oppnå dette resultatet. Naturligvis lar de ikke alt være som det er - de jobber konstant med det. Spesielle patcher hjelper dem med dette, som brukere kan laste ned helt gratis. I denne artikkelen vil du lære om lappen: hva det er, hva de er og hvordan du bruker dem. Det er klart at alt endrer seg over tid, og følgelig forblir heller ikke formen for å levere patcher den samme, men essensen forblir alltid den samme. Og du bør definitivt vite hva en patch er.

Spillutvikling

Mange spillere, når de spiller det neste store prosjektet, tenker ikke engang på hva det gikk gjennom før det kom i deres hender. Hvis du vil vite om en patch, hva den er, hvordan du bruker den og hvorfor den er nødvendig, må du forstå hvordan dataspill lages. Hele prosessen vil naturligvis ikke bli beskrevet her, fordi den er utrolig lang og mangefasettert. Dessuten er det meste ikke avgjørende for dette spørsmålet. Det viktigste du bør vite er teststadiet. Når spillutviklingen avsluttes, sendes det ferdige og spillbare prosjektet til alfatesting. Her sjekker profesjonelle testere ytelsen til spillet, påpeker mangler og problemer som rettes opp før spillet slippes. Etter dette starter beta-testing, som kan være åpen eller lukket. Her tester spillerne selv spillet og forteller utviklerne hva som er galt med det – avhengig av type testing, blir prosjektet gjort offentlig tilgjengelig, eller en bestemt gruppe mennesker får muligheten til å sjekke det. Og etter det gjøres siste forbedringer og korrigeringer - og prosjektet legges ut for salg. Selv en så nøye og omhyggelig sjekk på flere nivåer er imidlertid ikke alltid i stand til å oppdage alle ulempene, og det er derfor det er noe slikt som en oppdatering. Hva det er? I denne artikkelen vil du lære alt om patcher.

Så nå har du en ide om hvordan spillet er testet, men hvorfor trengs en oppdatering? Hva det er? Som engelskspråklige eksperter lett kan forstå, er en patch en "patch" for et spill, et lite program som er installert i spillet og korrigerer visse problemer i det. Dessverre kan det hende at selv den mest multi-nivå sjekken ikke oppdager alle feilene i spillet - de vises først etter utgivelsen. Det er her oppdateringen trer i kraft - utviklerne samler inn informasjon om hvilke feil som fortsatt finnes i spillet, utvikler en oppdatering for dem og gjør den tilgjengelig for gratis nedlasting. På denne måten trenger ikke spillere å betale igjen for en feilfri versjon - de kan "lappe" et eksisterende spill. Men hva er typene patcher? Tross alt er det et bredt utvalg av alternativer.

Standard patch

Hvis du vet at det er visse patcher for et spill du har som er verdt å installere, må du forstå hva disse patchene kan være. Den vanligste oppdateringen er et arkiv som inneholder de nødvendige filene, som du kan kopiere til spillmappen i samsvar med instruksjonene i det samme arkivet. Utviklere tvinger imidlertid ikke alltid spillere til å gjøre alt selv - noen ganger kan du bruke et spesielt patcher-program. Du trenger bare å starte det, velge spillet du trenger å lappe, og deretter velge oppdateringen du vil installere - og det er det. Fifa-patcher slippes oftest i denne formen, fordi denne serien er veldig populær og har eksistert ganske lenge, så patcher-programmet endres ikke over tid, og spillere kan enkelt lappe hvilken som helst versjon av hvert spill i serien.

Kumulative lapper

Vi bør også snakke om kumulative patcher. For eksempel kan de veldig ofte finnes for spillet "Stalker" - patcher av denne typen inneholder flere patcher som ble publisert tidligere. Derfor, i stedet for å laste ned hver utgitte patch separat og installere dem én etter én, kan du laste ned en kumulativ patch som vil inneholde alle endringene fra tidligere patcher, noe som er utrolig praktisk.

Hvordan lappe spillet?

I de fleste tilfeller bruker spillere spesielle spillplattformer som Steam. Der kan du konfigurere klienten din slik at alle oppdateringer som kommer ut for spillet blir installert automatisk. Dette er en veldig nyttig funksjon, men dessverre er ikke alle spill på Steam, så du må studere patchpanelet. Som nevnt tidligere kan det være veldig enkelt å forstå denne prosessen. Det er bare to alternativer her: enten laster du ned arkivet og overfører filene fra det til spillmappen, eller så åpner du patchpanelet og spesifiserer kun banen til spillet og patchen, så gjør programmet alt for deg.

God time, %USERNAME%! I min forrige artikkel " Steam CEG fra Valve og hva du spiser den med. Introduksjon"Bare en abstrakt forståelse og prinsipper for drift av CEG-teknologien ble gitt. Denne artikkelen vil inneholde et absolutt minimum av teori og det store flertallet av praksis. I dag og nå vil vi vurdere om det er mulig å "avvenne" den dyrebare kjørbare filen fra denne beskyttelsen.

Trinn I. Velge et "offer" og analysere det
Tilstedeværelsen av CEG, uansett versjon, kan lett oppdages ved tilstedeværelsen av en seksjon i filoverskriften .versjon og de første fire bytene i den ( 78 56 34 12 ):

Etter å ha kjennskap til denne informasjonen og gjennomsøkt Steam-biblioteket litt, falt valget mitt på HD-gjenutgivelsen av den legendariske Mytologiens tidsalder med prefiks " Utvidet utgave". Etter at nedlastingen er fullført, etter å ha ventet et par sekunder på at CEG skal signere den kjørbare filen, åpner vi den i debuggeren vår, i mitt tilfelle i x64dbg. Å ja, det er verdt å merke seg at andre CEG bruker noe anti-debugging verktøy, så vi bruker ScyllaHide-pluginet med følgende innstillinger:

Så, etter å ha åpnet den kjørbare filen, ser vi at den ikke er dekket av tredjepartspakkere, så vi kan trygt gå videre til det andre trinnet.

Trinn II. Debriefing
I absolutt enhver versjon av CEG er det én funksjon som utfører en generell beregning av de nødvendige verdiene. Det ser slik ut:

Når vi vet dette, setter vi et bruddpunkt enten på instruksjonene
mov eax, dword ptr ds:
,
eller følgende:
mov dword ptr ds:,eax
:

Klikk " Løpe" (F9) og vi ser at bruddpunktet fungerte! "Og hva ga dette oss?" - spør du, svarer jeg: den nøyaktige verdien av EAX i bufferen. Du kan bekrefte dette ved å se i høyre kolonne overfor fanen " prosessor":

Som du kan se av bildet, fikk vi verdien EDB88320. La oss kopiere det til utklippstavlen og gå videre. Klikk " Tråkke over" (F8) to ganger og vi befinner oss inne i en av funksjonene som brukes av CEG. Og på dette stadiet er det verdt å si noen ord om eksisterende typer slike funksjoner. Faktisk kan det være tre typer totalt:

1 . Funksjoner med konstant verdi (Konstant) - returner en konstant verdi som alltid vil være den samme. Lappet som:
mov eax,<значение>ret
;
2 . Funksjoner med tilfeldig verdi (Tilfeldig) - returner en hvilken som helst heltallsverdi. Lappet som:
mov eax,<значение>ret
(brukes kun på de nyeste versjonene av CEG);
3 . Beskyttende funksjoner (Beskytte) - er en peker som fører til den sanne funksjonen Patched som:
jmp<адрес>
.

La oss nå gå tilbake til spillet vårt. Vi er inne i ønsket funksjon og vi har riktig verdi i bufferen. Nå må vi definere typen av funksjonen vår. Ved å rulle ned et par instruksjoner kan vi se at instruksjonen er brukt
lea eax, dword ptr ds
:

Og dette kan bare bety én ting - vi har å gjøre med en funksjon som returnerer en konstant verdi. Generelt bør du huske at hvis du er i bufferen EAX det er verdier som: EDB88320, 60 , 11 , 5 , 3f osv., så vil det umiddelbart være klart at funksjonen som bruker denne verdien vil være konstant. Hvorfor? Fordi dette er "velkjente" CEG konstante verdier, vil de identisk på hvilken som helst versjon av CEG. Derfor går vi helt til begynnelsen av funksjonen og retter den ved å endre til
mov eax, EDB88320
ret
:

Så hva er neste? Og så gjentar vi alt igjen (selvfølgelig med samme bruddpunkt på funksjonen som beregner verdiene) til spillet starter (Profit!), som betyr at vi har bestått alle CEG-sjekkene. Alle?! Vel, la oss se. Vi lagrer filen med oppdateringene og prøver å starte den på en annen PC (som spillet allerede er lastet ned på). Og så... bummer. Spillet vil ikke starte! Å ja, vi glemte en viktig detalj til! Faktum er at CEG, som nevnt i den første artikkelen, bruker såkalte filsjekker. Ved å åpne feilsøkeren igjen, kan vi enkelt oppdage disse sjekkene ved tilstedeværelsen av karakteristiske funksjoner til den bemerkelsesverdige WinAPI: GetFileInformationByHandle , CreateFileW , OpenFileById , StringFromGUID2 , RegOpenKeyExW , Systemfunksjon036 Og lstrcmpiW . I spillet vårt er det bare én slik sjekk, du kan finne den umiddelbart ved å skrive GetFileInformationByHandleå søke " Referanser":

La oss gå til begynnelsen og se etter funksjonen som kaller denne sjekken ( RMB -> Finn referanser -> Til valgt adresse(r), eller en hurtigtast CTRL+R). Det vil se slik ut:

Vel, la oss gjøre det! Selv om dette kan gjøres på en mer sofistikert måte, vil vi gjøre det enklere ved å bruke
mov eax, 1 ret


Vi lagrer resultatet av arbeidet og tester det en gang til, og herregud, spillet ble lansert på en annen Steam-konto og på en annen PC!

Trinn III. Fullstendig frakobling av spillet fra Steam (Yarr! Edition)
Selvfølgelig, etter gleden mottatt, ønsket jeg mer ekstremsport. Hva om jeg bare vil spille med en venn lokalt uten Steam som i gamle dager? Vel, ingen spørsmål. For å gjøre dette lastet jeg ned en utmerket Steam-emulator med støtte for delvis overlegg (!) kalt SmartSteamEmu. Etter å ha satt det opp, startet jeg spillet uten Steam aktivert. Og hva ser jeg - en fil er opprettet *.STEAMSTART og spillet hang i prosessene. Etter å ha tenkt i rundt tretti sekunder, startet spillet endelig og fungerte skikkelig. Men hvorfor? Vi ser ut til å ha gjort alt, ikke sant? Ja, det er sant, men vi glemte en liten detalj. Saken er at denne hendelsesfilen opprettes når Steam-prosessen ikke kjører og er i hovedsak den siste mikrosjekken. Vel, la oss åpne feilsøkeren for tredje gang og se etter alle funksjonene med CreateFileA. Uten å nøle setter vi bruddpunkter på alle funksjoner (i dette tilfellet er det bare to av dem). Når du startet spillet, fungerte bruddpunktet:

DAMPSTART, vi sees! Så, for å få slutt på denne misforståelsen, endre bare den øverste JE til JNZ eller JMP:

Vi lagrer oppdateringen, prøver å starte spillet igjen uten Steam, og krysser fingrene. Og voila - spillet ble lansert i løpet av sekunder! Vi gjorde dette mot deg C.E.G., tilgi oss.

Faktisk konklusjonen
Fant CEG i spillet Age of Mythology: Extended Edition var ikke vanskelig. Det var nei Beskytte, eller Tilfeldig funksjoner, bare én Konstant, noe som i stor grad forenklet oppgaven. Også i dette spillet var det ingen småsjekker, i form av de gode gamle CRC eller de siste sjekkene Prosessor-ID eller harddiskens serienummer.
I fremtiden håper jeg at jeg skal klare å mestre disse to nye testene og skrive en ny artikkel, men foreløpig - ses vi snart!