To content | To menu | To search

Friday, September 18 2009

Don't trust the compiler: part #2

In his previous article, yazoo gives an example about why you shouldn't trust the compiler. But all in all, this is because of the user (you, me...), and not because of the compiler. Instead of saying "don't trust the compiler", we should rather say "don't trust your knowledge of the compiler", as a hint about the fact WE need to make the right code in input, and then we trust the compiler to do the right thing at the end, right ?

All in all, if some programmers won't trust the compiler about the optimization of the code, most programmers will trust it about the correctness of the code. Having a code that runs properly is usually way more important than a code that runs fast. So we trust the compiler religiously about its correctness, but we're wrong. Here's why.

Continue reading...

Monday, September 14 2009

Don't trust the compiler: part #1

We will be starting a serie about the compiler myths. What people assume the compiler is doing, while the reality is way different. The first part is about static class initialisation.

Continue reading...

Thursday, September 10 2009

Navigation softwares on mobile phones

UPDATE: Google finally released their navigation software

I was the proud owner of a non-smartphone for a long while, as I managed to resist buying one of these evil iPhones. When the latest "google phone" got released though, I couldn't resist to the temptation of getting one.

So now that I had this new toy, embedded with Google's Android, I told myself I should try getting a GPS navigation software, as the only GPS software shipped with it, Google Maps, doesn't do real time navigation. I didn't know then I was going on a quite hopeless, and expensive quest...

Continue reading...

Sunday, August 30 2009

Another failed attempt at conceiling data

Another notable game developer also tried to conceil its game data on the disc. The game's Kingdom Hearts 2. Their idea was to identify each file by the hash of its name. Smart don't you think? Well, not quite...

Continue reading...

Friday, August 28 2009

Valkyrie Profile, or how to fail encryption

What defines a good encryption ? Well, it depends on a lot of factors, including the fact if you're shipping or not the encryption algorithm with the encrypted data.

In the case of a PlayStation game, where the hardware doesn't have any built-in encryption system that'll keep the secret algorithm and keys in a safe piece of silicon, you have to be very good at embedding the algorithm, in order to try keeping people out of it as much as possible.

Of course, this is only valid if... the algorithm is actually sensible. Let's see what we have here in the case of Valkyrie Profile, a game that I hacked apart in order to create a french translation of it. Its authors tried to be smart and sneaky, but they failed miserably, probably because they actually tried too much, without proper background knowledge of encryption.

Continue reading...

Grumpycoder blog opening

This has been a long, long time since I had the idea of this blog. We're finally opening it.

The two people behind it, Yazoo and myself, know each other since many years now. We met by discussing programming while being students, and we still discuss programming nowadays while being employed as seasoned programmers. Also, we're both passionate about reverse engineering.

The blog's name is very obviously inspired from Ron Gilbert's blog, http://grumpygamer.com/. The idea is to rant talk about programming in general, what we discover, what surprises us, and most importantly, what disgusts us.

Stay tuned, and enjoy the stay.

page 2 of 2 -