Skip to content

Commit

Permalink
Add the_book
Browse files Browse the repository at this point in the history
Signed-off-by: innocentzero <[email protected]>
  • Loading branch information
InnocentZero committed Jul 2, 2024
1 parent 4dba9ef commit 7c608d4
Show file tree
Hide file tree
Showing 7 changed files with 157 additions and 76 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
public
3 changes: 2 additions & 1 deletion config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ header_nav = [
{ url = "https://exploiitm.github.io/", name_en = "home" },
{ url = "/blog", name_en = "blog"},
{ url = "/blog/writeups", name_en = "writeups"},
{ url = "/blog/about" ,name_en = "about"}
{ url = "/blog/about" ,name_en = "about"},
{ url = "/blog/contacts" ,name_en = "contact"}
]

# Optional footer license text. It will only show, when using footer_content_license.
Expand Down
1 change: 1 addition & 0 deletions content/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Official blog of Cybersecurity Club, IIT Madras.
## Posts

- [BoB](./posts/the_book)
- [Summer School](./posts/summer_school)
- [View all posts](./posts)

Expand Down
151 changes: 89 additions & 62 deletions content/about.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion content/posts/summer_school.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title = "Summer School 2024"
date = 2024-07-01
+++

In the summer school conducted by the Cybersecuirty club, titled **"The Art of Exploitation"** , we provided a 9 session course on binary exploitation.
In the summer school conducted by the Cybersecurity club, titled **"The Art of Exploitation"** , we provided a 9 session course on binary exploitation.
This course coverd everythin from the basics of C to advanced topics including ret2libc, ASLR and more.

You can find the [YouTube playlist](https://www.youtube.com/watch?v=EfeU8pxDhVE&list=PLhHkiL2SJ7Xf9Meg6fj-yLJt1DJ0bwSAZ&pp=iAQB) of the recordings.
Expand Down
49 changes: 49 additions & 0 deletions content/posts/the_book.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
+++
title = "The Book Of Binaries"
date = 2024-07-02
authors = ["InnocentZero"]
+++

Hi everyone, InnocentZero here. I've taken up on a very ambitious and extensive
"project" if you choose to call it that. I'll be writing a book about binaries.
That's it. Executables. But of all sorts.

The main focus will be from a security and optimization point of view. It plans
to touch a vast range of topics ranging from compilers and linkers to operating
systems, embedded firmware and hardware design. Once again, all from the point
of view of mainly security.

This is a massive project and would require many months if not complete years to
be in a remotely publishable stage. As of now, one of the chapters that serves
as a basic introdcution to C programming is complete.


## Why do it?

Simply because we love sharing knowledge. On a personal basis, I want this book
to be a complete and total encyclopedic and academic text to everything about
executables. Let's see how we reach there and if there's a change of plans in
between.

When I first entered this domain, the hardest part was to get a proper source
of information and knowledge in this field in particular. Web is easy, forensics
is mostly about dealing with the data given at hand and seeing if you can
extract something from it and cryptography is just mathematics. But to
understand rev and pwn, you need a very solid base that most people often do not
have. And many a times, CTF write-ups just tell you _how_ to exploit a challenge
without telling you the exact specifics of it. The _why_. That's what this book
is for.

While there are many other notable attempts at this, the most important one
being "The Art of Exploitation", I feel they are somewhat dry in nature and not
engaging enough for the audience. On the other hand, this book is a direct
inspiration from the "The Art of Computer Programming", as I definitely found
it to be a very engaging text.

## The How, typst and more

The book is available for free [here](https://codeberg.org/innocent_zero/the_book).
It utilizes the new typst tool for generation of the book. I chose this because it's
far easier and faster to compose books in typst than in Latex. It is licensed
under Creative Commons, so with proper attribution nobody should have issues
utilizing or promoting the book.
26 changes: 14 additions & 12 deletions templates/blog-page.html
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
{% extends "base.html" %}

{% block content %}
{% extends "base.html" %} {% block content %}
<div><a href="..">..</a>/<span class="accent-data">{{ page.slug }}</span></div>
<time datetime="{{ page.date }}">Published on: <span class="accent-data">{{ page.date }}</span></time>
<time datetime="{{ page.date }}"
>Published on: <span class="accent-data">{{ page.date }}</span></time
>
{% if config.extra.author and config.extra.display_author == true %}
<address rel="author">By <span class="accent-data">{{config.extra.author}}</span></address>
<address rel="author">
By
<span class="accent-data"
>{% if page.authors %} {% for author in page.authors %} {{ author }}, {%
endfor %}and {% endif %}{{ config.extra.author }}
</span>
</address>
{% endif %}
<h1>{{ page.title }}</h1>

Expand Down Expand Up @@ -33,15 +39,11 @@ <h2>Table of contents</h2>
</li>
{% endfor %}
</ul>
{% endif %}

{{ page.content | safe }}
{% endif %} {{ page.content | safe }}

<p class="tags-data">
{% if page.taxonomies.tags %}
{% for tag in page.taxonomies.tags %}
{% if page.taxonomies.tags %} {% for tag in page.taxonomies.tags %}
<a href="/blog/tags/{{ tag | slugify }}">&#47;{{ tag }}&#47;</a>
{% endfor %}
{% endif %}
{% endfor %} {% endif %}
</p>
{% endblock content %}

0 comments on commit 7c608d4

Please sign in to comment.