Перейти к содержанию
Old Phone Forum

karaulov

Участники
  • Постов

    22
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные karaulov

  1. Файл данных весит 7МБ, свободной памяти 20МБ.

     

    Файл размером 8-9МБ уже не загружался.

     

    Пришлось удалить лишние языки, словари и т.п что бы позакачивать игр )))

     

     

    Разъем симкарты уже 2 раз ломается, всего пару сим карт поменял и контакт отвалился один. Придется использовать просто как "тетрис" для игр)))

  2. Почему через прошивку нельзя забить всю память телефона? Закачал игр а оно не хочет загружать прошивку прерывается на половине, когда оставил пару игр - загрузилось.

     

    Можно как-то через прошивку забить всю память нужными файлами? :128:

  3. Все что получилось сделать это увеличить доступное количество игр, и то только 1 байт :128:

     

    Адрес для изменения количества игр: 994E4C (1 байт) (по умолчанию 0x28)

     

    Количество доступных игр изменилось но все равно максимум 40 ограничение стоит. Странно очень. поставил 0xc8, пишет 40 из 200 и дальше не дает установить ничего. :)

  4. Проверил, через IDA намного легче чем через BinEdit редактировать прошивку, там прямо в C коде можно изменять данные и они правильно сохраняются в BIN файл.

     

    1.

    4Kpmk9K.png

    2.

    di-YXAH25.png

     

     

    Правда все равно никак не могу убрать ограничение на 200КБ :(

     

     

    Может быть это ограничение на уровне железа, мб не хватает памяти?

  5. Если после изменения константы все равно не запускаются JAR файлы больше чем 200КБ, можно ли это как-то исправить?

     

    Теперь телефон просто перезагружается при попытке установить JAR файл больше 200КБ.

     

    Возможно где-то еще есть проверка но числа "200*1024" нигде нет.

  6. какую-то хрень включил , теперь вместо перезагрузки появляется "синий экран смерти" :)

     

    Пишет:

     

    TRAP INFO

     

    HW DATAABORT TRAP

     

    ... slarling core dump

     

    Где посмотреть информацию о ошибке :(

     

    .....

    При подключении к компьютеру в таком состоянии пишет обнаружен "CDS device" и драйвера не найдены. Интересно :) Значит можно как-то отладку запустить через USB? ):)

  7. Да нет все нормально в патче, я поставил туда 0xFA получилось 2000КБ (2МБ).

     

    Возможно много поставил но тогда бы даже меньше 200КБ перестали запускаться игры, а так не запускаются только те которые больше 200КБ.

     

    Я IDA использую только для просмотра исходника 'C' ( там просто до невозможности просто читать код) и строк а редактировал я вручную через hex редактор.

     

    Кстати вот для IDA 6.8(вроде бы последняя слитая версия на данный момент) изменил немного плагин ExtraPass https://dl.dropboxusercontent.com/u/2803076...Pass_PlugIn.rar что бы можно было запустить анализ всего файла (А так IDA только 70% где-то проверяет и остальное помечает красным) (Выбирать только "поиск новых функций", остальное работает только с Win32, с arm бред получается :) )

     

    Наверно что-то еще мешает :(

     

    Еще есть вопросов пару.

     

    Какой диск считается microsd ?

    ( Хотел что бы логи записывались на флэшку а не на C:\ а то смысла от них ни какого. Или по умолчанию они никуда не записываются вообще? )

     

    Как искать коды сервисные? Они в виде текста или в виде цифр записываются в коде?

  8. В общем патч верный но он не помог, теперь вместо ошибки просто выключается телефон даже не дает установить )) (Жму на файл, открывается установка и сразу перезагружается телефон я даже не успеваю нажать "Установить" )

  9. Да потому что надо читать ассемблер, а не подсказки.

    Ну и вообще там даже в подсказке видно что это число 25 сдвинутое на 13.

    Т.е. если вместо 0x19 написать например 0x32 - то получится 409600…

     

    Смысл подобного трюка со сдвигами - потому что ассемблер в режиме Thumb, у него нельзя коротко загрузить число выше 0xFF.

    MOV + LSL = 4 байта

    LDR = 6 или 8 байт (оно требует align).

     

    Поэтому в прошивке массово всякие числа получают сдвигами или вычитанием/сложением из каких-либо соседних чисел которые где-то рядом уже были.

     

    И если ты вдруг увидел число в виде обычных 4 байт - то трогать его надо очень осторожно, на него может быть много ссылок и оно может использоваться не только как само число, но и как основа для постороения совсем другого числа вообще в несвязанной функции (умный компилятор всё так оптизимировал)

     

     

    Вроде бы все понял, спс!

     

    Оказывается через IDA можно редактировать тоже, кликнул в декомпиленном коде на 204800 и выбрал "патч->редактировать выделенное" и мне предложило заменить на нужно число.

     

     

    У меня возник еще один вопрос, можно ли тестировать прошивку без телефона? Может есть какой эмулятор поддерживающий прошивки ? Было бы круто, а то убить телефон первой же прошивкой как-то будет не очень хорошо)))

  10. Кстати я с первого раза угадал

     

    //----- (00679664) --------------------------------------------------------

    signed int sub_679664()

    {

    return 204800;

    }

     

    это и есть ограничение на размер JAR данных, в C-псевдокоде очень легко разобраться)))

     

    А название функции это адрес в BIN файле, binedit : http://i.imgur.com/CD6suwH.png

     

    Вот только я не понял как в BinEdit отредактировать значение. А через хексредактор не могу найти нужные байты по этому адресу что бы заменить. (Они как будто не соответствуют коду: 19 20 40 03 70 47 00 00, а число 202800 это 032000)

  11. Да нет вопрос был не "Как из C получить код ассемблера" а как модифицированный файл прошивки поместить обратно в fls файл :ak:

     

     

     

    А где есть прямая ссылка на BinEdit последней версии ? http://binedit.sgh.ru/download.php?act=get 100 раз жал там "Скачать" но ничего не происходит.

  12. Спс наконец получилось переключится в человеческий вид :ak: А то через "Версия для печати" смотрел содержимое темы)))

     

     

    А в IDA вроде бы все адреса функций верные, такие же как и BIN файле прошивки который я достал через этот InfineonTools.

     

    Вот псевдокод https://dl.dropboxusercontent.com/u/2803076..._pseudocode.rar

     

    Нашел в коде вот такую константу:

    signed int sub_679664()

    {

    return 204800;

    }

     

    Это может быть ограничение в 200КБ Java ? Хотя потом сам посмотрю)

     

    Главный вопрос это как потом все обратно в прошивку собрать что бы на телефоне проверить ))))

  13. Еще пару вопросов :ak:

     

    1. Что с форумом почему у меня такая чушь : http://i.imgur.com/qfxYo9u.png и как включить адекватный режим просмотра?!

     

     

    2. Можно ли в прошивке убрать лимиты, изменить место установки Java игр и т.п?!

     

    Я так понял IDA Pro можно использовать но какой процессор там выбрать и какой файл кидать .BIN или .FLS ?

     

    Я думаю сначала получить C-псевдокод прошивки, потом там найти нужные места для патча, и через какой-нибудь редактор поменять что-нибудь на что-нибудь :) Так получится ? :)

  14. Есть несколько вопросов.

     

    Не нашел чем открыть dffs файл. Написал свой распаковщик этих файлов. Но как безопасно упаковать не знаю :ak:

     

    Интересно что в телефоне стоит ограничение на размер JAR файла 200KB но через dffs файл это обходится , так как там лежит JAR файл размером 204КБ и он работал :) (Просто случайно удалил родные игры через "секретный код" когда пытался убрать ограничение. решил вернуть их обратно).

     

     

    Подскажите как можно редактировать dffs файл и через какой кабель можно загрузить этот файл в телефон?!

     

    Или может кто-нибудь знает какой сервисный код может убрать ограничение на JAR файл? (Через эмулятор nescube видно что в телефоне 800КБ доступной памяти есть, и приложение необязательно ведь будет использовать всю память даже если будет больше 800КБ весить?!)

     

    (P.S вот распакованный dffs файл https://dl.dropboxusercontent.com/u/280307663/ELIF.7z )

×
×
  • Создать...