Portál AbcLinuxu, 6. května 2025 01:11

DragonAge

14.11.2010 00:21 | Přečteno: 1868× | Jiné | poslední úprava: 14.11.2010 16:22

Tak už jsem tu párkrát prohodil řeč o tom, jak si jen tak z nudy programuju kravinky okolo DragonAge Origins.

Tak už mi ty kravinky čtou ERF soubory (což jsou takové jednoduché archivy), podporuje to i ERF v2.2 (šifrované blowfishem). O své zkušenosti jsem se podělil s komunitou (ode mě je pouze sekce "File Format (version 2.2)") - schválně, za jak dlouho to promažou :-)

Narychlo tedy patlám takový jednoduchý editor ERF souborů, který zatím není moc použitelný - pouze otevírá soubory hardcodované ve zdrojáku, před drag & drop umí přidat soubory do seznamu. Teď jdu spát, ale zítra dodělám ukládání včetně možnosti šifrování (zachování, odebrání, změna klíče). Je tam připraven takový jednoduchý lámač hesel, co za půl minuty najde heslo k ERF archivu, ale nevím, jestli to tam nechat. Asi tam dám varování, že používat jen na své soubory (jako na tý wiki).

No, pak nastudovat/prozkoumat dalších kýbl formátů, co DragonAge používá (ten skriptovací jazyk kompilovanej do bytekódu bude oříšek), možná pár dalších jednoduchých toolů (prostě nějaký malý subset toho, co zvládne oficiální DragonAge Toolset (ale samozřejmě 64bit :-)) Jinak samozřejmě optimalizuju pro x86-64, úmyslně předpokládám velikost void* 8B, velikost long 8B, používám spoustu x86-64 assembleru, apod... (vtip).

Momentálně tam mám věci na MD5 ukradený z glib a optimalizovaný pro hashování 8B klíče (:-)), aby bruteforce byl co nejrychlejší, musím pak ale napsat vlastní, abych to mohl vydat pod nějakou slušnou licencí. Asi změním název (jak to licence požaduje) a přidám dodatek o zákazu používání na 32-bit systémech. (Teda né že by to někdo někdy chtěl použít, jak se znám, tak to nikdy nedodělám :-))

No a co pak. Pak bych si představoval (až nastuduju ty formáty a upatlám nějaký základy), že by se ozval nějakej machr, co by měl zájem doprogramovat zbytech enginu, abych si konečně zahrál DragonAge (BTW spáchal jsem hřích, do linuxu jsem nainstaloval 32-bit wine, abych nainstaloval DragonAge, po instalaci jsem to pak zase smazal, celej jsem se z toho osypal :-))

       

Hodnocení: 100 %

        špatnédobré        

Obrázky

DragonAge, obrázek 1 DragonAge, obrázek 2

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

Max avatar 14.11.2010 03:34 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: DragonAge
Odpovědět | Sbalit | Link | Blokovat | Admin
A jak jsi vlastně dopadl s tím vypalováním? To už jsi zabalil definitivně?
Zdar Max
Měl jsem sen ... :(
Jardík avatar 14.11.2010 12:23 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: DragonAge
No od tý doby, co jsem zjistil, že to v linuxu nejde, tak mě to přestalo bavit :-( Až ten přístup k mechanice bude za něco stát (tj. neblokující open() bude opravdu neblokující, příslušná ioctl() budou přerušitelná signálem, tak jak mají, nebudou existovat tři naprosto se nevylučující přístupy k mechanice s možností exkluzivního přístupu, tak jsem ochoten v něm pokračovat. Do té doby by to byl stejný bastl, jako ostatní vypalovací programy pro linux, co něco předpokládají a fungují, jen když je to pravda (i když je to většinu času pro většinu uživatelů, ale je tu pořád šance podělávání z pitomejch a naprosto zbytečnejch důvodů).
Věřím v jednoho Boha.
14.11.2010 13:15 luky
Rozbalit Rozbalit vše Re: DragonAge
Jaky neblokujici open jste myslel? open() je neblokujici jen zhlediska zamykani, jinak je open blokujici, alespon podle toho, co rika man.
Jardík avatar 14.11.2010 16:21 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: DragonAge
O_NONBLOCK: When possible, the file is opened in nonblocking mode. Neither the open() nor any subsequent operations ... will cause the calling process to wait
Jó, no. Bohužel tohle je mi k ničemu. Každopádně bez toho bych se obešel, kdyby to opět bylo přerušitelné signálem. Zase ale otázka, jestli CD mechanika patří mezi pomalé zařízení. Podle mě ano, manuálová stránka zmiňuje za pomalé např. FIFO a open() na zařízení mechaniky může trvat např. minutu a pokud to je nepřerušitelné signálem, je to blbé.
Věřím v jednoho Boha.
robotics avatar 14.11.2010 17:44 robotics | skóre: 29 | blog: o_vsem_moznem
Rozbalit Rozbalit vše Re: DragonAge
Tak zatím to můžeš dodělat s tím že to bude používat ty blokády co sou na nic nebo co to je, moc tomu nerozumím a pak bys to případně opravil až by konečně ty blokády udělaly dobře.
Jardík avatar 14.11.2010 19:49 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: DragonAge
To bych mohl, jenže to by ztratilo účel, proč jsem to psal - když opomenu, že jsem se chtěl naučit, jak se dá vypalovat, tak právě kvůli onem nedodělkům v existujících vypalovacích programech.
Věřím v jednoho Boha.
Grunt avatar 14.11.2010 23:29 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: DragonAge
Možná si to už říkal, ale co že ti na tom vypalování v GNU vadí?
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
Jardík avatar 15.11.2010 00:29 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: DragonAge
Tak např k3b nefunguje (bez HALu si ani neškrtne, HAL nechci spouště, protože se hádá s udiskem). Brasero je parodie na vypalovací program, skoro nic tam nejde nastavit. Pořád mi vypaluje maximální rychlostí, i když nastavím nižší. Neustále po konci vypalování hází errora "médium nelze vysunout", přitom čudlíkem vysunout jde a zrovna tak i ikonkou ve filemanageru (pcmanfm2-git) - to je právě kvůli tomu debilnímu hádání se o přístup k mechanice a nemožnosti mít exkluzivní přístup (jinak by si ji brasero otevřelo, vypálilo, vysunulo a až poté zavřelo a nemusela by mu to během znovuzasunutí pro kontrolu disku ukradnout jiná aplikace (udisks).). Dále brasero nabízí zvláštní hodnoty rychlosti pálení, typu 3,6x, 4,2x (hodnoty si přesně nepamatuju, ale prostě takovýhle kraviny) - ty ale stejně nefungujou a pálí na maximum.
Věřím v jednoho Boha.
Grunt avatar 15.11.2010 00:46 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: DragonAge
Brasero je parodie na vypalovací program, skoro nic tam nejde nastavit. Pořád mi vypaluje maximální rychlostí, i když nastavím nižší. Neustále po konci vypalování hází errora "médium nelze vysunout", přitom čudlíkem vysunout jde a zrovna tak i ikonkou ve filemanageru (pcmanfm2-git) - to je právě kvůli tomu debilnímu hádání se o přístup k mechanice a nemožnosti mít exkluzivní přístup (jinak by si ji brasero otevřelo, vypálilo, vysunulo a až poté zavřelo a nemusela by mu to během znovuzasunutí pro kontrolu disku ukradnout jiná aplikace (udisks).). Dále brasero nabízí zvláštní hodnoty rychlosti pálení, typu 3,6x, 4,2x (hodnoty si přesně nepamatuju, ale prostě takovýhle kraviny) - ty ale stejně nefungujou a pálí na maximum.
Dobrý. Sorry, že jsem obtěžoval. Já budu asi nějaký vadný nebo co.
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
14.11.2010 17:52 luky
Rozbalit Rozbalit vše Re: DragonAge
Dulezita je take ta cast s navratovymi hodnotami:
EWOULDBLOCK

The O_NONBLOCK flag was specified, and an incompatible lease was held on the file (see fcntl(2)).
takze bezne chovani je, ze jako blokuji se bere jen open z hlediska zamykani. Samozrejme ruzne FS a device to muzou implementovat po svem.

Muzete si zkusit pridat podporu pro prijem signalu do jadra, vetsinou to nebyva moc problem (vizte knizku linux device drivers, volne dostupna).
Jardík avatar 14.11.2010 19:45 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: DragonAge
Ještě abych kvůli vypalovacímu programu patchoval jádro :-) Posledně jsem zkoušel najít, kam bych mohl narvat nějaký nový ioctl() na získávání exkluzivního přístupu pro mechaniku (kvůli tomu pálení) tak, aby to fungovalo pro všechny drivery (sr, sg a spol.), bohužel se nepodařilo, akorát jsem zjistil, že si to každý driver honí po svém.
Věřím v jednoho Boha.
14.11.2010 12:39 sivlk | skóre: 15 | blog: sivlk
Rozbalit Rozbalit vše Re: DragonAge
Odpovědět | Sbalit | Link | Blokovat | Admin
> možná dál parších jednoduchých toolů
Jardík avatar 14.11.2010 16:23 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: DragonAge
Opraveno. Jak se mi vůbec něco takového povedlo, je záhadou. Asi mi nefunguje mozek, jak má (ale to už všichni víme).
Věřím v jednoho Boha.
17.11.2010 00:45 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: DragonAge
Odpovědět | Sbalit | Link | Blokovat | Admin
BTW jakou máš současnou rychlost crackování MD5 teda? BTW někde jsem viděl implementaci MD5 v javaskriptu :-D.
Intel meltdown a = arr[x[0]&1]; karma | 帮帮我,我被锁在中国房
Jardík avatar 17.11.2010 00:52 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: DragonAge
Asi půl minuty na všechny možný kombinace (0-99999999) na mém starém kompu (Athlon X2 2.6 GHz). Na i7 jsem to ještě nezkoušel, tam mám linux jen ve virtualu a tam by to bylo asi pomalý.
Věřím v jednoho Boha.
17.11.2010 02:12 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: DragonAge
Tak to je docela chabé zabezpečení :-D.
Jardík avatar 17.11.2010 18:27 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: DragonAge
Kdyby tam dali písmenka, alespoň jako hex číslo, tak by to hned bylo o řád pomalejší, jenže jsou hlupani a mají tam jen desítkové číslice, teda alespoň ve všech DLC, co jsem zkoušel nezkoušel (:-)) rozšifrovat
Věřím v jednoho Boha.
Jardík avatar 17.11.2010 18:28 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: DragonAge
Jinak dal bych tam předdefinovaný seznam kódů, ale to by mohlo být považováno za špatný akt, i když, od kdy je něco špatné na tom mít v programu uloženo pár md5 součtů :-)
Věřím v jednoho Boha.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.