Skip to content
Michael Messner edited this page Mar 1, 2023 · 90 revisions

Welcome to the wiki of EMBA


tl;dr

EMBA is an incredibly versatile and easy-to-use firmware analyzer. Clone it, install it with the installer script: sudo ./installer.sh -d and then run it with sudo ./emba.sh -f ../firmware.bin -l ../log_dir -p ./scan-profiles/default-scan.emba. After the scan has gone through, just look at the ../log_dir/html_report/index.html in the browser. Have fun.


To find out more about the individual functions of EMBA, installation instructions or user instructions, use the wiki menu on this page. If you still have questions, then open an issue with the label Question.

Motivation

There is a wide range of software that can analyze firmware, with a focus on Linux-based firmware, but none of them have lived up to our expectations. That's why we combined the best open-source tools from our community here into one simple application and built a framework for it so that EMBA can give you the best result in the end. The main focus of EMBA is to be easy to use, easy to customize and still be able to identify all possible weak points. In the beginning of this project, we decided, that EMBA should be able to run with as few parameters as possible. Using EMBA should improve your workflow and not take hours to learn how to use. During the development, we added many new features without compromising the simplicity. This is also why we use bash and have no plans to rewrite EMBA in another language. As a pentester, you use your terminal on a daily basis and normally you should find it very easy to adapt and extend EMBA to your needs.

Publications, Talks and Live demos

Black Hat sessions

Black Hat Arsenal Black Hat Arsenal Black Hat Arsenal

[Languages: DE = German / EN = English]

Disclaimer

We try our best to keep this documentation up to date. However, we're only human (although the whole project is written in Bash) and sometimes we overlook something. If you're missing something in the wiki, just open an issue and we'll add it if it fits. You are also welcome to add missing content directly in the newly opened issue; we are always happy to receive external contributions to EMBA. The images in particular can deviate from the actual output of EMBA, as we are constantly optimizing it and do not want to adapt it every time. In any case, they are enough to get the idea across.