Andrey_K, бро, давай я тебя процитирую
:-)
вот где листинг вот этих двух процедур?
call l1fff ;вызов процедуры, формирующей неизвестное число в #5F74
call l2035 ;вызов процедуры, формирующей неизвестное число в HL
Листинг этих процедур я не стал приводить тут умышленно, чтобы акцентировать внимание только лишь на процедуре расксорки. По большому счету он ничего не даст, так как ключик получается аппаратно, по прерываниям микросхемы ХЛ8 (так называемый z сигнал, на котором и построена вся защита от копирования платы и который формируется крайне хитрым способом)
вот это что такое?
defb #2E,#03,#01,#01,#82,#00
косяк или данные передаются через стек?
Что это, если честно, я не знаю. Листинг с комментариями не мой...
А сам я пока не дошел, что это...
Так же не понял зачем в #5F74 формируется неизвестное число,- тут вроде не используется, может где в другом месте...
Код:
;- Блок процедур расксорки -
l1fba ld bc,#1b0f
l1fbd push bc
;Вызов последующих 2-х процедур в итоге приводит к возникновению
;неизвестного числа в HL
call l1fff ;вызов процедуры, формирующей неизвестное число в #5F74
call l2035 ;вызов процедуры, формирующей неизвестное число в HL
defb #2E,#03,#01,#01,#82,#00
;ld l,03 #2e03
;ld bc #8201 #010182
;nop #00
;скорее всего данные для ключа который формируется именно в l2035
ld c,#00 ;зануляем ключ С
;в HL вторая часть ключа
exx
pop bc ;количество байтов на расксорку - где задается?
ld de,#d400 ;адрес куда расксориваем блок
ld hl,l22b3 ;адрес откуда расксориваем блок
decr_l0 ld a,(hl) ;берем зашифрованные данные
exx
xor c
xor l
ld c,a
add hl,hl
jr nc,decr_1
inc hl
decr_1
exx
ld (de),a ;сохраняем расшифрованные данные
inc de
cpi
jp pe,decr_l0 ;крутим цикл пока в BC не будет 0
ret
короче данных недостаточно для расшифровки