многие патче/эльфописатели напрямую работают с памятью книг. пришлось подобное сделать и мне. заказал мне хороший человек патч для камеры. именно патч мне было лень делать, обошелся прошивкозависимым эльфом (это плохо, но пользователей у эльфа всего два, и оба на одной модели телефона с одной версией прошивки
)
для того, чтоб разобраться, по какому смещению какая настройка хранится, я написал эльфа, сохраняющего книгу, и скрипт, разбирающий данные. работу скрипта поясню на примере. беру, например, подсветку. выбираю каждый пункт и сохраняю буку в файл. потом ещё раз. и вот получается 4 файла:
- выкл
- авто
- выкл
- авто
скрипт выбирает те байты, которые разные у "авто" и "вкл" и при этом одинаковые у "авто"1 с "авто"2 и у "выкл"1 с "выкл"2.
скрипт не знает, сколько вариантов настроек используется и сколько раз каждая сохранена, поэтому он пытается угадать. вот результат для упомянутой выше настройки:
Код:
000001F0: 00 01
00000230: 00 04
0000008A: F6 70 A9 E1
отбрасываем последний результат, так как у нас использовано 2 значения настройки, получаем всего 2 адреса. если нужно определять, включена ли подсветка камеры, можно использовать любой. если нужно менять настройку, то один из них, так как второй расчитывается по первому.
скрипт написан на php, хавает файлы с расширением .dat, лежащие в текущей папке. вместе со скриптом для примера лежат 4 файла с данными книги камеры.
ну и файл для сохранения буки для кучи пусть тут лежит