Difference between pages "Tutorials/Reverse engineering embedded software using Radare2" and "User:Kye Russell"

From LCA2015 Delegate wiki
(Difference between pages)
Jump to: navigation, search
 
(Created page with "Computing student at Curtin University. Based in Perth, Australia. Apple guy, fight me. Vice President of ComSSA, the Computer Science Students Association at Curtin Universit...")
 
Line 1: Line 1:
This page describes preparation for [http://linux.conf.au/schedule/30102/view_talk?day=thursday Reverse engineering embedded software using Radare2]
+
Computing student at Curtin University. Based in Perth, Australia. Apple guy, fight me. Vice President of ComSSA, the Computer Science Students Association at Curtin University. I run CoderDojo at Curtin University, a free volunteer-driven programming class for school children.
 
+
== Outline ==
+
 
+
We will try and get through all the following:
+
 
+
* Introduction to Radare2 reverse engineering tool
+
* The Radare2 utilities
+
* Basics of using the Radare2 reverse engineering to with a binary you probably have on your laptop
+
* Looking at an arduino binary
+
* Introduction to MIPS architecture and assembly
+
* Extracting firmware images
+
 
+
You might like to bring your own binary to play with as well instead!
+
 
+
== Prerequisites ==
+
 
+
If you are planning to work through the examples and try your own thing during the session, you really want to get this sorted before the event.
+
 
+
Minimum requirements:
+
* a C compiler and libraries needed to build radare2 - the "apt-gettable" version is out of date
+
* xdot for viewing callgraphs.
+
 
+
Various other tools may be helpful, and indeed needed (e.g. an editor) to complete some of the examples
+
 
+
If you are using a Debian-derived distro, for example:
+
 
+
    sudo apt-get install build-essential xdot eog ghex binwalk vim gedit srecord
+
 
+
It should be possible to build radare2 on Linux, FreeBSD/NetBSD etc, Max OS/X and Windows and possibly on Android if you try hard enough (using a Debian root, for example)
+
 
+
However, the tutorial examples have only been tested using Debian Wheezy.
+
 
+
=== Clone & build radare2 ===
+
 
+
Note, changing to the lca2015_tutorial branch is important, because the software is under active development there could be breakage in master upstream
+
 
+
    git clone http://github.com/pastcompute/radare2
+
    cd radare2
+
    git checkout tutorial_branch
+
    ./configure
+
    make -j
+
    sudo make symstall
+
 
+
Note, you can install as a normal user if you need to:
+
 
+
    ./configure --prefix=$HOME/path/to/wherever
+
    make -j
+
    sudo make symstall
+
    export PATH=$HOME/path/to/wherever:$PATH
+
 
+
Clone the examples repository
+
 
+
    cd
+
    git clone http://github/com/pastcompute/lca2015-radare2-tutorial
+
 
+
==Troubleshooting==
+
 
+
The tutorial is not until Tuesday Afternoon so if you need help with the above ping me on Twitter : [https://twitter.com/pastcompute @pastcompute]
+

Latest revision as of 13:15, 10 January 2015

Computing student at Curtin University. Based in Perth, Australia. Apple guy, fight me. Vice President of ComSSA, the Computer Science Students Association at Curtin University. I run CoderDojo at Curtin University, a free volunteer-driven programming class for school children.