Author: ByridianBlack
Challenge Won: April 18th, 2022
Author of Challenge: Danofred
Source of Challenge: Crackmes.one
Level of Difficulty: Easy
Challenge Link: https://crackmes.one/crackme/624700c033c5d42a191a5a7e
This challenge was simple, but I put a constraint on myself that I would not patch the binary to make it more difficult for me to solve and force me to analyze the code to determine how to solve it. Let us get into it!
The challenge takes in a person’s name, which can be anywhere between 4 and 9 characters long, and then asks for a serial number copied into a 30-character buffer.
The program then calls a function called gen, short for generator. In reverse engineering, the code generated the exact 5-character string every time during its execution, being “hijkl.” This string is added to the end of a Destination buffer, but this destination buffer contains the first five elements of your name.
This buffer is compared with the serial number provided. (name:hijkl) and (serial number) are then compared. Since I know that the first part of the name should be hijkl, I want to input hijkl as the name so that what will be compared will be “hijklhijkl.” Then the serial number should be inputted as “hijklhijkl.”
Correct: When correct the program just exits
Incorrect:
Tools Used:
- IDA Pro
- X64dbg
💬 Comment: