LINUX.ORG.RU
ФорумMobile

Вытащить kernel symbols из zImage

 , ,


1

2

Андроидная прошивка от Самсунга, tar.md5, это обычный tar с прикреплённым md5. Извлёк из него boot.img. Потом с abootimg -x boot.img получил zImage. Дальше можно и его в Image распаковать. А дальше? Попадался кому скриптик, который найдёт и распакует прикреплённые (надеюсь) во время сборки ядра сжатые скриптиком scripts/kallsyms.c ядерные символы?

★★★★★
Ответ на: комментарий от no-dashi

Не, он только зависимости между модулями собирает, а для ядра ему можно опционально указать System.map.

gag ★★★★★
() автор топика
Ответ на: комментарий от dimon555

А где этот System.map файл в Андроидной-прошивке?

System.map - это удобный способ доступа, но как я понимаю, не единственный. Вот на Дебиане я переименовал System.map, а ядро по-прежнему в состоянии отпечатать мне /proc/kallsyms.

А на загруженном Андроиде нет доступа. Но есть прошивка.

gag ★★★★★
() автор топика
Ответ на: комментарий от no-dashi

Довольно обширный ответ. Если намёк на

Файл System.map можно создать командой nm -n vmlinux > System.map

то он создаётся со скомпилированного vmlinux, который всё ещё содержит всю отладочную информацию (~200 MB файлик), т.е. доступа к нему нет.

Символьная таблица адресов для загруженного ядра также находится в файле /proc/kallsyms.

Это вообще эпичная формулировка. Вот берёт и сидит, и ждёт в этом «файле». Хотя именно на «это» и надежда. Т.е. не на то, что она там сидит, а на то, что ядро без доступа к System.map может показать свои символы. Вот только работающее ядро. А у меня неограниченный доступ только к коду zImage.

Есть предложение воспользоваться для этого идой. Но не хотелось бы.

gag ★★★★★
() автор топика
Ответ на: комментарий от gag

для самсунговских прошивок только идой.Если тебе модуль ядра собирать допустим, то идой находить символы а для последующих ядер применять rizzo-signatures с уже разобранной базы.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.