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.

minibloq

Drag And Drop Programming Gets Kids Started Early

While programming an Arduino is a piece of cake for EEs who have been around the block a few times, there are some groups who would still find it difficult to get started with the IDE. It is touted for its ease of use, but there is a steep learning curve if say, you are 5 or 6 years old. [Julián da Silva] has been hard at work for a while now, to make the Arduino more accessible than ever.

Earlier today, we posted a story about moldable putty which can be used by children to build rudimentary circuits, enabling them to enter the fun world of hobby electronics at a young age. [Julián’s] project “Minibloq” aims to do the same thing with the Arduino. A work in progress, Minibloq uses a graphical interface to “build” Arduino code a block at a time. The code components are dragged and dropped into place on one side of the screen, while the source code is generated on the other half. This helps gently introduce those people new to the Arduino how to write actual code, a little bit at a time.

[Julián] is working hard to ensure that his application works well on OLPC and other classroom-oriented computers to ensure it can reach as wide an audience as possible. We think this would be a great introduction to the world of micro controllers for children as well as those who have never tinkered with electronics at any point in their lives.

Keep reading to see a quick demo of the software in action.

Continue reading “Drag And Drop Programming Gets Kids Started Early”

10gui: Multi-touch For All Ten Digits

10gui-multitouch-for-10-digits

The race for the next revolutionary input design is an ongoing event. [Clayton Miller’s] newest offering in the contest is a multitouch concept that separates the display from the screen and is meant to utilize all fingers. His video explanation includes a description of the physical input device, a software implementation, and a demonstration of how a finished system will work. After the break we’ll look at the hardware, the software, and the concept video. Continue reading “10gui: Multi-touch For All Ten Digits”

G-speak Spatial Operating Environment

[vimeo 2229299]

Our fascination with multitouch is fairly well known, but it expands even further to cover all sorts of man machine interaction. Embedded above is a tech demo of g-speak, a spatial operating environment. The user combines gestures and spatial location to interact with on screen objects. If it seems familiar, it’s because one of the company’s founders advised on Minority Report. We doubt all this hand waving is going to catch on very quickly though. Our bet is on someone developing a multitouch Cintiq style device for people to use as a secondary monitor. It would bridge the gap between between our standard 2D interactions and gestures without making a full leap to 3D metaphors.

[via Create Digital Motion]