21:44 

TP-Link TL-WR1043ND: Reversing firmware. Part 2

Trash Master
Да, не понедельник.

В общем, то, что дают в GPL-комплекте, - какое-то протухшее говно.
Вменяемый buildroot - оксюморон, запомните это, дети.

На самом деле рабочий тулчейн надо собирать самому. Вот тут есть очень неплохое хау-ту на эту тему. Оно, конечно, древнее, но мне как раз такое и нужно было.

Парочка граблей, на которые я наступил:
1. Нужно собрать тулчейн под что-то древнее? Ставь виртуалку с осью того времени. Делать даунгрейд libc, binutils и gcc до необходимых - занятие для особо крепких духом.
2. Собрал тулчейн по вышеуказанному рецепту? Где-то обязательно накосячишь с путями. Есть два варианта - играться с libtool или же играться с CFLAGS, LDFLAGS, CC и --host=. Скажу честно, я выбрал второй вариант.
3. Все собралось, все ОК, но при переносе на target-device получаешь your-super-mega-useful-util: not found? Есть в составе binutils такая полезная штука - readelf называется. В моем случае линкер впиливал в качестве лоадера /lib/ld.so.1. Откуда он такое выкопал - хз. Но по этому пути ожидалась символическая ссылка на ld-uClibc-0.9.29.so.0. Ссылку в девайсовый rootfs впилил - все заработало.

В общем, пока все. Пора заводить какой-нибудь блогспот и выливать это все туда.
ЗЫ: bzero вполне заменяется на memcpy. Как - смотрите в strings.h и переписывайте по образу и подобию объявления.

URL
   

Garbage pit

главная