Forum

Z PMD 85 Infoserver

:: späť na začiatok témy :: späť na zoznam tém ::
Správa
Autor  Autor ::  Jakub
Poslaná  Poslaná ::  03.03.2020 14:57:41
Predmet  Predmet ::  Re: PMD 85-2 a PMD 32-SD
Napadlo me (a zkusil jsem na PMD 85-2 v emulatoru), ze misto Runnera a dodavani INF souboru by slo ty .COD soubory zapackovat primo do .COM a nechat je nahravat primo Mikrosem. Binarka bude mit po vzoru prvnich pocitacovych viru prvni tri byty prepsane instrukci JMP za konec puvodniho souboru. Tam bude malicky unpacker a puvodnich 256+3 bytu. Unpacker tech 256+3 bytu prekopiruje na adresu 0 (pokud se nahrava na 0) a nakonec tam i skoci.

Jako PoC jsem to zkusil s Kvadrem a funguje to skvele, mozna jen diky tomu, ze Kvadro neni moc velke (jen nejakych 19K).

U Hlipy trochu tapu, protoze se mi zda, ze je moc velka, resp. nevim, jak presne ji nahrat, kdyz pretejka 32K a manualni pokusy o nahrani pomoci GUI a debuggeru mi zatim nevysly. Jinak kdyby to ten Mikros nemohl z nejakych duvodu nahrat, napr. by byla binarka uz prilis velka (a nevesla by se spolu s Mirkosem do pameti), slo by pouzit nejaky dumyslnejsi unpacker, ktery by napr. umel puvodni payload dekomprimovat.
 
Správa
Autor  Autor ::  Roman Bórik
Poslaná  Poslaná ::  05.03.2020 19:52:26
Predmet  Predmet ::  Re: PMD 85-2 a PMD 32-SD
Väčšina "veľkých" hier, ktoré sme previedli na spustenie prostredníctvom RUNNERa, sú už spakované Quidom. Podľa potreby sa rozpakovacia rutina umiestňuje aj vedľa VRAM.
Súbor s hlavným kódom má príponu COD. V súboroch INF je vždy vidieť, kam sa súbor nahráva a odkiaľ sa hra spúšťa. Samozrejme, aj keď sa súbor nahráva od adresy 0, RUNNER to korektne pripraví tak, aby hra bežala správne. Bez RUNNERa toto ale nie je určite neprekonateľný problém. Upravený COM v sebe bude proste obsahovať presun na adresu 0.
RUNNER ale zároveň nahraje do pamäte príslušný Monitor 1 alebo 2 a inicializuje ho ešte pred spustením hry. Z toho plynie, že na PMD 85-2 nebudú fungovať hry, ktoré vyžadujú Monitor 1.
U 32 kB verzii MIKROS môže byť problém hlavne to, že nahrávaný COM súbor môže mať maximálne asi 25 kB. A to v sebe musí obsahovať už aj prípadný kód na presun z adresy 0100h na správne miesto.

HLIPA je samozrejme kapitola sama o sebe a obávam sa, že dostať to na 32 kB MIKROS asi ani nepôjde. Ale môžem sa mýliť.
 
Správa
Autor  Autor ::  dex
Poslaná  Poslaná ::  04.03.2020 22:09:02
Predmet  Predmet ::  Re: PMD 85-2 a PMD 32-SD
Začít Hlípou nebýt dobrý nápad.
Hlípa chráněná.
Hlípa dělat kontrolu obsahu paměti. Neběhat, když cizorodý kód v RAM.
 
Správa
Autor  Autor ::  Jakub
Poslaná  Poslaná ::  04.03.2020 23:32:17
Predmet  Predmet ::  Re: PMD 85-2 a PMD 32-SD
Zacal jsem Kvadrem, ktere slo upravit bez problemu.

Hlipu jsem vzal jako c. 2, ale klidne ji strcim na konec fronty. Zatim mi slo jen o to zjistit, jestli je ten pristup na PMD 85-2 pouzitelny a jestli ma pro me smysl stavet si PMD 32-SD.
 
Správa
Autor  Autor ::  dex
Poslaná  Poslaná ::  05.03.2020 08:43:18
Predmet  Predmet ::  Re: PMD 85-2 a PMD 32-SD
Fungovat to bude.
(Možná by ani nebylo třeba měnit první bajt a depack lepit na konec, ale použít normálně Quido - problém může být jen u her, které už jsou pomocí Quida packované a s otázkou, kam se vejde depackovací rutina.)

Ale zrovna Hlípa je chuťovka pro hackery. Na konec fronty a ještě dál!
:: späť na začiatok témy :: späť na zoznam tém ::