Ke$ha to the hackathon!

” Wake up in the morning
feeling like p-diddy
grab my glasses
I’m out the door
I’m gonna hit the city
before I leave brush my teeth with a bottle of jack
’cause when I leave for the night I ain’t coming back “

Yeah I know, this isn’t really a politzer winning poem, or a healthy style of living,
It is however a lot like how a computer think!

A computer program usually comes to solve some sort of problem or simulate a situation.
In order to do that, one has to break down the tasks to perform into basic instructions so that the computer won’t miss any detail, and that my friends – requires some planning.

Imagine you’re to build a house. If you won’t use a well planned architecture you’ll probably
have a lot of issues building that house. The foundations have to be strong, the walls straight and the roof has to be 100% water proof for example.
It’s the same with computers.

A programmer has to follow a few steps before even writing th first line of code:
#define the_problem
#define tools_targets_backupPlan
break (easy_problems(hard_problems));
//and figure out the sequence of events!
/*Probably some I/O operations as well but we’re not gonna be talking
about them just yet */

Those of you who noticed I used a bit of C/C++ syntax there – well done! Though it’s just cosmetics within the scope of this post.

So I believe with just a little effort even Ke$ha can become a programmer. Actually, let’s have a bit of fun and show Ke$ha how exactly we can turn the “tik tok” lyrics into a computer program flow if we only change the order of the lines a bit:

code

 

I know I know, It’s not exactly intuitive, oh you didn’t care about that and thought I don’t have a life?  Rude. True, but rude!

wrong-unicorn-7

Seriously though, you should really follow these guidelines if you wish to write code that works and runs without any unexpected behaviors (more on that later) every time you run it! I know enough programmers (or hacker wannabes) who don’t go through this procedure when designing their code and let me tell you this – it shows. The outcomes are just not good; programs crush, causing memory leaks and even crushing the system and expose the computer to security breaches (don’t worry we’ll get there).

DON’T BE LAZY! Walk the extra mile! That’s what differentiate between the mediocre and the expert.
Also, don’t think you’re super smart and talented you can jump straight to writing code – always plan ahead, even if it’s just a simple recursive file infecting virus program (academic, naturally).

Developing a Plan

I’m off to do something useful with my life.
Nope, probably not,
Ar3p0

 

Blog

“And on the third day, God created the Remington bolt-action rifle, so that Man could fight the dinosaurs. And the homosexuals.”

Hello everyone, I am ar3p0, a 16yo cyber geek from IL.

Now that we’re done with introductions it’s time to start talking process. No, not computer processes (well not just yet) but the process of learning! Isn’t it fun? no not really but this is my blog so I make the rules.

I have a basic background in C and OSs (especially linux since I have no friends) and some x86 skills. I tried to learn by myself and become a super-mega-l33t h4x0r (jk) using books, blogs, YouTube – u name it, and though I gained a lot of knowledge I still lack the practical experience, so after a year (or more) break I decided to clean the dust off my laptop (wasn’t that dusty, I do watch porn after all) and start looking for a better path for me.

I came across this site called binary-auditing where a university professor (don’t know who’s the man and where does he teach, it doesn’t say) published a complete guide for the absolute beginners. This guide is forcing you to take a practical approach and get your hands dirty so results are guaranteed for the ones who follow his instructions.

The guide opens with exercises in C++ and in x86 Assembly language, however it does not give you the information needed to complete the exercises so off to a C++ learning website/book whatever gets you going and then it is possible to keep enjoying the guide. The instructor, calling himself “binary-auditor”, does say it is not a requirement to be a C++ nor x86 Assembly expert but some knowledge in these languages could get you very far in the world of reverse engineering; So this time I’m gonna be a good boy and follow the instructions provided by the expert and who knows, maybe someday I’ll be one myself!

 

3d-wallpapers-high-definition

 

On the next post you should expect the following topics:

  • What is reverse engineering and why do I find it interesting?
  • Getting started with C++!

 

till then,

Ar3p0