Дома имеется полудохлая трубка от старого радио-телефона. База KX-TCD450RU, трубка KX-A145RUT (2004 год). Трубка не работает от аккумуляторов (слишком большой ток потребления при подсветке). Стоит задача получить из неё контакты (контакты хранятся на трубке). Внутри трубки стоит Атмеловская микросхема памяти AT24C64 на 8 КБ. Читается через I2C. В дампе явно видны некоторые имена и фамилии (там где русские буквы совпадали с английскими - можно считать и сопоставить). Первая запись была по смещению 1912. Далее (по паспорту) должно идти максимум 200 записей. Посмотрел немного на память, понял, что длина записи фиксирована - 30 байт, последний байт - 0x00. 16 байт на имя, длина телефона, 12 байт на телефон (запись 2 цифры в 1 байт). Написал декодер памяти телефона на JavaScript. Проще и быстрее было бы на любом приличном языке, но зато запустится на любом устройстве в браузере и не надо выполняемых файлов. Работа скрипта проста. Запустили страничку в браузере, выбрали файл с дампом. На странице появится таблица с номерами и именами, а также статусами заисей. В скрипте есть 2 таблицы подстановки ContactSubstitutionTable и PhoneSubstitutionTable для контакта и телефона соответственно. В моих контактах не было буквы "Ё" и "Э", поэтому я не знаю какой код был бы в памяти, остальные были - я их подставил. Тоже самое для телефона. Код "C" там обозначает символ паузы. Должны быть еще решетки и звездочки. У меня их не было - поэтому я не знаю как они обозначаются в памяти. Полагаю, что скрипт подойдет для декодинга дампов других трубок этого поколения телефонов и может, и более новых. Инструкция простая : Дампим, ищем смещение начала секции контактов (они будут видны на глаз в хекс-редакторе). Смотрим на разделитель 0x00, расчитываем сколько занимает запись всего и каждый её элемент (описание структуры в файле скрипта). Запускаем скрипт, выбираем файл прошивки, пробуем декодировать файл. Если существуют строки с колонкой "Ошибки" в "Да" - смотрим в дампе на запись, подставляем недостающие / изменяем существующие элементы в таблицу подстановки, может, изменяем чуток скрипт. Перегоняем до устраивающего результата. Копируем всю страницу и в эксель. Если хочется получить данные с разделителями - они выводятся в инструменты разработчика - консоль браузера. Если будут вопросы по программе - пишите, попробую помочь.
Скачать файл можно после регистрации регистрация | вход
|