Уроженец Испании, человек под ником FCA00000, нашёл лазейку, с помощью которой открываются все "возможности" для любого приложения на смартфоне под управлением Symbian OS 9 S60 3rd.
Чтобы не терять время заинтересовавшихся, сразу же укажу файлы, которые необходимо скачать:
Python 2.5
pyWin32 2.1 for Python 2.5
pySerial 2.2
Скрипт для взлома UIQ3
MetroTRK
Скачать один архив (15 Mb).
Суть лазейки такова (взято из
описания самого автора и немного "адаптировано"):
При установке подписанного приложения в смарт, его привелегии ("возможности", которые нужны ему для работы) записываются, а при запуске данного приложения - сверяются, не может ли приложение использовать ту или иную "возможность" (capability). При положительном ответе программа запускается и работает в обычном режиме, в противном случае - программа выдаёт ошибку и закрывается.
За такую проверку отвечает параметр PlatSecEnforcement файла epoc.ini. Именно это отследил FCA00000 и нашёл место в памяти, в котором хранится это значение, его контроллирует функция DProcess::DoHasCapability(TCapability , char const).
Но для изменения этого значения простых средств и возможностей, которые даёт Symbian разработчикам, не хватает.
Точнее, они так думают.
Необходима возможность изменения памяти другого процесса. Написать программу, которая МОЖЕТ это длеать, не трудно, но SymbianSigned никогда не подпишет такое приложение, узнав, что она делает.
К нашему счастью, существует инструмент для отладки приложений на устройстве, которому как раз и разрешено изменять/читать память других процессов - MetroTRK. Этим и воспользовался FCA00000, вследствии чего и было отключено PlatSecEnforcement и, соответсвенно, проверка любой программы на все возможности проходит успешно!
Далее, он написал скрипт на питоне для компьютера, который проделывает все нужные процедуры автоматически и Вы получаете полный доступ во всех приложениях.
Пока пользователи устройств на S603rd успешно взламывали свои устройства, человек под ником swmail переписал и оптимизировал скрипт под свой p1i и так же успешно открыл доступ на смартфоне.
Итак, приступим:На UIQ3 я лично ничего не проверял, но тем не менее, успешно взломал уже несколько устройств под s603rd, соответственно, основываюсь только на личном опыте и описаниях других пользователей, взломавших UIQ3-устройство SE P1i (от других пока ничего не слышно).
- Устанавливаем Python, затем pyWin32, затем pySerial на компьютер
- Подключаем телефон к компьютеру посредством кабеля, драйвера и само устройство уже должны быть установлены (т.е. телефон уже подключался).
- Режим подключения - PC Suite
- Устанавливаем MetroTRK на телефон
- Выключаем PC suite.
- На телефоне запускаем приложение TRK, Bluetooth включать не нужно, в настройках указываем все параметры:
Connection - USB
Port - 2 (или 1, в зависимости от того, какой свободен)
Baud Rate - 115200
Жмём Save, затем Connect.
Должно появиться следущее:
Status: Connected
PDD: NONE
LDD: EUSBC
CSY: ECACM
Port Number: 2
Baud rate: 11520
- На компьютере заходим в Панель управления \ Система \ Оборудование \ Диспетчер устройств - раскрываем пункт "Порты" и находим там свой смартфон, возле его имени в скобках должен быть указан порт, по которому подключёно устройство. Запоминаем его (к примеру, пусть это был COM27).
- Открываем архив hack_perms_uiq3.zip распаковываем hack_perms_uiq3.py в корень диска C.
- Открываем его в блокноте и ищем строку "ser = serial.Serial",
в скобках сейчас там указано 26, т.к. у пользователя устройство было подключено к порту COM27, нам же НУЖНО УКАЗАТЬ НОМЕР ПОРТА МЕНЬШИЙ НА ЕДИНИЦУ (N-1), который мы запомнили в Диспетчере устройств.
- Сохраняем файл.
- Жмём Пуск - Выполнить (WinKey + R), вводим "cmd", жмём enter.
Появляется консоль, в ней вводим "c:\hack_perms_uiq3.py", и ждём, пока выполнится скрипт. В конце текста в консоли появится текст:
>Close
>End+Exit
Закрываем консоль на компьютере и TRK на телефоне (обязательно!)
Всё, теперь запускаем X-plore и пробуем попасть в папку sys\bin.
Действует только до первой перезагрузки.
Попробывать исправить ситуацию можно если сделать след. изменения:
- обновить X-plore до версии 1.21
- в скаченном архиве распаковать zip
X-Plore_AllFiles- заменить файл <диск_инсталяции_x-plore>:sysbinX-plore.exe на файл из архива /sys/bin/X-plore.exe и файл c:syshashX-plore.exe на файл из архива /sys/hash/X-plore.exe
С помощью данного метода вы получите полный доступ только на чтение. Запись будет работать не везде.
Повредить смартфон таким образом пока не удалось, в худшем случае устройство просто перезагружалось.
Что дают данные действия:- возможность файловым менеджерам копаться в системных папках.
- возможность разработать и нормально протестировать программу с повышенными привелегиями на смартфоне.
Так же есть возможность ставить приложения требующие подписи сертификатом, ниже архив и мануал по установке:- взлом системы
-
скачать архив
- создайте папку c:\resource\swicertstore\dat
- скопируйте файл 00000001 в папку c:\resource\swicertstore\dat
- неподписанные приложения подписываем cert.cer и key.key (пароль в сертах отсутствует)
- копируем в телефон и устанавливаем
----------------------------------------
За статью спасибо автору FCA00000, за разбор статьи спасибо TolyaN и соседнему сайту
www.se900.rup.s. естественно гарантии никакой нет положительного исхода всех действий, так что на свой страх и риск.Оригинальная тема