Modifying The DD-WRT GUIThese docs may no longer be accurate. Description II. Why is this useful? Where to get the kit IV. Requirements V. Compatibility VI. Acknowledgements and more IX. Links X. Revision history. Description This kit gives the user the ability to make changes to a firmware image without recompiling the firmware sources. It works by extracting the firmware into its component parts, then extracting the file system image assuming its in one the supported formats. The user can then make modifications to the extracted file system, and rebuild the firmware image. Although this kit completely automates the process, it is also useful for those who need a handy collection of utilities to manipulate firmware images. The following utilities are included in this kit, along with scripts to automate their use:. This kit doesn't just collect existing tools, it also offers new ones and modifications to existing ones. Custom code currently is:. Currently TRX and uImage headers are supported. This tool wasn't officially made available until squashfs 3. A list of some of the many reasons this might be desired are:. The best way to download and use this kit is to check out the sources from the repository. The automated scripts all automatically build the executables, and the sources. It is easy as downloading something and using it that way. Also, if you are unable to use a simple SVN checkout, then it is likely that this kit is a danger to you because it is for advanced users. All of the many OpenWrt packages should work with OpenWrt images and many other firmware images. I've worked to make sure the requirements are low enough for anyone to use this kit. However, to reduce distribution costs and better represent the multi-platform capabilities of this kit, the binary tools in the kit do automatically build themselves the first time you run one of the scripts. The few requirements are all basic items that everyone has easy access to:. The kit is probably not far from compatibility, but easier to just install a linux VM. Any TRX style firmware image format should that uses squashfs-lzma as a root file system work fine. Firmwares that use regular zlib squashfs or unsupported file systems will work if the steps that extract the file system and rebuild the file system are tweaked. Instructions I've scripts that simply and abstract the firmware modification process. Basically, it's a one-step process to extract the firmware, and a one-step process to rebuild the firmware.
If you want to customize your DD-WRT installation, it is usually easier to extract files from the firmware image, change what you need, and then re-construct the image. One exception here is the Web GUI. Starting on this project, my first assumption was that the Web pages were built into the httpd binary itself. The offset is not explicitly specified and must be inferred based on the sizes of the previous files. Both the old and new formats are supported by webdecomp. There are several ways to locate websRomPageIndex. Since each structure in the websRomIndexPage array contains a pointer to the Web file path, another method of locating websRomIndexPage is to:. Looks good! However, if we change the size of Alive. Although this process is not terribly difficult, it is time consuming; obviously, some automation is in order. It has been added to the firmware-mod-kitand allows you to change the Web pages however you wish, with the following restrictions:. Have you guys dealt with those kind of firmwares? Any plans to add them in the future to firmware-mod-kit? PS: If you want me to, I can upload a firmware sample for you to take a look out of curiosity, of course. Which OpenRG-based device are you looking at? The MIWR? Yes, it does provide a telnet shell. I even have supersuser rights. I have run binwalk against a firmware -and also against a copy of the whole flash- and very little shows up. Just the u-boot and the kernel. No track of squashfs images or anything at all. The point is: Have you guys ever tried to extract stuff from an OpenRG firmware? Is it somehow in the roadmap of firmware-mod-kit? I forgot the say it, but I also ran latest firmware-mod-kit against the same files to no avail. I guess it was implied, but just in case. Sometimes the modifications are simple, sometimes more complicated. But as soon as they change versions, that source code for sure will become useless. Not sure it is a complete GPL violation, but it could perfeclty be. And the worst part of it. You get the CD with the modified sources… and then, for next version, what do you do? I still think that this is a GPL violation because source code is not exactly publicly available. I was speaking about a possible GPL violation and posted a link with a firmware to prove it. I apologize for any inconvenience. At offset 0x in the file openrg. The decompressed file vmlinux. That string is not in the webdecomp tool nor the extract scripts from the firmware mod kit. I was able to set up a working toolchain in Xbuntu in Virtual Box and had a working build for my router. The hardest part was that the dependencies scripts were using wget which refused to use anything other than IPv6 which at the time, the shitty OME firmware on my router failed to work with. Just to get the configure script to complete.
The kit works by extracting the firmware into its component parts, then extracting the squashfs-lzma based file system other file systems can be supported with tweaks. The user can then make modifications to the extracted file system, then rebuild the firmware image. I've worked hard to make sure the requirements are low enough for anyone to use this kit. However, to reduce distribution costs and better represent the multi-platform capabilities of this kit, the binary tools in the kit do automatically build themselves the first time you run one of the scripts. The few requirements are all basic items that everyone has easy access to:. Debian Lenny, Ubuntu, Linux Mint, etcissue this command in a terminal:. Any cybertan style firmware image format that uses squashfs-lzma as a root file system should work fine. Firmware that uses regular squashfs or other file systems i. As is, it is compatible with the following:. I may extend default support to cramfs, regular squashfs, and older squashfs and squashfs-lzma versions if there is sufficient demand. OpenWrt, this kit is of less use. I've written two scripts that simplify the process considerably. Basically, it's a one-step process to extract the firmware, and a one-step process to rebuild the firmware. You must run this tool from inside the directory it exists in. It doesn't matter which firmware image you supply, i. These images are usually all the same and differ only in the header format. The rebuilding process will create images for the various models. Modifying the firmware is simple. Here are the subfolders of this directory:. After you're done making changes, rebuild the firmware. Packages are pre-built collections of files pertaining to a set of software. Example use:. Rebuilding the firmware is as easy as extracting it. Building DD-WRT from source is difficult and according to the text here definitly not working on first try. You will see lots of strange errors and many confusing install-scripts. The forum is full of people who were not able to make this install-procedure running through. The infos in the forum is much newer than these here, but also very confusing and mixed up. Brainslayer does not have the time to do everything. If this happens and I don't update them, please take the time to update them if you are sure your changes are appropriate. It should work on any reasonably modern machine with basic development tools installed. You can also visit the github mirror of dd-wrt for alternate download options This is a just a mirror, pull requests on github will not be merged. Please be aware that the repository contains the sources for several linux kernel versions for each hardware platform, so be prepared for a very long download 18G. As of Maythe selective checkout is 2. Another way to get the source is to download it from the Downloads Section. Afterwards you need to extract it which is done simply by using a command like:. You'll need the 3. They are available at [  ] for x86 users. There is also a ppc version in the download section at [  ] The mips-uclibc 3. Unpack the toolchains wherever you desire, the scripts below will set up symlinks appropriately.
Modifying The DD-WRT GUI
Joinsubscribers and get a daily digest of news, geek trivia, and our feature articles. Assuming you are familiar with those topics, keep reading. Keep in mind that this guide is a little more technical, and beginners should be careful when modding their router. The firmware modification kit enables one to make modifications to the firmware without compiling it from source. Making changes this way, with the aid of the provided scripts, becomes a simple matter of downloading, replacing and deleting some files. In addition, this method has the added advantage of relieving you from the JFFS dependency for packages installation, which for routers with only 4MB of flash is a real problem. Picture by publicenergy. Once you have followed this procedure it should be relevantly simple to adapt it for other packages installations. Warning : Tread lightly… keep in mind that incorrect usage of the modification kit, can leave you with a router that needs de-brick-ing as in turn it into a useless brick. The firmware modification kit has some dependencies for it to compile and work. The first thing to consider is which version you want to use? In order to make it easier to keep track of what version we are using, rename the downloaded file to represent its version number:. In order to be able to change files within the firmware we need to extract its content into a temporary directory. The syntax of this command is:. Note: The first time you run this command, it builds the mod-kit tools on your system. Now that the firmware is extracted we can install the packages to it. In general, the procedure is to download the package and its dependencies in the form of an ipk file from the openWRT repository. Once downloaded install them into the extracted firmware using the provided script. Knockd is a daemon that listens to communication events at the link layer for sequences then acts on them. Using this technique you could trigger the server to perform any sort of operation you need of it remotely across the internet without exposing your home network. We promised you back then that we will show how to configure this for DD-WRT and we will now deliver. This is mainly useful if your going to create scripts on the router that you would like to receive feedback on their operation via email. Gmailyou have to install the openSSL pakage as well. Configurations There is a limitation with the SSMTP package, that it is not possible to invoke it with an alternate configuration file. Because the firmware is read-only when its on the router, that means that out of the box we can only hardcode the configuration into the firmware. To that end, both Jeremy the firmware mod-kit creator and myself reached the conclusion independently if i may humbly add that the only sane way to do this would be to:. To do this, delete the ssmtp directory that was created by the ipk installer:. An init script While it is completely possible to not inject this script into the firmware and run it as a startup script later on, I feel its appropriate to put it here if only as an example for future use. Take note of the NVRAM waiting variables in the script, it is our responsibility to give them something to work with after we have installed our modified firmware on the router. Now that everything is in place, it is time to re-package the modified firmware into a compressed binary that we can flash to the router. Note : if your using a regular, non TLS using, smtp server the port to use is 25 instead of Because we used the -vvv option for extra verbosity, the output of this command should look like:. Linux extends life, Linux expands consciousness… Linux is vital for packet travel. The Best Tech Newsletter Anywhere. Joinsubscribers and get a daily digest of news, comics, trivia, reviews, and more. Windows Mac iPhone Android. Smarthome Office Security Linux. The Best Tech Newsletter Anywhere Joinsubscribers and get a daily digest of news, geek trivia, and our feature articles.