Difference between pages "Tutorials/d8otb/outline" and "Tutorials/Reverse engineering embedded software using Radare2"

From LCA2015 Delegate wiki
(Difference between pages)
Jump to: navigation, search
(Planning to build a website)
 
 
Line 1: Line 1:
{{Trail|Programme|Tutorials|Tutorials/Drupal8 outta the box}}
+
This page describes preparation for [http://linux.conf.au/schedule/30102/view_talk?day=thursday Reverse engineering embedded software using Radare2]
  
 +
== Outline ==
  
= Planning to build a website =
+
We will try and get through all the following:
  
We won't be going through this section in detail in the tutorial.  We'll be building a sample site with a lot of this thinking already done. But if you want to use your own sample content, have a think about these things and come prepared!
+
* Introduction to Radare2 reverse engineering tool
 +
* The Radare2 utilities
 +
* Basics of using the Radare to examine a binary you probably have on your laptop
 +
* Looking at an arduino binary
 +
* Introduction to MIPS architecture and disassembly
 +
* Extracting firmware images
  
Or if you want to choose your own dummy content, rather than use the samples provided... here's some fun sites to peruse.
+
You might like to bring your own binary to play with as well instead!
  
'''Words'''
+
==Important - please make an rc file ==
  
* http://mashable.com/2013/07/11/lorem-ipsum/
+
Radare2 was created by other, many people. Radare2 will by default print fortune cookies. Please, turn this feature off, by making the following file, in case there is a possibility of NSFW output.
* http://www.cupcakeipsum.com/ -- Cupcake ipsum is my favourite.
+
  
'''Pictures'''
+
Instructions for Linux/Unix systems:
  
* http://placehold.it/
+
    echo 'e cfg.fortunes=false' > ~/.radare2rc
* https://placekitten.com/
+
  
=== Purpose ===
+
== Prerequisites ==
  
 +
If during the tutorial you are planning to follow the examples and/or try your own ideas, you really want to get this sorted before the event.
  
What job will this site have?
+
Minimum requirements:
* sell stuff?
+
* a C compiler and libraries needed to build radare2 - the "apt-gettable" version is out of date
* build a community?
+
* xdot for viewing callgraphs
* documentation?
+
* binwalk and srecord for firmware hacking
* record an event?
+
  
 +
Various other tools may be helpful, and indeed needed (e.g. an editor) to complete some of the examples
  
=== Audience ===
+
If you are using a Debian-derived distro, for example:
  
 +
    sudo apt-get install build-essential git xdot eog ghex binwalk vim gedit srecord
  
Who will visit the website?
+
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)
* Personas
+
* Demographics
+
* Language / Geography
+
* Devices / Browsers
+
  
 +
However, the tutorial examples have only been tested using Debian Wheezy.
  
 +
=== Clone & build radare2 ===
  
=== Content ===
+
Note, changing to the lca2015_tutorial branch is important, because the software is under active development there could be breakage in master upstream
  
Getting the information architecture right from the start is important.
+
    git clone http://github.com/pastcompute/radare2
* Content Modelling
+
    cd radare2
* Navigation
+
    git checkout tutorial_branch
* Search
+
    ./configure
* Taxonomy
+
    make -j
 +
    sudo make symstall
  
This is the stuff your website is all about.  Here's some resources on creating compelling content for the web.
+
Note, you can install as a normal user if you need to:
  
http://www.squiz.net/au/stories/insights/10-commandments-for-content-creation
+
    ./configure --prefix=$HOME/path/to/wherever
 +
    make -j
 +
    sudo make symstall
 +
    export PATH=$HOME/path/to/wherever:$PATH
  
=== Style / Design ===
+
Clone the examples repository, ready for use during the tutorial
  
We're using D8 Outta the box, so we'll be using Bartik. Not doing a lot of design, but still, need to think about colour, images, logo.
+
    cd
* Logo
+
    git clone http://github.com/pastcompute/lca2015-radare2-tutorial
* Colour
+
* Images
+
  
=== Planning Tools ===
+
I have already added prebuilt examples to git but there are instructions for building them in git, you will need the arduino IDE or an openwrt buildroot.
There's a range of tools out there to help you plan your site.  (know any others? Add them here.)
+
  
* https://www.jumpchart.com/
+
==Troubleshooting==
  
== Building a website with Drupal 8 ==
+
The tutorial is not until Thursday afternoon. If you need help with the above ping me on Twitter, preferably before the day! [https://twitter.com/pastcompute @pastcompute]
 
+
=== Basic site configuration ===
+
[[File:D8otb-siteinfo.png|right]]
+
* Site name
+
* Site slogan
+
* Email address
+
* Default front page, and error pages
+
 
+
=== Nodes and other entities ===
+
 
+
==== Default content types ====
+
 
+
* Article
+
* Basic Page
+
 
+
Go to SITEURL/node/add to add content
+
 
+
==== Custom content types ====
+
 
+
Go to SITEURL/admin/structure/types/add
+
 
+
==== Users ====
+
 
+
* anon
+
* auth
+
* admin
+
 
+
===== Roles =====
+
 
+
===== Permissions =====
+
 
+
==== Taxonomy ====
+
 
+
=== Menus ===
+
[[File:d8otc-menus.png|right|400px]]
+
We get a few menus out of the box
+
 
+
But we can also create menus
+
 
+
=== Views ===
+
 
+
Views.  The single most popular module for previous versions of Drupal, is now in core. It's a powerhouse. But complex. We'll start simple.
+
Views is a list maker, a query generator. It lets you slice and dice your content in all sorts of wonderful ways.
+
 
+
=== Blocks ===
+
 
+
 
+
 
+
=== Wysiwyg ===
+
 
+
 
+
 
+
=== Mobile ===
+
 
+
 
+
 
+
=== RSS, Json and other feeds and streams ===
+

Revision as of 22:35, 10 January 2015

This page describes preparation for Reverse engineering embedded software using Radare2

Outline

We will try and get through all the following:

  • Introduction to Radare2 reverse engineering tool
  • The Radare2 utilities
  • Basics of using the Radare to examine a binary you probably have on your laptop
  • Looking at an arduino binary
  • Introduction to MIPS architecture and disassembly
  • Extracting firmware images

You might like to bring your own binary to play with as well instead!

Important - please make an rc file

Radare2 was created by other, many people. Radare2 will by default print fortune cookies. Please, turn this feature off, by making the following file, in case there is a possibility of NSFW output.

Instructions for Linux/Unix systems:

   echo 'e cfg.fortunes=false' > ~/.radare2rc

Prerequisites

If during the tutorial you are planning to follow the examples and/or try your own ideas, 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
  • binwalk and srecord for firmware hacking

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 git 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, ready for use during the tutorial

   cd
   git clone http://github.com/pastcompute/lca2015-radare2-tutorial

I have already added prebuilt examples to git but there are instructions for building them in git, you will need the arduino IDE or an openwrt buildroot.

Troubleshooting

The tutorial is not until Thursday afternoon. If you need help with the above ping me on Twitter, preferably before the day! @pastcompute