DATA 20, 21 ,22, 23, 16, 17, 18, 19 DATA 28, 29, 30, 31, 24, 25, 26, 27 DATA 4, 5, 6, 7, 0, 1, 2, 3 DATA 12, 13, 14, 15, 8, 9, 10 ,11 DIM cod(32) FOR i = 0 TO 31 READ cod(i) NEXT i DATA &HA5, &HA5, &HA5, &HA5, &HA1, &HA1, &HA1, &HA1, &HA5, &HA5, &HA5, &HA5, &HA1, &HA1, &HA1, &HA1 DATA &HB5, &HB5, &HB5, &HB5, &HB1, &HB1, &HB1, &HB1, &HB5, &HB5, &HB5, &HB5, &HB1, &HB1, &HB1, &HB1 DATA &HA5, &HA5, &HA5, &HA5, &HA1, &HA1, &HA1, &HA1, &HA5, &HA5, &HA5, &HA5, &HA1, &HA1, &HA1, &HA1 DATA &HB5, &HB5, &HB5, &HB5, &HB1, &HB1, &HB1, &HB1, &HB5, &HB5, &HB5, &HB5, &HB1, &HB1, &HB1, &HB1 DATA &HE5, &HE5, &HE5, &HE5, &HE1, &HE1, &HE1, &HE1, &HE5, &HE5, &HE5, &HE5, &HE1, &HE1, &HE1, &HE1 DATA &HF5, &HF5, &HF5, &HF5, &HF1, &HF1, &HF1, &HF1, &HF5, &HF5, &HF5, &HF5, &HF1, &HF1, &HF1, &HF1 DATA &HE5, &HE5, &HE5, &HE5, &HE1, &HE1, &HE1, &HE1, &HE5, &HE5, &HE5, &HE5, &HE1, &HE1, &HE1, &HE1 DATA &HF5, &HF5, &HF5, &HF5, &HF1, &HF1, &HF1, &HF1, &HF5, &HF5, &HF5, &HF5, &HF1, &HF1, &HF1, &HF1 DIM var(128) FOR i = 0 TO 127 READ var(i) NEXT i 10 INPUT "Use decoding method 1 (XOR 0xA5) or 2 (128 byte key)? ", ans IF ans = 1 GOTO 100 IF ans = 2 GOTO 200 GOTO 10 REM Normal encoding / decoding: REM 1. xor everything with 0xA5 REM 2. in blocks of 8 bytes swap the 1st 4 bytes with the last 4 bytes REM 3. in blocks of 32 bytes swap the 1st 16 bytes with the last 16 bytes 100 OPEN "dvdrom.bin" FOR RANDOM AS #1 LEN = 32 OPEN "_dvdrom.bin" FOR OUTPUT AS #2 FIELD #1, 32 AS block$ DIM temp$(32) WHILE NOT EOF(1) GET #1 IF EOF(1) THEN GOTO 150 FOR i = 0 TO 31 temp$(i) = MID$(block$, i + 1, 1) NEXT i FOR i = 0 TO 31 dat$ = CHR$(&HA5 XOR ASC(temp$(cod(i)))) PRINT #2, dat$; NEXT i 150 WEND CLOSE END REM But Hyundai DVX-&HB152U firmware it's different, and ditto for REM Evertone DVX-511S / DVX-510S, Denver DVU1008MK2 REM xor everything with 128 byte key 200 idx = 0 OPEN "dvdrom.bin" FOR RANDOM AS #1 LEN = 1 OPEN "_dvdrom.bin" FOR OUTPUT AS #2 FIELD #1, 1 AS A$ WHILE NOT EOF(1) GET #1 IF EOF(1) THEN GOTO 250 PRINT #2, CHR$(var(idx) XOR ASC(A$)); idx = (idx + 1) MOD 128 250 WEND CLOSE END