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

From LCA2015 Delegate wiki
(Difference between pages)
Jump to: navigation, search
 
(Building a website with Drupal 8)
 
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]
+
{{Trail|Programme|Tutorials|Tutorials/Drupal8 outta the box}}
  
== Outline ==
 
  
We will try and get through all the following:
+
= Planning to build a website =
  
* Introduction to Radare2 reverse engineering tool
+
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!
* 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!
+
Or if you want to choose your own dummy content, rather than use the samples provided... here's some fun sites to peruse.
  
== Prerequisites ==
+
'''Words'''
  
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.
+
* http://mashable.com/2013/07/11/lorem-ipsum/
 +
* http://www.cupcakeipsum.com/ -- Cupcake ipsum is my favourite.
  
Minimum requirements:
+
'''Pictures'''
* 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
+
* http://placehold.it/
 +
* https://placekitten.com/
  
If you are using a Debian-derived distro, for example:
+
=== Purpose ===
  
    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)
+
What job will this site have?
 +
* sell stuff?
 +
* build a community?
 +
* documentation?
 +
* record an event?
  
However, the tutorial examples have only been tested using Debian Wheezy.
 
  
=== Clone & build radare2 ===
+
=== Audience ===
  
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
+
Who will visit the website?
    cd radare2
+
* Personas
    git checkout tutorial_branch
+
* Demographics
    ./configure
+
* Language / Geography
    make -j
+
* Devices / Browsers
    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
+
=== Content ===
  
    cd
+
Getting the information architecture right from the start is important.
    git clone http://github.com/pastcompute/lca2015-radare2-tutorial
+
* Content Modelling
 +
* Navigation
 +
* Search
 +
* Taxonomy
  
==Important - please make an rc file ==
+
This is the stuff your website is all about.  Here's some resources on creating compelling content for the web.
  
Radare2 will by default print fortune cookies. Please, turn this off, in case there is a possibility of NSFW output.
+
http://www.squiz.net/au/stories/insights/10-commandments-for-content-creation
  
    echo 'e cfg.fortunes=false' > ~/.radare2rc
+
=== Style / Design / Mockups / Wireframes ===
  
 +
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.
 +
* Logo
 +
* Colour
 +
* Images
 +
* Layout
  
==Troubleshooting==
+
Resources
  
The tutorial is not until Tuesday Afternoon so if you need help with the above ping me on Twitter : [https://twitter.com/pastcompute @pastcompute]
+
https://wireframe.cc/
 +
 
 +
=== Planning Tools ===
 +
There's a range of tools out there to help you plan your site.  (know any others? Add them here.)
 +
 
 +
* https://www.jumpchart.com/
 +
 
 +
== Join the community ==
 +
We'll be working with Drupal8.  The training sites we're using were built against HEAD late last week.  So they're a little bit behind the bleeding edge, and they're very much in BETA.  So we're likely to hit some rough edges.  If you do, report them.  To do that, you'll need to have an account on Drupal.org
 +
 
 +
 
 +
=== Go to https://www.drupal.org/user/register ===
 +
 
 +
It looks like this.
 +
 
 +
 
 +
 
 +
 
 +
== Building a website with Drupal 8 ==
 +
 
 +
=== 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 add menus of our own
 +
 
 +
=== 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 09:50, 12 January 2015

< Main Page < Programme < Tutorials < Tutorials/Drupal8 outta the box


Planning to build a website

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!

Or if you want to choose your own dummy content, rather than use the samples provided... here's some fun sites to peruse.

Words

Pictures

Purpose

What job will this site have?

  • sell stuff?
  • build a community?
  • documentation?
  • record an event?


Audience

Who will visit the website?

  • Personas
  • Demographics
  • Language / Geography
  • Devices / Browsers


Content

Getting the information architecture right from the start is important.

  • Content Modelling
  • Navigation
  • Search
  • Taxonomy

This is the stuff your website is all about. Here's some resources on creating compelling content for the web.

http://www.squiz.net/au/stories/insights/10-commandments-for-content-creation

Style / Design / Mockups / Wireframes

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.

  • Logo
  • Colour
  • Images
  • Layout

Resources

https://wireframe.cc/

Planning Tools

There's a range of tools out there to help you plan your site. (know any others? Add them here.)

Join the community

We'll be working with Drupal8. The training sites we're using were built against HEAD late last week. So they're a little bit behind the bleeding edge, and they're very much in BETA. So we're likely to hit some rough edges. If you do, report them. To do that, you'll need to have an account on Drupal.org


Go to https://www.drupal.org/user/register

It looks like this.



Building a website with Drupal 8

Basic site configuration

D8otb-siteinfo.png
  • 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

d8otc-menus.png

We get a few menus out of the box

But we can also add menus of our own

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