Installing EDB Debugger on Ubuntu Linux
Evan's debugger, edb or EDB-debugger is a great OllyDbg-like tool to play with executables, disassemble them, write exploits, etc. In this article I will show how to install it on Ubuntu Linux.
Point is it needs some pre-requisites, and the install guide for it doesn't tell how to install them making the process not-so-straightforward. Here we fix it.
Disclaimer On this web site you might read about
or get access to various kinds of software and technology, including but not limited to libraries,
operating systems, software for communications, mobile phones and tablets,
Android software and Linux, even cars and motorcycles, security and penetration testing software,
software used in security research and forensics, some samples of software which can be
used (elsewhere) for malicious or illegal purposes. You will read about or be provided with
the ways to change it, to operate it and to use it. You might find advice and recommendations,
which are only an opinion, and not a legal advice or commercial recommendation..
Bear in mind, please, that everything you do, you do solely at your own risk
and responsibility. In no way the author of this web site, information, graphics
and other materials presented here or related to it can be made liable or
anyhow else responsible for your own actions as well as
actions of any third party and their direct or indirect results or consequences
with or without the use of this information as well as the software,
technology and systems mentioned and/or presented here,
no matter if developed by the author or by any third party.
In no way it is guaranteed that you will meet any suitability for
any particular purpose, safety, security, legality or even simply
functioning of the software and systems described here. You have to make
sure each time yourself, whether what you do, is really what you intend to
do, and that you are ready to be yourself responsible for. All the recommendations
and experiences described here are the opinions of corresponding authors and
are to be taken with care and own full responsibility.
The software provided
on or through this web site, linked to from this web site or anyhow else
related to this web site is provided by the corresponding authors on their
own terms. We provide all the software here as is without any guarantees to you.
You are responsible for deciding whether it is suitable for you or not.
You are also responsible for all direct or indirect consequences of using this
software.
Other web sites linked to from the current one are out of the author's control,
we can not guarantee anything about their content, its quality or even legality. We
can not be liable for any use of the linked to web sites or of the information presented there.
We reasonably try to keep this website running smoothly and to deliver
information to the best of our knowledge corresponding to the state of the art at the times
when the information is composed, usually presented together with the information, and out of good intents.
We can not however guarantee and can not be liable for this website being temporarily or permanently
unavailable, presenting unreliable information or software, or any other similar or not malfunctioning
or functioning not up to your expectations as well as any consequences
which might result from this site's operation.
The edb debugger is a great simple tool helping you to debug binaries and build exploits.
Most probably, you know what it is for if you are reading this, otherwise look here to learn more about it.
Installing edb
First install the packages needed. It is the easiest and fastest way to get your libraries in tact.
On 32bit Ubuntu this worked for me:
sudo apt-get install git build-essential pkg-config
sudo apt-get install cmake
sudo apt-get install qt5-qmake qtcore5-dev libqt5svg5-dev libqt5xmlpatterns5-dev
sudo apt-get install libboost-dev
On 64bit Ubuntu:
sudo apt-get install git build-essential
sudo apt-get install pkg-config cmake
sudo apt-get install qttools5-dev-tools qt5-qmake qt5-default
sudo apt-get install libboost-dev
Next, get capstone and build it:
git clone https://github.com/aquynh/capstone.git
# Use my fork, if the repository moved.
# But better find one which is updated!
# git clone https://github.com/qutorial/capstone.git
cd capstone
./make.sh
sudo ./make.sh install
Finally clone the edb-debugger:
git clone --recursive https://github.com/eteran/edb-debugger.git
# Again, here is my outdate version, which I installed.
# The git modules problem is fixed here.
# But better use the updated one.
# git clone --recursive https://github.com/qutorial/edb-debugger
# Check also the forks of submodules in my github account: github.com/qutorial/
and build it
cd edb-debugger
mkdir build
cd build
cmake ..
make
sudo make install
The 'cmake ..' command above might fail for a number of reasons.
The most popular reason is an absent library edb depends on. See the instructions above to install them on Ubuntu.
Another reason to fail might be connected to submodules. Check the .gitmodules file, there were two submodules at the time I wrote this manual. Make sure that both of the submodules are checked out right. In my case both submodules failed to check out.
One reason for this was a git:// url specified for one of them and an HTTP proxy on my way. I submitted a pull request already suggesting to fix it, commit link. You can modify this way the .gitmodules file, then call 'git submodule sync' and 'git submodule update --remote' if you have the same problem.
Another submodule also failed to check out. I gave it a gentle kick with 'git submodule update --remote' and then the cmake command succeeded.
You should be good to go now!
edb
Checkout PEDA if you want something console-based and maybe more powerful.
Edit 1.
This article has been updated on request.
Some Qt package names have apparently changed in Ubuntu.
Thanks for reading my blog!