Coder Social home page Coder Social logo

lunam00n / binary_dissection_course Goto Github PK

View Code? Open in Web Editor NEW

This project forked from compilepeace/binary_dissection_course

1.0 1.0 0.0 2.82 MB

This repository is a tutorial which aims at going through practical dissection and analysis in the world of binaries.

Makefile 27.64% C 72.36%

binary_dissection_course's Introduction

DISSECTING BINARIES

Hello people, this course aims at giving an insight regarding the inner details of a binary. Currently, this course focuses only on ELF binaries. It may prove useful to people interested in domains like:

  • Malware Analysis
  • Reverse Engineering
  • Writing low level softwares (bootloaders or Operating systems)
  • Binary Instrumentation
  • Backdooring binaries
  • Binary Exploitation

PRE-REQUISITES

A familiarity with the Linux working environment and experince with some programming languages (not absolutely necessary though) would be appreciated. No issues, if you don't know much, even I am a noob :) I am working on UBUNTU 18.04 (x86_64 bit) as my host machine (We'll be doing cross-compilation for x86_32 bit architecture whenever required).

TABLE OF CONTENT

  1. Introduction to world of Binaries
  2. Executable and Linkable Format (ELF)

USAGE

All the files used in this course are linked and can be downloaded to reproduce the results on your system. First clone the repository on your local system. To do this type the bellow given commands.

critical@d3ad:~$ git clone https://github.com/compilepeace/BINARY_DISSECTION_COURSE
Cloning into 'BINARY_DISSECTION_COURSE'...
remote: Counting objects: 94, done.
remote: Compressing objects: 100% (56/56), done.
remote: Total 94 (delta 22), reused 82 (delta 13), pack-reused 0
Unpacking objects: 100% (94/94), done.

If you want to build the binaries from the source code on your system then move to the directory whose binaries you want build for your system and in that directory (for eg: I am in BINARY_DISSECTION_COURSE/ELF/ELF_HEADER directory) , type the bellow given commands.

critical@d3ad:~/BINARY_DISSECTION_COURSE/ELF/ELF_HEADER$ make clean
rm hello_32 hello_64 
critical@d3ad:~/Desktop/BINARY_DISSECTION_COURSE/ELF/ELF_HEADER$ make
gcc -m32 -no-pie hello.c -o hello_32 
gcc -no-pie hello.c -o hello_64 

CONTRIBUTIONS AND ISSUES

Please let me know if something needs to be corrected or if you're having any doubts regarding some topic or if some topic is not clear. Feel free to open issues regarding the same and I'll be happy to help :)


You can also email me regarding any queries,
NAME : ABHINAV THAKUR
EMAIL: [email protected]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.