нужна помашь по ARM

Тема в разделе "WASM.ELECTRONICS", создана пользователем Azer, 23 ноя 2011.

  1. Azer

    Azer New Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2011
    Сообщения:
    15
    это прошивка каторый зашифровано и рашифровается в памято вот данный файл http://zalil.ru/32236530 расшифровка пройсходит из этих функции CE04 переходит D4D8 - D4D0 - D384 - D354 вот только ни как не могу найти ключи тоесть таблицы 256 байт и 64 байта. расшифровка пройсходит по XOR 64 байта и по его значению пойск по 256 байтному таблице
     
  2. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Ну узнал я что это для принтера Самсунг. Хочешь картриджи перезаправленные юзать. Откуда ты адреса взял для команд и тип АРМ как подобрал? Действительно только для ARMB более менее IDA разумное выдает, но адреса все равно подобрать не мог, чтобы переходы внутри оставались. Почему именно АРМ?
     
  3. Azer

    Azer New Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2011
    Сообщения:
    15
    проц типа ARM
     
  4. Azer

    Azer New Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2011
    Сообщения:
    15
    Код (Text):
    1. AND     R2, R8, #0x3F
    2. LDRB    R3, [SP,R2]     ; Load from Memory
    3. LDRB    R2, [R7],#1     ; Load from Memory
    4. ADD     R1, R1, #1      ; Rd = Op1 + Op2
    5. EOR     R2, R3, R2      ; Rd = Op1 ^ Op2
    6. AND     R2, R2, #0xFF   ; Rd = Op1 & Op2
    7. ADD     R3, SP, #0x15C+var_11C ; Rd = Op1 + Op2
    8. LDRB    R2, [R3,R2]     ; Load from Memory
    9. STRB    R2, [R5,R8]     ; Store to Memory
    10. ADD     R8, R8, #1      ; Rd = Op1 + Op2
    вот алгоритм шифрования
     
  5. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Azer
    У вас IDA какой версии? В 5.5 у меня ARM, ARM 710a, ARMB и два xScale.
    У них разные опкоды. Почему вы думаете у вас ARMB, а не xScaleB например.
    Есть и другие АРМы.
    А все равно вопрос: вы точно уверены что типа АРМ?
     
  6. Azer

    Azer New Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2011
    Сообщения:
    15
    да это ARM http://zalil.ru/32313489
     
  7. MSL

    MSL New Member

    Публикаций:
    0
    Регистрация:
    12 май 2011
    Сообщения:
    10
    Это, насколько я понял, попытка понять автором алго так называемого "шифрования" кернела в прошивках принтеров. ARM9EJ-S там ядро обычно было. Берется байт и с помошью таблицы и ксора преобразуется-)
     
  8. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    MSL Мы уже в личке это обсуждаем. Алгоритм вытащили, правда из другой программы. Но таблица завязана на саму прошивку и таблиц теперь две. Мне лень активно ковырять, а ТС очень медленно движется.
     
  9. MSL

    MSL New Member

    Публикаций:
    0
    Регистрация:
    12 май 2011
    Сообщения:
    10
    valterg да, 0х100 значений + 0x40 ( & 0x3F ) на что ксорить. 0x140 байт этих это одни и те же значения во всех старых прошивках. В новых они заметно извратили этот алгоритм и используют разные значения от прошивки к прошивке зачем-то. Просто, как я понял, человек хочет узнать как патчат прошивки эмулируя наличие crum, но понять и повторить это на других прошивках с таких уровнем знания ARM нереально, хотя кто знает зачем оно все, ибо сейчас кто это только не делает-))
     
  10. yashechka

    yashechka Ростовский фанат Нарвахи

    Публикаций:
    90
    Регистрация:
    2 янв 2012
    Сообщения:
    1.449
    Адрес:
    Россия
    Бррррр, у меня шерсть дыбом от этих опкодово. Не хочу изучать его ARM
     
  11. MSL

    MSL New Member

    Публикаций:
    0
    Регистрация:
    12 май 2011
    Сообщения:
    10
    yashechka Как по мне, так для меня логичней асм арма наоброт-)) Если ты про пост #15, так это мусор а не код. Еще желательно конечно указывать адрес загрузки кода в иде и не забывать про thumb режим.
     
  12. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    MSL
    Я загружал эту прошивку и в AVR-отладчик и в Keil. Но увы она делает много обращений к аппаратуре, а в отличие от МИПС адреса на АРМ не стандартизованы, а в имеющехся инклюдах на разное железо они не совпадают по смыслу. Вместо UART - DMA Прошивка состоит из двух кусков: мини-загрузчик и собственно программа расшифровки и загрузки ядра.
    Мини-загрузчик в конце прыгает на непонятный адрес. Вход в вторую часть тоже ясно где, но все равно "допрыгать" до расшифровки не удается. Теперь конечно можно найти все это, но пока смысла нет - алгоритм прозрачный, но как его обратить? А вот на будущее придется найти алгоритм в прошивке, чтобы новую версию "опознать", когда разрабы почешутся.
    Это кстати , уже 3-я модификация защиты :)
     
  13. MSL

    MSL New Member

    Публикаций:
    0
    Регистрация:
    12 май 2011
    Сообщения:
    10
    valterg

    не понял про AVR-) Адреса не стандартизированы конечно, каждый производитель делает как ему удобней, у каждого свои адреса, логика работы регистров тех же уарт, нанд и пр. В софтовом симулятре, тем более для другого типа процессора с тем же ядром по-мему нереально понять логику работы железа - это надо "шагать" на живом железе в отладчике.

    3-я в смысле вариантов "шифрования" применяемых в прошивках? даже интересно, но глянуть не могу - т.к. залитых файлов нет. Я делал шифровку/расшифровку для 2-х типов только...
     
  14. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Ну 3 с учетом варианта, когда ядро просто паковали zlib-ом. В алгоритме стоит какая-то проверка и ветвление, но т.к. у меня есть только один вариант прошивки, то оценить число разных алгоритмов не могу. Точнее у меня есть и другие варианты прошивок, но я их не смотрел.
     
  15. Azer

    Azer New Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2011
    Сообщения:
    15
    там тогда было 1 зашита это по XOR 2зашита zlib-ом для 1 зашиты таблица была открытой а сейчас его сабирают из самаго ядра
     
  16. MSL

    MSL New Member

    Публикаций:
    0
    Регистрация:
    12 май 2011
    Сообщения:
    10
    zlib это не защита а просто упаковка. Под 2-м типом защиты я и имел в виду, что таблицы строят по определенному алго сначала до распаковки. Щас гляну прошивку - не прочитал пм сразу...

    upd. все там так же. распаковал кернел и залил, смотри пм.
     
  17. Azer

    Azer New Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2011
    Сообщения:
    15
    а можно ли изменить версию прошивки