Modemy Kablowe zabawa w reverse engineering
Przez pewien czas bawilem sie jako administrator sieci opartych o systemy DOCSIS, choc w sumie dalej to robie ale juz na zasadzie doradztwa i dostaw sprzetu. No i jak to zwykle bywa czlowiek sobie mysli co ten "wredny uzytkownik" ;) moze wykombinowac. Wiec na pierwszy ogien poszlo google - i niestety niezbyt wiele. Od strona TCNISO, niestety zero jakis ciekawych informaci - wszystko komercja. Jednak widac ze jak sie kupi to cos tam mozna kombinowac.
Pieniedzy nie mialem zamiaru wydawac bo niby po co, jednak odezwala sie mania
grzebania w elektronice i pakowania paluchow tam gdzie sie nie powinno.
Po rozebraniu modemu, ot plytka na nie uklad zasilania, glowica w.cz., kilka ledow, pamiec flash i ram, jakis duzy scalaczek BGA z napisami Broadcom BCM3348.
Jak zwykle google nie pokazalo za wiele po wpisaniu symbolu scalaka, o dokladnej dokumentacji mozna bylo zapomniec. Choc w krotkiej reklamowce zawarta byla informacja o rdzeniu MIPS, a na stronie WWW modemu krotkie info "VxWorks Version: 5.4".
Czyli juz mamy jakies tam podstawy, tak samo troche informacji przyniosla strona OpenWRT. Na plytce mamy pieknie wyprowadzone zlacze JTAG, a wiedzac ze mamy do czynienia z MIPS-em trzeba bylo zainteresowac sie protokolem EJTAG.
Dalej juz mozna by powiedziec bylo "z gorki" - o ile tak mozna nazwac zabawe w disassemblacje. Ot ale IDA zawsze to wmiare ulatwia i jak ktos lubi nie jest to az takie tragiczne. Nalezy jeszcze tylko wspomniec ze image w FLASH-u jest kompresowane ale tutaj z pomoca przychodzi nam 7-Zip...
Podstawa to odnalezienie funkcji systemowych VxWorks-a oc choc by prostych typu "printf", oraz obslugi samego DOCSIS-a. Ojj a kodu jest sporo i zapewni zabawe na dlugie zimowe wieczory.
Dalej to juz kwestja fantacji jesli chodzi o aplikowanie zmian, ot poznanie ewentualnych slabych stron systemu DOCSIS (tutaj z pomoca przychodzi pelna dokumentacja dostepna na http://www.cablelabs.com/ ) lub slabych stron w konfiguracji konkretnej sieci...
Z pomoca przychodzi nam jak zwykle niezawodne GCC i GAS przygotowane pod platforme MIPS. Choc nie ma co ukrywac ze w dalszych pracach warto pomyslec nad napisaniem sobie jakiegos wlasnego Assemblera z wygodnym IDE (ukierunkowanym w strone tego typu zabaw).
No i tak po dlugim czasie powstalo jakies tam male "co nieco"... Radosc co nie miara i walory edukacyjne (ot choc by czlowiek poznal assembler kolejnego procesora).
...z interfejsem www dd-wrt (ot kiepski ze mnie grafik i webmaster - wiec wybralem wmiare ladnego gotowca)
http://img169.imageshack.us/my.php?i...icsetupau0.jpg
oraz oprogramowanko pomagajace sie dogadac przez zlacze JTAG...
http://img186.imageshack.us/my.php?i...tagutilfw0.jpg
Filmik Video jak tym sie mniejwiecje poslugiwac:
http://rapidshare.com/files/13642785...orial.wmv.html
Oraz paczka do sciagniecia:
http://rapidshare.com/files/13811409...setup.zip.html
a co z tym dalej ??
to juz temat na inna bajke ;)