Перейти к содержимому

EN UA KZ GEO
  • Войти через Google      Вход   
  • Регистрация
Translate to English (+)

Фотография

Если не работает полное шифрование в прошивке.


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 10

#1 rizer

rizer

    Новичок

  • Пользователь
  • Pip
  • 17 сообщений
6
Пользователь
    Доп. информация [+] Доп. информация [—]

Отправлено 14 Февраль 2013 - 23:46

Если вдруг кому-то всё таки захочется включить шифрование на Life, ниже я опишу как это сделать.

Смысл в том, что раздел /data неправильно размечен, для правильного функционирования шифрования, после раздела должно оставаться 16Кб места.
Соответственно задача перебить раздел.
Источник вдохновения здесь:
http://code.google.c.../detail?id=5678
Всё ниже следующее проверялось на другой прошивке!, но ошибка и симптомы одинаковые, так что я уверен что заработает и тут.
Симптомы ошибки:
При попытке зашифроваться, появляется робот и не пропадает, хотя должен светиться всего несколько секунд.
А в логах видим следующее:
D/VoldCmdListener( 93): cryptfs enablecrypto inplace {}
E/Cryptfs ( 93): Orig filesystem overlaps crypto footer region. Cannot encrypt in place.

Вам нужно подключиться через adb shell к телефону в режиме рекавери, ну или наверное можно вводить команды прямо на телефоне, но это мучение.


В корне телефона вводим:
ls -l
# В ответ получаем список файлов,
# нас интересует "emmc@usrdata -> /dev/block/mmcblk0p5"
# т.е. /data это mmcblk0p5 блок, если вдруг номер блока будет другой, то подставляете везде другой номер
# дальше монтируем /system,для того что бы сделать архив с бекапом данных /data
/system/xbin/tar -C / -cf /sdcard/data.tar data
# бекапим и после демонтируем /data

data_dev_size=$(cat /sys/block/mmcblk0/mmcblk0p5/size)
# узнаём текущий размер /data
new_fs_size=$(( ((data_dev_size/2)-16)*1024 ))
# Убираем 16кб
/system/bin/make_ext4fs -a /data -l $new_fs_size /dev/block/mmcblk0p5
# переразмечаем и монтируем опять /data
/system/xbin/tar -C / -xf /sdcard/data.tar
# заливаем бекап обратно

Команды монтирования я не привожу, т.к. делал это через рекавери.
Всё, можно загружаться и включать шифрование.

Сообщение отредактировал rizer: 15 Февраль 2013 - 09:05




#2 Xakep

Xakep

    просто Хакер

  • Ромодел Андроид
  • PipPipPipPipPipPipPipPip
  • 2 835 сообщений
2 654
Божественная репутация
    Доп. информация [+] Доп. информация [—]

Отправлено 15 Февраль 2013 - 08:44

Познавательно.
"О, сколько нам открытий чудных готовит Microsoft’а дух, и Intel - сын ошибок трудных, и Borland - Paradox’ов друг..."
Моя лычка только для общения с девушками о любви! Остальные все вопросы, через форум!

#3 vin2809

vin2809

    Разработчик ПО

  • Ромодел Андроид
  • Pip
  • 19 сообщений
34
Заслуженный форумчанин
    Доп. информация [+] Доп. информация [—]

Отправлено 07 Октябрь 2014 - 12:28

Источник вдохновения здесь:
http://code.google.c.../detail?id=5678

Ссылка не работает, а момент интересный. Может кто-то уже смотрел информацию, поделитесь, пожалуйста!



#4 linerty

linerty

    Знаток

  • Модератор
  • PipPipPipPipPipPipPipPipPipPip
  • 5 873 сообщений
3 573
Божественная репутация
    Доп. информация [+] Доп. информация [—]

Отправлено 07 Октябрь 2014 - 14:43

Ссылка не работает, а момент интересный.

Да, к сожалению после редактора скаттера тоже такой баг вылезает. data не шифруется, нет зазора после раздела data

#5 vin2809

vin2809

    Разработчик ПО

  • Ромодел Андроид
  • Pip
  • 19 сообщений
34
Заслуженный форумчанин
    Доп. информация [+] Доп. информация [—]

Отправлено 07 Октябрь 2014 - 22:50

Ну уж нет, позвольте с Вами не согласиться. Это не баг редактора, который размечает память непрерывно, а скорее ошибка программиста, писавшего шифрование (а может быть специально напутали).

В первом посте перепутаны причина и следствие. Фраза про "баг" должна была звучать так: кто-то пишет в область памяти, расположенную сразу за разделом data.

Здесь могут быть несколько выходов:

1) для правильной работы шифрования в скаттере нужно разместить дополнительный раздел, расположенный сразу за разделом data, тем самым раздвинув разделы;

2) переместить раздел data в конце прошивки, оставив там пустое место.

А вообще для рассуждений нужна информация, на которую ссылается rizer



#6 linerty

linerty

    Знаток

  • Модератор
  • PipPipPipPipPipPipPipPipPipPip
  • 5 873 сообщений
3 573
Божественная репутация
    Доп. информация [+] Доп. информация [—]

Отправлено 08 Октябрь 2014 - 05:13

Это не баг редактора

Баг - не баг. А зазор быть должен. Это проверенный факт. Исходно разработчики тоже это учитывают. Слишком широко это проявляется чтобы быть ошибкой программиста. И то что после того как делается переразметка руками (я делал только 1 раз тоже не оставиви зазоров) или редактором (мне об этом на основе экспериментов говорил другой пользователь) шифрование не работает.
Дело не в скаттре/PMT, а в EBR. Система работает по разметке, это тоже проверенный факт. Когда я ковырялся с MBR/EBR прошивал их через dd. Изменения применялись сразу (после wipe в recovery естественно) без каких-то правок в PMT. После успешных тестов я уже пересчитывал скаттер.
Вас никто не обвиняет и ничего не заставляет. Если не хотите разбираться, то это ваше право. А rizer врядли вам ответит. Его последняя активность: 28 Июнь 2013 - 10:13
Возможно имеется в виду вот это: CYAN-87 - encrypt phone
И ещё ссылка, может поможет: Disk encryption theory
  • Это сообщение понравилось vin2809

#7 vin2809

vin2809

    Разработчик ПО

  • Ромодел Андроид
  • Pip
  • 19 сообщений
34
Заслуженный форумчанин
    Доп. информация [+] Доп. информация [—]

Отправлено 08 Октябрь 2014 - 08:37

Баг - не баг. А зазор быть должен

Я не обижаюсь, даже рад, что завязалась дискуссия в "нормальных тонах". Просто хотел довести до пользователей немного информации. Я нисколько не сомневаюсь, что без пробела в разделах шифрование некоторых устройств не работает.

Спасибо за ссылки.



#8 vin2809

vin2809

    Разработчик ПО

  • Ромодел Андроид
  • Pip
  • 19 сообщений
34
Заслуженный форумчанин
    Доп. информация [+] Доп. информация [—]

Отправлено 08 Октябрь 2014 - 11:56

Мои исследования приведенной информации показали, что при шифровании используется следующий алгоритм:

1. В самом верху (по старшим адресам) РАЗДЕЛА памяти на рсстоянии 16Кб от конца РАЗДЕЛА памяти система криптования размещает свой буфер и др.

2. Используя эту область система криптования обрабатывает ОБРАЗ раздела, размер которого не может быть больше, чем размер РАЗДЕЛА-16Кб.

Это теория, а практически нужно создать образ data размером не более, чем размер раздела USERDATA-16Кб, залить его в раздел и включить шифрование. Т.е. то же, что и сделал автор этой ветки, не меняя размер РАЗДЕЛА.

 

P.S. Предупреждая вопросы по поводу Кб, отвечаю, что в исходном коде указан размер 0х4000=16384.


  • Это сообщение понравилось SevenMaxs

#9 linerty

linerty

    Знаток

  • Модератор
  • PipPipPipPipPipPipPipPipPipPip
  • 5 873 сообщений
3 573
Божественная репутация
    Доп. информация [+] Доп. информация [—]

Отправлено 08 Октябрь 2014 - 15:52

Это теория, а практически нужно создать образ data размером не более, чем размер раздела USERDATA-16Кб, залить его в раздел и включить шифрование. Т.е. то же, что и сделал автор этой ветки, не меняя размер РАЗДЕЛА.

Т.е. мы всё это сделали, зашифровались. После сброса таже ботва. Шифрование не пашет?

#10 Xakep

Xakep

    просто Хакер

  • Ромодел Андроид
  • PipPipPipPipPipPipPipPip
  • 2 835 сообщений
2 654
Божественная репутация
    Доп. информация [+] Доп. информация [—]

Отправлено 08 Октябрь 2014 - 17:08

После сброса таже ботва. Шифрование не пашет?
Пашет. Крипто область создается за рамками раздела Data.

Вся суть в том что сразу после раздела Data нужно оставить свободное место в 16Кб, а не подпирать в плотную следующим разделом, например FAT32 ... 


"О, сколько нам открытий чудных готовит Microsoft’а дух, и Intel - сын ошибок трудных, и Borland - Paradox’ов друг..."
Моя лычка только для общения с девушками о любви! Остальные все вопросы, через форум!

#11 -IRONHiDE-

-IRONHiDE-

    Гость

  • Пользователь
  • 6 сообщений
0
Пользователь
    Доп. информация [+] Доп. информация [—]

Отправлено 12 Октябрь 2014 - 15:04

Спасибо за статью, проделал всё вышеописанное, результат следующий:
Segmentation Fault

Видимо, у меня отсутствует make_ext4fs в прошивке, каким образом я могу её добавить?


Проверил, make_ext4fs всё таки присутствует, значит дело в чем-то другом.


Сообщение отредактировал -IRONHiDE-: 12 Октябрь 2014 - 15:27






Похожие темы Collapse

  Название темы Форум Автор Статистика Последнее сообщение

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных