Welcome, Guest. Please login or register.


Author Topic: Trükkös védelem az EXOS-ban (Read 4304 times)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Trükkös védelem az EXOS-ban
« on: 2007.May.22. 00:30:54 »
A találkozón említettem, hogy a publikus ellenörzõ összegen kivûl van egy titkos védelme is az EXOS-nak a módosítások ellen.
Jól meg is szívatott anno :-)

Elöször is próbáljátok ki a hatását:
POKE 49022,0
Aztán próbáljátok használni a gépet (EXOS alatt, pl BASIC-ben), úgy 5-10 percig...
(Emulátor alatt is mûködik)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: Trükkös védelem az EXOS-ban
« Reply #1 on: 2007.May.22. 13:01:15 »
Na kipróbálta valaki? :-)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Trükkös védelem az EXOS-ban
« Reply #2 on: 2007.May.22. 13:34:49 »
Na kipróbálta valaki? :-)

Lefagy, mert ez a rész felülír egy "véletlenszerűen" választott változót, ha a fenti címen (BF7Eh) nem a megfelelő érték van.

Code: [Select]
00E47A  ED 5F        LD    A, R
00E47C  E6 07        AND   07
00E47E  20 17        JR    NZ, 00E497
00E480  21 6D E6     LD    HL, E66D
00E483  46           LD    B, (HL)
00E484  3A 7E BF     LD    A, (BF7E)
00E487  23           INC   HL
00E488  9E           SBC   A, (HL)
00E489  10 FC        DJNZ  00E487
00E48B  21 FD FF     LD    HL, FFFD
00E48E  96           SUB   (HL)
00E48F  28 06        JR    Z, 00E497
00E491  2A EC BF     LD    HL, (BFEC)
00E494  26 BF        LD    H, BF
00E496  35           DEC   (HL)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: Trükkös védelem az EXOS-ban
« Reply #3 on: 2007.May.22. 13:45:19 »
Lefagy, mert ez a rész felülír egy "véletlenszerûen" választott változót, ha a fenti címen (BF7Eh) nem a megfelelõ érték van.
Lelötted a poént :-)
Így van, igen változatos jelenségek történnek, majd totális fagyi szokott a vége lenni...
Mivel az ellenörzõ összeget is beleszámolja, így bármit módosítasz a ROM-on, már mûködésbe lép a trükk...
És anno nem volt EP emulátor szuper debuggerrel :-)

Amúgy a nullás szegmens, csak úgy tök mellékesen tölti fel ezt a változót:
Code: [Select]
  A  most  következõ rész 4 rendszerváltozót hoz létre és állít

  alapállapotba.

 

  C125  3E02      LD    A,002h        A=2 Alapérték

  C127  32E8BF    LD    (0BFE8h),A    (LV_TAPE)=2 40mV

  C12A  EEA5      XOR   0A5h          10100101b maszk

  C12C  327EBF    LD    (0BF7Eh),A    (BF7Eh)=A7h

  C12F  EEA8      XOR   0A8h          10101000b maszk

  C131  32D5BF    LD    (0BFD5h),A    (BAUD_SER)=0Fh Alapérték

                                      Átviteli sebesség

                                      9600 bit/sec

  C134  AF        XOR   A             A=0

  C135  3D        DEC   A             Z=0 'ROM1-es reset rutin

                                      kell' jelzése

                                      A=255 Alapérték

  C136  32E7BF    LD    (0BFE7h),A    (PROTECT)=255 Védett