eXTracted INternals

eXTracted INternals
 
ФорумФорум  ЧаВоЧаВо  ПоискПоиск  РегистрацияРегистрация  ПользователиПользователи  ГруппыГруппы  Вход  

Поделиться | 
 

 RomPatcher

Предыдущая тема Следующая тема Перейти вниз 
На страницу : 1, 2  Следующий
АвторСообщение
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: RomPatcher   Вс 6 Апр - 19:22

LazyCat пишет:
Я действительно чего-то не понимаю, ведь патчить ROM - это неуниверсально ! Не факт, что Nokia не изменит теперь структуру прошивки и не введет контроль CRC ! И что, опять ковырять прошивку ? Да и не каждый пользователь согласится менять прошивку(да и не у каждого есть такая возможность). А как же апдейты ? Да и небезопасно это с точки зрения противовирусной защиты. И скорее всего Nokia внесет китайский сертификат в "черный" список и на новых прошивках он работать не будет Sad
Сплошные заблуждения Laughing
ROMPatcher - программа для мобилы которая патчит ром БЕЗ перепрошивки (всякие проверки ЦРЦ идут лесом Cool ).
По части универсальности - дело за форматом(ми) патчей. Планирую сделать что то вроде search'n'replace
По части вирусов - скока юзал мобилу без сертов (на шестой симбе) ни одного не поймал (долбились правда по блюхе иногда Smile). А если страшно - отключил проверку, поставил сис, включил проверку...

Первый релиз
Устанавливается с помощью ТРК. В архиве пару патчиков (для теста). Первый бесполезный (изменение версии в z:\resource\versions\sw.ini), второй не тестил Smile Оба естественно для моей прошивки...
Формат патчей:
Первая строка - timestamp прошивки (8 байт по смещению 0x80 от начала РОМа). Пока не используется.
Вторая описание патча. Тоже не используется.
Третья и далее - Сам патч. Неправильные строки игнорируются - эту фичу можно использовать для комментариев.
Патчи будут работать до перезагрузки. Автостарт пока не сделал..

PS. Сори, кажется накосяпорил Smile Завтра выложу работающую версию...
Вернуться к началу Перейти вниз
Посмотреть профиль
LazyCat



Количество сообщений : 11
Дата регистрации : 2008-04-03

СообщениеТема: Re: RomPatcher   Пн 7 Апр - 0:45

Zorn пишет:
Сплошные заблуждения Laughing
ROMPatcher - программа для мобилы которая патчит ром БЕЗ перепрошивки (всякие проверки ЦРЦ идут лесом Cool ).
По части универсальности - дело за форматом(ми) патчей. Планирую сделать что то вроде search'n'replace
По части вирусов - скока юзал мобилу без сертов (на шестой симбе) ни одного не поймал (долбились правда по блюхе иногда Smile). А если страшно - отключил проверку, поставил сис, включил проверку...Патчи будут работать до перезагрузки. Автостарт пока не сделал...
Значит патчишь RAM а не ROM ? И этот метод - первый в списке дырок, которые Nokia закроет в новых прошивках !!! Контроль CRC - второй в списке...
И вообще, мы говорим о принципиально разных подходах, и время покажет кто прав Smile
Кроме того есть основания полагать, что первые вирусы, использующие full caps, появятся именно благодаря содействию Symbian, чтобы всем неповадно было хачить и требовалась бы перепрошивка на новую версию(без дырок) !!!
И еще раз повторяю, полный доступ на телефоне юзеру НЕ НУЖЕН, а full capabilites нужны ТОЛЬКО инсталятору !!!
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: RomPatcher   Пн 7 Апр - 2:33

Напомните-ка мне подробности этого патча капабилити через TRK. Все процессы получают все капаблити включая TCB?
Я тут хочу к железу подобраться... После патча я смогу и любого процесса обратиться к регистрам железа или нет?
Вернуться к началу Перейти вниз
Посмотреть профиль
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: RomPatcher   Пн 7 Апр - 18:52

LazyCat пишет:
Значит патчишь RAM а не ROM ? И этот метод - первый в списке дырок, которые Nokia закроет в новых прошивках !!! Контроль CRC - второй в списке...
И вообще, мы говорим о принципиально разных подходах, и время покажет кто прав Smile
Впринпе ты прав, патчится проецированная страница РОМа, но от этого суть не меняется. И это не дырка вовсе, а вполне официальный способ (в SDL 7 он даже описан).
LazyCat пишет:
Кроме того есть основания полагать, что первые вирусы, использующие full caps, появятся именно благодаря содействию Symbian, чтобы всем неповадно было хачить и требовалась бы перепрошивка на новую версию(без дырок) !!!
Если страшно - не используй. И вообще купи себе Siemens A35, ни один вирус не проберется Smile
По твоему кто выдает сертификаты на капсы ??? А Symbian может и без хаков такой вирус выпустить, что волоса на жопе зашевелятся.
LazyCat пишет:
И еще раз повторяю, полный доступ на телефоне юзеру НЕ НУЖЕН, а full capabilites нужны ТОЛЬКО инсталятору !!!
А они у инсталлятора есть Laughing По твоему как он в \sys\ пишет ?
Чтоб устанавливать неподписанные или просроченые сиски нужно отрубать проверку СЕРТИФИКАТОВ.
Hex пишет:
Напомните-ка мне подробности этого патча капабилити через TRK. Все процессы получают все капаблити включая TCB?
Я тут хочу к железу подобраться... После патча я смогу и любого процесса обратиться к регистрам железа или нет?
Этот патч отрубает капсы как таковые, типа как на эмуляторе - только диагностика. К железу наверное сможешь подобраться, тока скорей всего супервизор нужен будет. Можешь пропатчить какой нить дров, чтоб он запускал твой код в супервизоре (gcce вроде не умеет ldd компилить) или попробуй UserSvr::ExecuteInSupervisorMode. Тока я не знаю как она работает...

ЗЫ. Поправил баг, который не позволял проге запуститься. Можете тестить... Ссылка прежняя
ЗЫЫ. Hex, мож тему создать в "Mobile and Embedded", а то там тока модерам позволено.
Вернуться к началу Перейти вниз
Посмотреть профиль
LazyCat



Количество сообщений : 11
Дата регистрации : 2008-04-03

СообщениеТема: Re: RomPatcher   Вт 8 Апр - 1:10

Zorn пишет:
Впринпе ты прав, патчится проецированная страница РОМа, но от этого суть не меняется. И это не дырка вовсе, а вполне официальный способ (в SDL 7 он даже описан).
Согласен, и именно этого способа не будет в новых прошивках !!!
Zorn пишет:
Если страшно - не используй. И вообще купи себе Siemens A35, ни один вирус не проберется Smile
А мне и не страшно - фениксом всегда все верну обратно, а на аварийный случай у меня как раз есть Siemens C35.
Zorn пишет:
А Symbian может и без хаков такой вирус выпустить, что волоса на жопе зашевелятся.
А здесь ты искажаешь мои слова. Во-первых, естественно, не Symbian будет это делать ! Во-вторых, этот вирус будет поражать только телефоны, у которых ПОСТОЯННО открыт полный доступ, но это и ежу понятно Smile
Zorn пишет:
LazyCat пишет:
И еще раз повторяю, полный доступ на телефоне юзеру НЕ НУЖЕН, а full capabilites нужны ТОЛЬКО инсталятору !!!
А они у инсталлятора есть Laughing По твоему как он в \sys\ пишет ?
Чтоб устанавливать неподписанные или просроченые сиски нужно отрубать проверку СЕРТИФИКАТОВ.
Ну и назови мне(бестолковому) хотя бы один, не считая штатного или использующего его функции, а просто без проверки СЕРТИФИКАТОВ распаковывающего сиску по нужным папкам и считающим sha-1 lol!
Вернуться к началу Перейти вниз
Посмотреть профиль
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: RomPatcher   Вт 8 Апр - 1:28

LazyCat пишет:
Согласен, и именно этого способа не будет в новых прошивках !!!
Ты наверное в Симбиане или на Нокию работаешь, раз говоришь с такой уверенностью.
LazyCat пишет:
Ну и назови мне(бестолковому) хотя бы один, не считая штатного или использующего его функции, а просто без проверки СЕРТИФИКАТОВ распаковывающего сиску по нужным папкам и считающим sha-1 lol!
Я и имел ввиду штатный. Тока я тебя не пойму в чем плюс твоего способа если, как ты говоришь "они все закроют и вообще мы все умрем" (откуда стока паники ???) ? Фул капсы по любому нужны будут. А будут фулл капсы будет супервизор (тока не говори что они его уберут Laughing ) и даже если они уберут функцию проецирования РОМа это можно будет сделать вручную - хоть и немного гиморней чем щас, но все равно возможно...
Вернуться к началу Перейти вниз
Посмотреть профиль
LazyCat



Количество сообщений : 11
Дата регистрации : 2008-04-03

СообщениеТема: Re: RomPatcher   Вт 8 Апр - 3:11

Zorn пишет:
Ты наверное в Симбиане или на Нокию работаешь, раз говоришь с такой уверенностью.
Если б я на них работал, то все сделал бы принципиально не так, как они сделали Smile А такую уверенность я взял с сайта Симбиана !
Zorn пишет:
Я и имел ввиду штатный. Тока я тебя не пойму в чем плюс твоего способа если, как ты говоришь "они все закроют и вообще мы все умрем" (откуда стока паники ???) ? Фул капсы по любому нужны будут. А будут фулл капсы будет супервизор (тока не говори что они его уберут Laughing ) и даже если они уберут функцию проецирования РОМа это можно будет сделать вручную - хоть и немного гиморней чем щас, но все равно возможно...
То то и оно, что нужен не штатный. Нужен просто распаковщик сисок with all caps(ему по-барабану сертификаты), который все положит в нужные папки. А его живучесть в системе при перепрошивках обеспечит PC Suite !!!
И это не паника, ведь кроме явной проверки чего-нибудь(например сертификата) можно применить и неявную !!! Если в первом случае достаточно пропатчить условие перехода, то во-втором случае результат проверки будет использоваться в формулах(возможно, криптографических) и явный переход будет отсутствовать ! В принципе этот геморрой тоже можно обойти, но это потребует титанических усилий при разборе каждой новой прошивки. Видя какую крутую криптографию использует Symbian для подписи, я не сомневаюсь, что они и этом случае придумают нечто сложное Sad
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: RomPatcher   Вт 8 Апр - 6:30

LazyCat пишет:

Если б я на них работал, то все сделал бы принципиально не так, как они сделали Smile
Работать на нокию стало позорным lol!
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: RomPatcher   Вт 8 Апр - 6:59

Zorn пишет:
UserSvr::ExecuteInSupervisorMode. Тока я не знаю как она работает...
Не получилось заюзать UserSvr::ExecuteInSupervisorMode(). Прога сразу вылетает при попытке вызвать эту функцию.
Вернуться к началу Перейти вниз
Посмотреть профиль
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: RomPatcher   Ср 9 Апр - 0:00

LazyCat пишет:
То то и оно, что нужен не штатный. Нужен просто распаковщик сисок with all caps(ему по-барабану сертификаты), который все положит в нужные папки. А его живучесть в системе при перепрошивках обеспечит PC Suite !!!
И это не паника, ведь кроме явной проверки чего-нибудь(например сертификата) можно применить и неявную !!! Если в первом случае достаточно пропатчить условие перехода, то во-втором случае результат проверки будет использоваться в формулах(возможно, криптографических) и явный переход будет отсутствовать ! В принципе этот геморрой тоже можно обойти, но это потребует титанических усилий при разборе каждой новой прошивки. Видя какую крутую криптографию использует Symbian для подписи, я не сомневаюсь, что они и этом случае придумают нечто сложное Sad
Ах да, а что это за файлик такой интересный - swipolicy.ini ?
Можешь не отвечать "что они все это переделают".
По поводу инсталлятора - если сильно нужен возьми и напиши. Формат сисок открытый и поверь мне, там нет ничего сложного. Думаю вопрос исчерпан...

Hex пишет:
Не получилось заюзать UserSvr::ExecuteInSupervisorMode(). Прога сразу вылетает при попытке вызвать эту функцию.
Дома попробую запустить свой код в супервизоре, о результатах завтра отпишусь. Хотя если кода не много можешь заменить одну из функций DoControl какой нибудь лдд на свою (я юзаю fasmarm для компиляции небольших участков арм кода - удобно)
Вернуться к началу Перейти вниз
Посмотреть профиль
LazyCat



Количество сообщений : 11
Дата регистрации : 2008-04-03

СообщениеТема: Re: RomPatcher   Ср 9 Апр - 0:56

Zorn пишет:
Ах да, а что это за файлик такой интересный - swipolicy.ini ?
Можешь не отвечать "что они все это переделают".
А это самый первый вариант взлома и в ROMе он не защищен CRC !!!!!!!! Как ты думаешь эту явную дырку исправят ? К тому же системе в текстовом виде он совершенно не нужен и его обязательно переведут в шифрованый бинарник !!!
Цитата :
По поводу инсталлятора - если сильно нужен возьми и напиши. Формат сисок открытый и поверь мне, там нет ничего сложного.
Я сразу сказал, что не смогу это написать, потому и обратился к спецам. Вообще-то вопрос относился к Hex & wl, но они не проявили интересаSad
Так что:
Цитата :
Думаю вопрос исчерпан...
Вернуться к началу Перейти вниз
Посмотреть профиль
TolyaN



Количество сообщений : 20
Дата регистрации : 2007-07-10

СообщениеТема: Re: RomPatcher   Ср 9 Апр - 1:36

Zorn, под какую прошивку и под какое тело патчи?
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: RomPatcher   Ср 9 Апр - 8:45

Не панацея этот RomPatcher. Я написал плагин для файловой системы. Запустил RomPatcher, получил капабилити, закинул свой плагин в e:\sys\bin\ но когда пытаюсь сделать RFs::AddPlugin получаю KErrPermissionDenied. Sad
Вернуться к началу Перейти вниз
Посмотреть профиль
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: RomPatcher   Ср 9 Апр - 8:48

Под какую напишешь, это ж менеджер патчей. Пару патчей для примера, в архиве. Патчи класть в E:\Patches на теле.
Пока только поддерживает патчи с абсолютными адресами.

ЗЫ. В архиве версия с небольшими багами. Сегодня приеду на работу - обновлю

2 Hex: Ты наверное забыл про хешь (или еще какую мелочь). А PermissionDenied не обязательно из-за капсов. Например в трк драйвере при загрузке есть проверка на УИД того кто загружает и если она не проходит возвращается KErrPermissionDenied
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: RomPatcher   Ср 9 Апр - 10:24

Zorn пишет:

2 Hex: Ты наверное забыл про хешь (или еще какую мелочь). А PermissionDenied не обязательно из-за капсов. Например в трк драйвере при загрузке есть проверка на УИД того кто загружает и если она не проходит возвращается KErrPermissionDenied

Уиды проверил. Все там нормально. А какой хэш?
Вернуться к началу Перейти вниз
Посмотреть профиль
intro

avatar

Количество сообщений : 34
Дата регистрации : 2007-03-23

СообщениеТема: Re: RomPatcher   Ср 9 Апр - 11:03

Hex пишет:
А какой хэш?

Хэш SHA-1 длинной 20 байт от каждого исполняемого модуля/библиотеки/драйвера высчитывается инсталлятором при установке сис-файла в систему. Складываются хэши в c:\sys\hash\, запись в эту директорию доступна приложениям с капсой TCB.
Вернуться к началу Перейти вниз
Посмотреть профиль
LazyCat



Количество сообщений : 11
Дата регистрации : 2008-04-03

СообщениеТема: Re: RomPatcher   Ср 9 Апр - 11:17

Ага, а вот и первая потребность в инсталяторе. Больше и слов не надо !!!
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: RomPatcher   Ср 9 Апр - 12:16

intro пишет:
Hex пишет:
А какой хэш?

Хэш SHA-1 длинной 20 байт от каждого исполняемого модуля/библиотеки/драйвера высчитывается инсталлятором при установке сис-файла в систему. Складываются хэши в c:\sys\hash\, запись в эту директорию доступна приложениям с капсой TCB.
Т.е. ваще все модули надо инсталить чтобы были записаны хэши иначе не запустится?
В общем я пытался сделать .pxt плагин. Принцип его загрузки такой же как у LLD.
Вернуться к началу Перейти вниз
Посмотреть профиль
intro

avatar

Количество сообщений : 34
Дата регистрации : 2007-03-23

СообщениеТема: Re: RomPatcher   Ср 9 Апр - 14:06

Hex пишет:

Т.е. ваще все модули надо инсталить чтобы были записаны хэши иначе не запустится?
В общем я пытался сделать .pxt плагин. Принцип его загрузки такой же как у LLD.

Да, для всех исполняемых модулей в c:\sys\hash должен лежать хэш, иначе не запустится. При наличии полного доступа к файловой системе можно обойтись без стандартного инсталлятора, сгенерить хэш для файла и закинуть сам файл в !:\sys\bin, а хэш соотв. в c:\sys\hash.
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: RomPatcher   Ср 9 Апр - 14:12

intro пишет:
Hex пишет:

Т.е. ваще все модули надо инсталить чтобы были записаны хэши иначе не запустится?
В общем я пытался сделать .pxt плагин. Принцип его загрузки такой же как у LLD.

Да, для всех исполняемых модулей в c:\sys\hash должен лежать хэш, иначе не запустится. При наличии полного доступа к файловой системе можно обойтись без стандартного инсталлятора, сгенерить хэш для файла и закинуть сам файл в !:\sys\bin, а хэш соотв. в c:\sys\hash.
Понятно, а почему бы не юзать для этих целей Trk? Он жеж и файлы может создавать. Или у него нет TCB?
Вернуться к началу Перейти вниз
Посмотреть профиль
intro

avatar

Количество сообщений : 34
Дата регистрации : 2007-03-23

СообщениеТема: Re: RomPatcher   Ср 9 Апр - 14:19

Hex пишет:

Понятно, а почему бы не юзать для этих целей Trk? Он жеж и файлы может создавать. Или у него нет TCB?

У ldd-драйвера Trk TCB кажется точно есть и не исключено, что он может и хэш посчитать, как-то не задавался таким вопросом.. Это надо смотреть в иде. Проще самому хэш сгенерить и закинуть.


Последний раз редактировалось: intro (Чт 10 Апр - 0:10), всего редактировалось 1 раз(а)
Вернуться к началу Перейти вниз
Посмотреть профиль
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: RomPatcher   Ср 9 Апр - 19:45

Hex пишет:
Понятно, а почему бы не юзать для этих целей Trk? Он жеж и файлы может создавать. Или у него нет TCB?
А я так и делаю Smile Глянь RPInstaller. Файлы кидает дллка (НЕ лдд) поэтому с включеными капсами будет облом (у нее нет ТСБ). По идее файл без хеша запустится - но с NONE капсами. По крайней мере так документашке написано. Еще там написано что хеши нужны только для приложений на карте (потому что туда можно писать что угодно), но я и для С: на всякий случай закидываю.

По поводу ExecuteInSupervisor - у меня тоже валится Sad Поглядел как в роме эта функа используется - вроде точно так же как у меня. Единственное отличие - что там она в вызывается в thumb режиме для выполнения thumb функции и естественно адрес функции (r0) +1. Может она для этого и нужна - чтоб thumb функции в супервизоре выполнять (вроде проц поддерживает супервизора только в arm).
Я себе так представляю (сам не пробовал). Изменяешь у драйвера DoControl(0) например на:
Код:
mov r0,r3
bl r2
Потом в своей проге делаешь что то вроде DoControl(0,funcAddr,&paramStruct)

PS. Обновление дома забыл Rolling Eyes
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: RomPatcher   Чт 10 Апр - 1:02

Zorn пишет:

Я себе так представляю (сам не пробовал). Изменяешь у драйвера DoControl(0) например на:
Код:
mov r0,r3
bl r2
Потом в своей проге делаешь что то вроде DoControl(0,funcAddr,&paramStruct)
PS. Обновление дома забыл Rolling Eyes
Я так и не понял LLD драйвер все равно надо через sis инсталить или нет?
Вернуться к началу Перейти вниз
Посмотреть профиль
Zorn



Количество сообщений : 45
Дата регистрации : 2007-05-28

СообщениеТема: Re: RomPatcher   Чт 10 Апр - 1:20

Hex пишет:
Я так и не понял LLD драйвер все равно надо через sis инсталить или нет?
Не надо, просто в бин закинуть (даже уид3 можно не менять). Можно его переменовать и имя в SetName изменить (чтоб конфликтов не было с оригинальным драйвером) ну и хэшик куда надо положить. Насчет запуска без хэша я ошибся.
Цитата :
The end-user may choose to install a program on removable media rather than on the phones
internal memory. In this case, the PlatSec architecture must be able to verify that the executable
has not been tampered with since installation.
This is achieved by the software installer computing and storing (in the tamper-proof /sys/
directory) an initial hash of the program file on installation, which is recomputed and compared
whenever the program is to be run. If the two hashes fail to match, or if the internal hash doesnt
exist, the program will not run.
Вернуться к началу Перейти вниз
Посмотреть профиль
Hex

avatar

Количество сообщений : 397
Возраст : 35
Дата регистрации : 2006-07-12

СообщениеТема: Re: RomPatcher   Чт 10 Апр - 2:47

Zorn пишет:
Hex пишет:
Я так и не понял LLD драйвер все равно надо через sis инсталить или нет?
Не надо, просто в бин закинуть (даже уид3 можно не менять). Можно его переменовать и имя в SetName изменить (чтоб конфликтов не было с оригинальным драйвером) ну и хэшик куда надо положить. Насчет запуска без хэша я ошибся.
Цитата :
The end-user may choose to install a program on removable media rather than on the phones
internal memory. In this case, the PlatSec architecture must be able to verify that the executable
has not been tampered with since installation.
This is achieved by the software installer computing and storing (in the tamper-proof /sys/
directory) an initial hash of the program file on installation, which is recomputed and compared
whenever the program is to be run. If the two hashes fail to match, or if the internal hash doesnt
exist, the program will not run.
Просто кидаю .pxt в e:\sys\bin - не запускается. Так куда надо хэш подкладывать? И как ?
И могу ли я просто sis файл сделать, который закинет в \sys\bin\ и сам создаст хэш?
Вернуться к началу Перейти вниз
Посмотреть профиль
Спонсируемый контент




СообщениеТема: Re: RomPatcher   

Вернуться к началу Перейти вниз
 
RomPatcher
Предыдущая тема Следующая тема Вернуться к началу 
Страница 1 из 2На страницу : 1, 2  Следующий

Права доступа к этому форуму:Вы не можете отвечать на сообщения
eXTracted INternals :: Cтатьи :: Mobile and Embedded-
Перейти: