![]() |
eXeL@B —› Основной форум —› Взлом прог под Симбиан |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 20 . 21 . >> |
Посл.ответ | Сообщение |
|
Создано: 10 августа 2006 22:20 · Поправил: newborn · Личное сообщение · #1 |
|
Создано: 14 декабря 2009 13:11 · Поправил: coderus · Личное сообщение · #2 кажется вот: Code:
в данные сам перевел надо разобраться со смещениями switch в rom файлах по-другому как то реализован тут 0x10-количество ветвлений а потом идут просто смещения и 0x91 непонятно что кстати ни у кого случайно нет утилитки которая экспорты импорты из xip файлов и sdk для иды создает? ![]() |
|
Создано: 14 декабря 2009 15:55 · Личное сообщение · #3 |
|
Создано: 14 декабря 2009 20:24 · Личное сообщение · #4 coderus почитай внимательнее мой предыдущий пост, я именно так и описывал, эта функция одинакова что для xip, что для обычных приложений. для чего тебе экспорты из rom? DLL в симбиан вообще оперирует только ординалами, и выдрать из них ничего нельзя (разве что предположить название из работы экспортируемых функций). чтобы узнать имена функций из непубличных dll, чисто теоретически можно скачать исходники симбиан фаундейшен, и посмотреть там. не знаю правда, много ли потрохов выложено на данный момент ![]() |
|
Создано: 14 декабря 2009 23:35 · Личное сообщение · #5 Blackdealer пишет: 0x91 тож походу смещение а может быть ты и прав... тогда 0x10 - количество ветвлений, счет от нуля? и по какому принципу они *ветвятся*? [wl], я просто почитал из статьи HEX о свитчах, там немного иначе, но все равно спасибо. экспорты наверное для красоты, просто чтоб поименовать их а имена функций? idc для файлов из моего дампа, именующий функции, делал знакомый, но делиться утилитой он не хочет. можно где либо поподробнее почитать об этом? ![]() |
|
Создано: 14 декабря 2009 23:54 · Личное сообщение · #6 чтобы сделать файл сигнатур, используется утилита zipids из состава IDA SDK, на вход ей подаешь .idt-файл примерно такого вида: ;DECLARATION ;ALIGNMENT 2 ; Module Name and Description 0 Name=eikcore ;--------------------------------------- 1 Name=_Z12InternalizeLR12TEikPortFlagR11RReadStream 2 Name=_ZN10CEikMsgWin10ConstructLER12RWindowGroup 3 Name=_ZN10CEikMsgWin12StartDisplayERK7TDesC1613TGulAlignment .... получившийся .ids-файл кидаешь к другим, путь примерно такой: \IDA\ids\epoc9\arm\ я так делал синатуры для P.I.P.S ![]() |
|
Создано: 15 декабря 2009 09:00 · Личное сообщение · #7 |
|
Создано: 15 декабря 2009 15:21 · Поправил: coderus · Личное сообщение · #8 |
|
Создано: 15 декабря 2009 19:26 · Поправил: [wl] · Личное сообщение · #9 сколько можно повторять, что в симбиан НЕ ИСПОЛЬЗУЮТСЯ символьные имена функций, ТОЛЬКО ординалы. Ну нету названий функций в DLL и даже в ROM, который по сути свалка разных DLL и EXE расположенных по строго заданным адресам, и им не требуется релокация, XIP. Все паблик библиотеки, которые есть в SDK, уже давным давно в .ids-файлах, закрытые библиотеки не имеют символьной информации, чтобы посмотреть, что там, надо скачать исходники симбиана. Можно даже сигнатуры создать, только запаришься манглить имена ![]() |
|
Создано: 16 декабря 2009 11:53 · Личное сообщение · #10 [wl] пишет: закрытые библиотеки не имеют символьной информации, чтобы посмотреть, что там, надо скачать исходники симбиана. Ну можно еще имена функций из отладочных сообщений выкусывать ![]() coderus пишет: и по какому принципу они *ветвятся*? В смысле по какому принципу? ![]() |
|
Создано: 16 декабря 2009 16:44 · Поправил: coderus · Личное сообщение · #11 Blackdealer, в смысле условия переходов на определенный case номер спасибо, создал общую базу имен функций из SDK и сурсов EKA2 пришел к выводу что имена функций лучше брать из .dso в замангленном виде и так подставлять в имена, если заранее разманглить то вместо знаков будут подчеркивания кстати IDA Python замечательная вещица ![]() дебаг под 5.5 просто волшебный, рекомендую ![]() ![]() |
|
Создано: 24 декабря 2009 14:45 · Поправил: TolyaN3z · Личное сообщение · #12 Переделал пример из SDK под работу с шаблонами контактов, именно туда котовские проги пишут свои настройки, данные о реге и прочее. Функционалом не хлещет, но есть главное — импорт, экспорт, удаление. Должна работать под S60v3 и v5. Делалось «на коленке», так что сильно не пинать. UPD: Поправил обновление списка после удаления, залил на ![]() |
|
Создано: 25 декабря 2009 14:12 · Личное сообщение · #13 |
|
Создано: 25 декабря 2009 16:31 · Поправил: TolyaN3z · Личное сообщение · #14 По-моему из функционала ясно, что с этим можно делать. А вообще, я сделал её для чистки «хвостов». Когда разбирался с JukeBox, с изменённым загрузчиком он начал вылетать при запуске с синим экраном Fatal Error и перезагрузкой смарта. После чего даже оригинал перестал работать. Чистка этих настроек помогла решить проблему. Предполагаю, что таким образом можно восстанавливать регистрацию и прочие настройки котовских программ после формата. Можно посмотреть глубже — разобраться, что конкретно туда записывается, какой программой и как этим можно воспользоваться. ![]() |
|
Создано: 26 декабря 2009 22:22 · Личное сообщение · #15 |
|
Создано: 27 декабря 2009 12:13 · Личное сообщение · #16 |
|
Создано: 27 декабря 2009 13:20 · Личное сообщение · #17 |
|
Создано: 27 декабря 2009 14:31 · Поправил: coderus · Личное сообщение · #18 спасибо, SHOW_XREFS и DemangleNames работают. но вот ASCII_STYLE ставлю вручную на 6 (Pascal-style Unicode, length is 4 bytes) и все равно по умолчанию стандартный Unicode IDA 5.5 распознала ARM_SWITCH и обозначила все case! (зы это с чем я боролся наверху страницы) Кто нибудь знает как бороться с ошибкой: давно еще создал ключ в реестре добавляющий в контекстное меню файлов пункт Disassemble. вот иногда ида глючит и при выборе этого пунгда вываливает сообщение об ошибке: Fatal error: параметр задан неверно хотя при ручном перетаскивании файла на ярлык все ок.... TolyaN3z, а твою прогу можно народу показать? ![]() |
|
Создано: 28 декабря 2009 13:17 · Поправил: TolyaN3z · Личное сообщение · #19 |
|
Создано: 29 декабря 2009 11:33 · Личное сообщение · #20 |
|
Создано: 15 января 2010 20:19 · Личное сообщение · #21 |
|
Создано: 16 января 2010 15:13 · Поправил: TolyaN3z · Личное сообщение · #22 |
|
Создано: 18 января 2010 12:38 · Личное сообщение · #23 |
|
Создано: 18 января 2010 22:59 · Поправил: jasf · Личное сообщение · #24 |
|
Создано: 23 января 2010 09:34 · Личное сообщение · #25 |
|
Создано: 25 января 2010 08:18 · Личное сообщение · #26 coderus пишет: хочется разобраться как FCA сделал первый эксплойт Там патчится один байт (вернее бит ![]() По части общения трк когда то давно объяснял ФЦА ![]() ================================= Some tips about protocol. Code:
You must open COM port and write commands like this 7E 00 00 FF 7E - mean ping. First/last 0x7E something like marker start/end packet. 0xFF - checksum (FF-00-00). Second byte is command (IDs of commands can be found in msgcmd.h in TRK sources). Third byte is counter. Some commands needs parameters (also can be found in msgcmd.h). You can compare listing above with this log of COM port (from another phone) to understanding. Code:
Вот тут можно примеры посмотреть (снифал, чтобы лучше разобраться) www.sendspace.com/file/ywsef9 ![]() |
|
Создано: 26 января 2010 16:20 · Личное сообщение · #27 |
|
Создано: 26 января 2010 16:33 · Личное сообщение · #28 |
|
Создано: 29 января 2010 13:19 · Личное сообщение · #29 |
|
Создано: 26 февраля 2010 18:57 · Личное сообщение · #30 |
|
Создано: 27 февраля 2010 18:53 · Поправил: TolyaN3z · Личное сообщение · #31 Люди, нужна помощь. Ковыряю программку под pre-9, в которой то-ли реализована проверка бинарника на целостность, то-ли просто баг (мало вероятно). В общем, любое изменение приводит к периодическому вылету программы (не постоянно, а только при интенсивном использовании проги). Причём вылет странный и закономерности в его появлении я не выявил - В общем, пошёл другим путём - нарыл к этой проге ключ под другой IMEI. Сделал свой фейк plpvariant с тем же UID, что и в системе и подкинул в папку с прогой, которую она увидела и заработала с ней нормально. Всё вроде супер, прога зарегилась, работает, но тут появился самый главный косяк, которого и следовало ожидать в такой ситуации - если держать эту прогу открытой, все последующие запущенные программы будут работать с моей plpvariant, и соответственно будут получать другой IMEI. В принципе, смысл понятен: загрузчик ищет нужную либу, находит её рядом с бинарником и подгружает в память, чем "перекрывает" существующую библиотеку. Соответственно, ядро имеет структуру DLibrary, в которой есть счётчик пользователей библиотеки и держит её, пока все (в данном случае - обьект исследования) не отпустят, потом удаляет из памяти. После удаления все проги снова начинают работать с оригинальной plpvariant. Почитал Symbian OS Internals, как я понял, выгрузить библиотеку принудительно не выйдет. Или можно как-то добраться до обьекта DLibrary? Если сразу же грузить другой прогой намеренно либу с диска Z, то она загрузится, но тогда и "мишень" загрузит её тоже (IMEI сверяется несколько раз). Получается замкнутый круг. Что делать? Может кто встречался с подобным? ![]() |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 20 . 21 . >> |
![]() |
eXeL@B —› Основной форум —› Взлом прог под Симбиан |