Root-Me Reversing: crackme_wtf hints

It’s been some time since I’ve done some Reverse Engineering and today I’ve completed a simple challenge on The filename of the challenge is crackme_wtf and here are some hints to get you started:

  1. Determine type of FILEs.
  2. Don’t be afraid to patch and use a debugger.
  3. Try to eliminate the randomness. Maybe some functions that have to do with time, random numbers or the current process’s id.
  4. If the last hint doesn’t yield any results… Is the required password really needed to get to the flag?

Thanks for reading and good luck!


MAD: Game DevLog #3

Hello everyone!

I don’t have much to tell so I’m going to make it quick.

We’ve added Android build support and we’re working on setting up an internal test app on Google Play.

In order for the game to be playable on Android we’ve also added mobile controls and I got the chance to make them.

Here’s the button for placing the bomb:

To simplify our life we’ve used the CrossPlatformInput module from Unity’s standard assets package, this allows us to support PC, consoles and mobile devices with minimal code and configuration.

The current state of the game has some minor bugs with the enemies, explosions and UI, which we hope to fix soon.

I would like to thank Jan from Cosmigo for his amazing customer support he has given me while I was purchasing Cosmigo Pro Motion.

MAD: Game DevLog #2

Hello everyone! Time for devlog number #2!

In the last week, we’ve implemented transparent walls and the player animation state machine. Max continued designing sprites for the game and Andrei implemented the bomb animations and it is working on some enemies. The next week I will try to implement and finish the UpgradeManager, a Singleton class that shall handle the dispatch player powerups.

The transparent walls were implemented using Raycasts the wall will cast a ray in the up direction and if it detects the Player collider it will reduce it’s alpha value to 50%, when the ray doesn’t collide with anything the alpha values goes up to 100%. In the following picture the raycast is drawn with a red line:

When I first attempted to do the player animation state machine I got lost very quickly and I quickly abandoned the idea. I tried implementing it with a blending tree, hoping that it would work that way but it didn’t.

Blend Trees are used to blend multiple animations smoothly, when you have a walking/running animation in 2D you’d like to play the “WalkLeft” animation when X is -1 and Y is Don’tCare. To achieve this Unity gives us blend trees:

The problem with this approach is that it doesn’t work when you have idleLeft and runLeft, because the blend tree doesn’t know what idle to pick when both X and Y are 0. After taking a break the solution just popped into my head: Use a state machine instead of a blend tree. From any state you can go into the RunX state but after you’re done with the RunX state you’ll transition to IdleX.

This works as expected but with a tradeoff, you can’t move in diagonals. Each transition has a rule for AnimationX or AnimationY attached to it, and if you change both X and Y at the same time you randomly jump to RunX and RunY animations, making it look like a glitch.

In Unity X and Y are custom parameters for the state machine, it doesn’t necessarily need to be the X and Y position of the game object. You can tweak your movement handling code to set AnimationX and AnimationY to prefer the max of those two and set the other to 0.

To work collaboratively on this project we use Github for code and Google Drive for assets sharing.

If you want to use Github for your Unity project I’ll recommend that you generate a proper .gitignore file.

Thanks for reading!

In case you’re wondering from where the title MAD comes it just comes from our names: Maxi, Andrei and Denis. Since this is our first game and out first attempt in doing something together I had no idea what name to chose.

If you wanna start developing your first game with Unity, we’ve found the following video lectures to be quite motivational and helpful: