Another simple crackme I’ve managed to solve. The crackme’s author didn’t rate it explicitly, but as it’s supposed to be for newbies, I think it’s safe to assume that it’s somewhere around 1/10. The task was again to create a keygen, not a modified executable.
Category: Programming
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.