Modifying DD-WRT’s protected GUI

hacking_the_ddwrt_gui

[Craig] is always keeping busy by deconstructing and poking around in various firmware images. This time around he has taken on the task of modifying the DD-WRT package, a popular replacement firmware for SOHO routers.

While the firmware is released under the GPL, [Craig] cites that it’s pretty difficult to build from source. Instead, he says that the typical course of action is to extract files from the firmware image, alter them, then reconstruct the image. This works for most things, but the DD-WRT GUI files are protected in order to prevent modification.

Since the phrase “you are not allowed to do that” doesn’t exist in his vocabulary, [Craig] set out to see if he could make his way around the protections and change the GUI code. It took quite a bit of digging around using IDA Pro and readelf, but he was eventually able to extract, tweak, then reinsert individual pages back into the firmware image.

The process is pretty time consuming, so he put together a tool called webdecomp that automates the extraction and rebuilding of DD-WRT’s web page file. If you’re interested in rocking a custom Hackaday-branded router interface like the one shown above, be sure to swing by his site and grab a copy of webdecomp.

Reverse engineering VxWorks (which replaces Linux on newer routers)

The Linksys router seen about is a WRT54G version 1. It famously runs Linux and was the source of much hacking back in the heyday, leading to popular alternative firmware packages such as DD-WRT and Tomato. But the company went away from a Linux-based firmware starting with version 8 of the hardware. Now they are using a proprietary Real Time Operating System called VxWorks.

[Craig] recently put together a reverse engineering guide for WRT54Gv8 and newer routers. His approach is purely firmware based since he doesn’t actually own a router that runs VxWorks. A bit of poking around in the hex dump lets him identify different parts of the files, leading to an ELF header that really starts to unlock the secrets within. From there he carries out a rather lengthy process of accurately disassembling the code into something that makes sense. The tool of choice used for this is IDA Pro diassembler and debugger. We weren’t previously familiar with it, but having seen what it can do we’re quite impressed.

[Image via Wikimedia Commons]

Solar powered WiFi repeater

For all those times you need to broadcast your own access point where there’s no outlet [Larry] shows us how to make a solar-powered hotspot. He started by slapping a solar panel on the lid of a cigar box and attaching it to five rechargeable AA batteries inside. These power the mainboard from a router which is the perfect size to friction fit in the opening. It has been flashed with a copy of DD-WRT, and set to scan for open WiFi connections. When it finds one it connects and rebroadcasts its own WiFi signal to the surrounding area. He leaves it in the back window of his car and uses it to get on the net during lunch.

WiFi AP gets antenna augmentation

Feeling bad that his access point was being made fun of by models with beefier external antennas, [Customer Service] decided to do something about it. After cracking open the Asus wl-330ge he found it would be quite easy to add a connector. This access point has two internal antennas that are quite small and use a spring connection to the signal and ground pads on the PCB. Those pads are fairly large and separated, making it easy to solder the connections. Scavenging an antenna connector from an older device, [Customer Service] soldered it in place and drilled a mounting hole in the plastic case. After flashing DD-WRT firmware he’s now got everything he wants from the little guy.

Power cycling a problematic modem

[Gigawatts] struggled against a shoddy Internet connection for quite some time. Changing modems, having the line serviced, and spending far too much time on the phone didn’t do any good. In fact, the only thing that fixed the problem was power cycling the modem once it stopped responding. His solution was to automate the power cycling process. He added a cron task to his router which is running DD-WRT, a favorite firmware alternative for hacked routers. The script monitored the WAN connection and when it went down it would toggle one of the serial port pins. He whipped up an outlet box with a relay in it and used that serial pin to cut the power going to the modem. A workaround yes, but it was the only thing that brought an end to his frustration.

LEGO router case bests factory finish

Stare at [Luke's] LEGO router case; STARE AT IT! The router is nothing special, a WRT54GL that is fun to hack. We’ve seen it used as a robot, turned into a war driving box, and obviously this is where dd-wrt custom firmware started.

[Luke] designed the case in MLCAD and found a seller for the parts which came in just over $50. We think it’s much better looking than the stock case an if you used that for a different project, this is a way to replace it. We’ve embedded [Luke's] assembly video after the break. If you like this case, take a look at his LEGO PC case as well.

[Read more...]

Adding a DisplayLink monitor to a Linux router

slugterm_dl

Routers aren’t just for routing network traffic any more. With the help of alternative operating systems such as DD-WRT, Tomato, and OpenWrt, routers are now extremely customizable and can be utilized to suit a number of needs. The main issue with projects built around routers is the need to telnet or SSH into them to get to a console. [Sven Killig] came up with a useful solution that utilizes the USB ports available on an Asus router to display video on a DisplayLink device, allowing a user to sit down and use the device as though it were a physical terminal. This would be a good DIY alternative to commercially available routers that display network graphs, system information, incoming email, and other data.

Follow

Get every new post delivered to your Inbox.

Join 96,345 other followers