• Axon
    #9608
    Én is használtam hasomló eszközöket aktív programozó koromban. A legbüszkébb arra voltam, amikor a Zorro nevű programot feltörtem. Ez egy Prince of Persia mintájára készült játék volt. Simán elindult, de a billentyűzet le volt tíltva az eredeti lemez nélkül.
    Disassemblerrel átnéztem a teljes .exe állományt, majd megtaláltam a billentyűzet hívás int 60-as megszakítás kérelmeit és a hozzá tartozó letiltásokat. Nagy ravaszul két helyen is benne volt, úgyhogy nem volt elég az egyik törlése. Simán "csak" törölni kellett volna sima nop utasítások beszúrásával. Na erre persze nem volt képes a disassembler. Mivel az .exe nagyobb volt 64 kb-nál (300 fölött volt ha jól emlékszem, így semmilyen hexa editor és szövegszerkesztő nem volt hajlandó szerkeszteni, mert dos alatt még keményen létezett a 64 kbyte-os korlát.
    Ezt megoldani csak egy nagyon kacifántos (és programozói szempontból egyáltalán nem elegáns) módszerrel tudtam. Floppy lemezre mentettem az .exe filet, majd megkerestem, hogy a lemezen egészen pontosan hol helyezkednek el a törölni kívánt byte-ok. Ezután írtam egy kis programot, amely a - DOS-t megkerülve, közvetlen lemezírással - lemez adott byte-jaira, a NOP parancs hexa kódját írja. Tökéletesre sikerült a poziccionálás és át is lett írva az .exe file. Ezt simán visszamásoltam a lemezről a játék főkönyvtárába és már lehetett is játszani a Zoro-val.
    Katartikus élmény volt életem első és egyben utolsó játékprogramjának feltörése. Maga a játék egyáltalán nem tetszett, de büszkeségből végig "szenvedtem" az első pályát.