Crackme solution: CRACKME.58DD2D69 by zudas

I’ve finally managed to pull my act together and solve a crackme. It was a really simple one (its author rated it 1/10 on the difficulty scale), but I feel it was adequate to my skills. The purpose of this crackme was creating a general key generator, not modifying the executable to accept any key. I’m going to explain how I accomplished that. The only tool I’ve used was OllyDbg.

Warning: it will be all pretty basic stuff, so if you’re an experienced reverse engineer, you’ll be bored out of your mind.

Proper C, improper C++

I have recently been asked if it’s possible to write a legit C program that wouldn’t compile in C++ mode. Obviously, my answer was positive, but the question made me wonder just how many incompatibilities there are between these languages, and how many of these I can cram into a single test case? I’ve decided to try my hand at writing such test case, and after a while of research I ended up with a fairly decent attempt.

A few interesting C quizzes

I’ve stumbled upon some interesting C knowledge quizzes. They deal with subset of C that is almost completely compatible with C++ (except for headers), so they’re also valid for that language. There is no doubt that a major part of these questions is just bad programming, even if correct from the standard’s point of view, but I still felt good about myself after getting full scores without cheating.

I think I should mention that for the second link, it is wise to assume that sizeof(int) == 4

Hello, World!

1
2
3
4
5
6
7
#include <iostream>
#include <ostream>
 
int main()
{
	std::cout << "Hello, World!" << std::endl;
}

From now on, I’m going to write about my releases here.