User Tag List

Показано с 1 по 10 из 11

Тема: Нужна помощь в расксорке части кода (ПЗУ atm turbo2)

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    05.04.2015
    Адрес
    г. Владивосток
    Сообщений
    31
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А вот еще часть кода- технический дизассемблер ПЗУ ATM TURBO1. В нем, как и в ATM 2 с версией прошивки 6.4 часть информации (та что относится к cpm) заксорена. И алгоритмы похоже что одинаковые. Так вот я как раз и хочу расшифровать этот код и собрать нормальное ПЗУ. Кроме меня я так понимаю это мало кому интересно, а мои познания в ассемблере на двоечку :-)
    Автор комментариев к этой части кода не я.
    Код:
    ;- Блок процедур расксорки -
    l1fba   ld bc,#1b0f
    l1fbd   push bc
    ;Вызов последующих 2-х процедур в итоге приводит к возникновению
    ;неизвестного числа в HL
            call l1fff     ;вызов процедуры, формирующей неизвестное число в #5F74
            call l2035     ;вызов процедуры, формирующей неизвестное число в HL
            defb #2E,#03,#01,#01,#82,#00
            ld c,#00
            exx
            pop bc
            ld de,#d400    ;расксорка блока по адресу #22B3
            ld hl,l22b3    ;для того, чтобы его расксорить нужно всего-лишь
    l1fd4   ld a,(hl)      ;знать код расксорки в HL, а это 65536 вариантов
            exx
            xor c
            xor l
            ld c,a
            add hl,hl
            jr nc,l1fdd
            inc hl
    l1fdd   exx
            ld (de),a
            inc de
            cpi
            jp pe,l1fd4
            ret
    Если за ключ принять неизвестное число в HL (пусть будет KEY), обозначить искомый байт- XX, предыдущий расшифрованный-ZZ, а байт для дешифровки УУ получается следующая картина:
    XX=((УУ)XOR(ZZ))XOR(n*KEY) где n увеличивается с каждым циклом на 1.
    Ничего я не упустил?
    Если я прав, то в комментариях к коду упоминание о 65 тыс вариантов не верно тк из HL используется только L?
    Последний раз редактировалось Andrey_K; 09.06.2015 в 04:06.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Нужна помощь
    от sevol в разделе Игры
    Ответов: 1
    Последнее: 29.07.2010, 00:00
  2. Нужна помощь
    от VNN_KCS в разделе Программирование
    Ответов: 78
    Последнее: 26.06.2010, 21:38
  3. Нужна помощь!!!!!
    от Alegator в разделе Несортированное железо
    Ответов: 2
    Последнее: 30.05.2010, 15:44
  4. нужна помощь!!
    от Subre Wulf в разделе Разный софт
    Ответов: 0
    Последнее: 15.11.2009, 23:32
  5. Помощь с оптимизацией кода
    от moroz1999 в разделе Программирование
    Ответов: 7
    Последнее: 02.06.2008, 14:19

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •