Stránka 1 z 1

Jak fungují hry?

Napsal: 22 kvě 2010 22:54
od Darthy
Nejde mi do hlavy jak fungují hry, když se podívám například na Strongholda, který má ve složce jen svuj exe soubor a par dll knihoven a v adresářích je pak obsaženo jen grafické rozhraní hry. Jak to spolu komunikuje, jak to programovali autoři? Když disassembluju exe nebo dynamicke knihovny tak je tam odkaz jen na par jinych dll, a pak nespočet stránek assembler kodu..to přece nemohli programovat v tom, ani programator se nemuže vyznat v tom jaka instrukce je na jake adrese v 50MB exe souboru... Když analyzuju tyto soubory dojdu k závěru že jsou tvořeny v Microsoft Visual C++, ale kde je ten kod C++, jak se k němu můžu dostat?

Re: Jak fungují hry?

Napsal: 22 kvě 2010 23:36
od karlos
Promiň, ale tvému dotazu se musím smát. Staň se programátorem her a pak se budeš snažit své programy zneprůchodnit pro každého joudu, který by chtěl kopírovat, nebo hackovat tvou práci... :D

Re: Jak fungují hry?

Napsal: 23 kvě 2010 00:27
od Darthy
Dobře, ale nějaká možnost musí existovat ne? Reversní inženýrství přeci funguje všude. Když to šlo zkompilovat, musí to jít i dekompilovat. Přeci se něčeho takového využívá i v crackingu, taky se cracker dostaně nějak do programu a odstraní ochranu. Proč to nejde i v tomhle případě?

Re: Jak fungují hry?

Napsal: 23 kvě 2010 00:40
od memphisto
A neříkají ti něco pojmy jako autorská práva, EULA, atd?

Re: Jak fungují hry?

Napsal: 23 kvě 2010 09:21
od skunkicz
Darthy píše: Jak to spolu komunikuje, jak to programovali autoři?to přece nemohli programovat v tom, ani programator se nemuže vyznat v tom jaka instrukce je na jake adrese v 50MB exe souboru... Když analyzuju tyto soubory dojdu k závěru že jsou tvořeny v Microsoft Visual C++, ale kde je ten kod C++, jak se k němu můžu dostat?


ty vole...pardon za vulgarismus...to je síla..tak sem se nezasmál od dob, kdy sem viděl tohle video:


btw..ten kod bude někde ve složce C:\DaS\<TVURCE PROGRAMU>\Dokumenty\MSVS\Projects\<NAZEV HRY>\ na PC toho kdo tu hru vtyvořil......ale pozor.....jeho PC je určitě chraněn firewallem a minimálně dvěma proxy servery...... :D

dostat se k němu můžeš, ale jen čistě teoreticky
    SW cesta - vytracuj si IP adresu toho týpka co ten program udělal - napiš červíka kterej si ten kód z jeho PC stáhne (za předpokladu že zbouráš firewall) - >> a pak si ten kód nech tím "viříkem" poslat
    HW cesta - zjisti si adresu tejpka, co ten program napsal - zajeď k němu a pod pohrůžkou fyzickým trestem požaduj vydání příslušného kódu C++

SW cesta vyžaduje precizní hackerské schopnosti
HW cesta vyžaduje umění hledat v telefonním seznamu + zbraň minimálně kalibru 9MM - pro zdárné splnění mise doporučím tuhle

:D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D

Re: Jak fungují hry?

Napsal: 23 kvě 2010 09:58
od Darthy
No tak fajn kluci se zasmali, ale mohli ste si to odpustit. Stačilo napsat že to je prostě nemožné kvuli tomu a tomu... Třeba tohle jsem zrovna nevěděl. Ale bavit se takhle na učet nevědomosti ostatnich. Stejně jsem se pořád nedozvěděl princip fuknce her (alespon obecný), to jsou tolik rozdílné?

Re: Jak fungují hry?

Napsal: 23 kvě 2010 11:14
od skunkicz
Princip ok.....hooooodne by voko.....a hooodne laicky

1. kazda hra obsahuje EXE soubor (pokud neni flashova - swf, java - jar a podobne). Tento EXE soubor je spousteci - tj obsahuje informace nezbytne pro spusteni a inicializaci hry a zaroven tvori CORE - JADRO hry.
2. Na tomto jadru hry jsou definovany vsechny prostredky ktere bude hra pouzivat (tj napriklad OpenGl DirectX + IO zarizeni atd - castecne neplati pro hry pouzivajici .NET Framework)
3. Dale pro hru je treba nejaky ten level design - je nekolik zpusobu jak se do her zahrnuje
- single EXE - vse je ZAPAKOVANO v jednom EXE a nic dalsiho pro beh hry nepotrebujes
- externi soubory s grafikou (JPG, TGA atd) + zbytek v EXE (tj informace o tom kam kterou texturu postavit a co s ni delat)
- dll soubory (obdobne vecicka) - urcita cast grafiky je zakompilovana v nich + informace co s nimi delat.....snadnejsi sprava
- specialni soubory pro graficke textury + data (pak, VTF, VTM, bin, data) - jsou zkomprimovane...pri spusteni je EXE rozbali a cte z nich data...


- exe soubory (vetsina se chrani) - ruznymi figlemi - HASH.....kryptovani promennych......celkove sifrovani exe ktere brani dekompilaci......... + EULA + pripadne GNU/GPL licence ---viz napriklad OPEN SOURCE (tam bys mel zabrousit pokud chces skoumat kody od tvurcu)

btw na toto tema by se dala vest NEVERENDING diskuse :D

Re: Jak fungují hry?  Vyřešeno

Napsal: 23 kvě 2010 13:49
od Darthy
Díky vesměs mi stačí co si tu popsal, tak nějak jsem si představoval odpověď. Škoda jen že se to neobešlo bez těch posměšků. Nevím, třeba jsem se na začátku nevyjádřil dost jasně a měl jsem větu "Jak fungují hry" lépe rozvinout než se jen zmínit o otázce jak spolu soubory v adresáři hry komunikují.

Re: Jak fungují hry?

Napsal: 23 kvě 2010 14:10
od Myloš
memphisto píše:A neříkají ti něco pojmy jako autorská práva, EULA, atd?

Pokud jde o autorská práva, nejsem si jistý, jestli je zákonem zakázáno diassemblovat nebo jinak dekompilovat hry (doplňuji: teď jsem se podíval pozorněji na citaci, kterou níže odkazuji – takže žádný zákon toto nezakazuje). Pokud jde o licenci EULA, mám dojem, že jakékoli ustanovení, které nemá oporu v českých zákonech, je v ČR neplatné – smlouva může něco navíc povolit, ale nesmí zákazníka omezovat nad rámec zákona. Viz http://www.pc-help.cz/viewtopic.php?f=62&t=38761

Darthy:
Doplňuji – můžeš zkusit program Resource Hacker.

Re: Jak fungují hry?

Napsal: 23 kvě 2010 15:54
od Darthy
Díky, Hexa editory jsem již zkoušel, ale povětšinou jsou to nečitelné nesmysly. Jediné co dává "smysl" je assembler. Ale v tom si stejně moc nepočtu. Takže tak nějak pro mě tohle zkoumání her konči. :)

Re: Jak fungují hry?

Napsal: 23 kvě 2010 16:53
od skunkicz
Darthy píše:Díky vesměs mi stačí co si tu popsal, tak nějak jsem si představoval odpověď. Škoda jen že se to neobešlo bez těch posměšků. Nevím, třeba jsem se na začátku nevyjádřil dost jasně a měl jsem větu "Jak fungují hry" lépe rozvinout než se jen zmínit o otázce jak spolu soubory v adresáři hry komunikují.

věz že prvni odpověď jsem napsal v dobré víře a v humorném rozmaru - nebyl tam žádný úmysl tě jakkoliv diskreditovat či se ti posmívat (to bych nikdy neudělal, neboť i já jsem jaksi začínal s It obecně a taky jsem kolikrát nebyl uplne pochopen) - pokud jsem tedy překročil (nevědomky) mez tak promiň

Re: Jak fungují hry?

Napsal: 23 kvě 2010 16:58
od skunkicz
Pokud jde o autorská práva, nejsem si jistý, jestli je zákonem zakázáno diassemblovat nebo jinak dekompilovat hry (doplňuji: teď jsem se podíval pozorněji na citaci, kterou níže odkazuji – takže žádný zákon toto nezakazuje). Pokud jde o licenci EULA, mám dojem, že jakékoli ustanovení, které nemá oporu v českých zákonech, je v ČR neplatné – smlouva může něco navíc povolit, ale nesmí zákazníka omezovat nad rámec zákona. Viz viewtopic.php?f=62&t=38761

vše co pišeš je i neni pravda.....dekompilace jako takvoá zakázaná neni - ale pokud dojde k dekompilaci - tak se da předpokladat že ta dana osoba to provedla s určitým záměrem NĚCO kopírovat nebo se NĚČÍM inspirovat - pokud tato osoba následně to NĚCO (know-how, útržky kódu či něco v tom smyslu) použila pro svůj prospěch (implementace do vlastní aplikace >> prodej) tak by původnímu tvůrci daného segmentu kódu vznikla škoda kterou by podle zákona mohl vymáhat soudně + samozřejme existuje cosi jako copyright