Reverse Engineering RT-AX52 firmware into Rust Code

New Personal Engineering/Development Project Commencing

Hi everyone, out of personal intrigue and interest in enhancing OpenWrt 's firmware for the greater good / greater online community of users that own the same router 'ASUS RT-AX52' my idea is to commence a project whereby I select the latest available OpenWrt firmware for this router, and commence incremental replication of components into rust crates and basically hopefully achieving a fully functional secure rust based version from which more can emerge from like minded developers interested in contributing.

Leave a reply if interested and I will be making a GitHub repository for this available if anyone is interested, let me know and I will share the repository link with you, it is of course fully open source I don't have any intention of making it something other than that. Only ensuring that with all threats considered in the digital space in modern day computing such as phishing now harvesting later , the many adversarial Al, multi tool and agent based exploits emerging , typical coding languages do tend to have the very real risk of getting hijacked and tampered with unsuspectedly by the end user of the product they are using daily, and by the time it is noticed so much data would have been exfiltrated exported and disseminated that it actually raises serious alarm bells to the security conscious.

If I or we all put some effort into getting this happening as a first step move, more code can more easily be made to switch over seamlessly enhancing the overall ecosystem here, and keeping pace with emerging issues and threats without losing functionality , although my personal belief is that this should be a parallel firmware offering if successful along side the current development and code releases as a rust variant , with citations and comparisons side by side to assist users in making the best choice for their personal or any reasons they may have , covering a wider demographic of preference and more 'Wireless Freedom' as the slogan says!

PS. I will be providing a link soon here with the README.md and other details comprehensively covering what this is going to be and I would tremendously appreciate genuine feedback and suggestions ( a co operative , and I am keen to make changes to suit genuine suggestions that make a positive impact) !

I genuinely fail to understand this mentality of everything must be re-written in rust. There’s no reason to redo code that has been battle tested for literal decades. Sure, there may be vulnerabilities that pop up now and then, but that’s a problem regardless of the language. As a side note, rust binaries are utterly massive in comparison, which would immediately eliminate support for half of the supported devices today.

As a much better use of your time, I’d recommend you develop guidelines to better educate developers on writing secure code and designing secure systems.

Also, this project will never see any sort of official support as maintainer resources are already strained enough, and managing another entire fork would make the situation even worse.

1 Like

Fair call, I'll re phrase my objective/s , as of now it is officially a to do hobby project I commenced , but incrementally and hopefully it will get there, by then this router will be vintage tech , well I hope not that long a time frame

It sounds like the ravings of a cult.
Security is determined not by language, but by the level of professionalism of the programmer.

3 Likes

That is you want to rewrite linux kernel in rust?

No no, you do the first step, unconditionally. Map random otherwise uselessusb or pci device to userspace and check how well rust goes around permanent mmap-ing devices iomem.

1 Like

My two cents:

  • Translating C code into Rust code is not what we call “reverse engineering”.
  • OpenWrt is a Linux distribution, with close to 10.000 packages (including the humongous Linux Kernel); a minimal installation has probably between 100 and 150 packages (including the humongous Linux Kernel)… be prepared for a long long task.
  • Except for a few packages like uci and LuCi, everything else is maintained upstream; perhaps you will want to contact their respective maintainers (starting with the humongous Linux Kernel).
  • Open source is driven by leaders not bosses… show the code or shut up.

Hope this helps.

1 Like

Knock yourself out - it’s open source.