Expert HvHer
- User ID
- 24499
- Messages
- 83
- Reactions
- 130
- Level
- 21
Okay, so I keep seeing everyone ask the same thing: "How do I start freeing stuff?" I finally got a free minute, so here's the real talk/path I'd recommend.
It´s also worth dedicating time to understand general OS concepts such as Memory Layout, Calling Conventions, Virtual Memory, so while u are at it, check it out.
C:
C++:
Assembly:
RE:
freeMes Challenges:
Windows API:
That’s my two cents on the matter, I hope this helps.
If anyone’s got any question, better links or thinks I missed a major step, yell at me so I can update this post later. Good luck out there, guys.
1. Start with C.
You gotta learn C first. Actually learn C. Like, watch videos, sure, but the only way this works is by coding. You need to be able to make, like, a dumb little project—a calculator, a text adventure, whatever—just to get comfortable. No one ever got good just watching a guy code on YouTube. Get your hands dirty.2. Then, C++. It's basically C on Steroids.
Once C feels chill, C++ is the natural next move. It’s not a whole new beast; it's just an extension. It’ll make way more sense if you have that C base. Again, though—practice, practice, practice. You’ll be wasting your time otherwise. Don't just tick the box, you know?3. Basic Assembly (Don't Panic!)
Alright, Assembly. This is where people freeze up. Deep breaths. You don’t need to master it, but you absolutely need to know the basics. Get familiar with the main instructions (mov, jmp, all that jazz). It’s the language the CPU actually speaks, so you’ll see it everywhere down the road. You can't skip this part.4. Windows Stuff (Internals & API)
This is the boring-but-crucial part people skip. You gotta know how Windows actually works under the hood. The Windows API? That's your toolbox for making things pop up, interact with windows, etc. It's really well-documented, so it's not a mystery, but you have to put in the time to look at the docs. Seriously, it unlocks so much simple stuff.It´s also worth dedicating time to understand general OS concepts such as Memory Layout, Calling Conventions, Virtual Memory, so while u are at it, check it out.
5. Time for the Tools (The Fun Part)
Okay, now we reverse engineer. Get cozy with the big hitters: x64dbg, IDA, Ghidra, Binary Ninja. There are a million tutorials out there. Pro-tip: Start super small. Do some simple "freeMe" challenges. Mess around with a tiny, old game (AssaultCube or CSGO are both solid options). If you try to jump straight to the newest games, you will get frustrated and quit. Guaranteed. Keep it simple at the start.6. Mindset.
This is the last step but the most important, look, you have to actually like this. RE is a commitment. It’s not a get-rich-quick scheme. If you don't enjoy the puzzle, it's cool—find something else! But if you're in it, you need to develop that discipline. You will hit frustrating walls. Everyone does. The difference between someone who makes it and someone who quits is just pushing through those "I wanna smash my keyboard" moments. It's a grind, but totally worth it if you stick with it.Resources.
C:
You must be registered for see links
You must be registered for see links
You must be registered for see links
C++:
You must be registered for see links
You must be registered for see links
Assembly:
You must be registered for see links
RE:
You must be registered for see links
freeMes Challenges:
You must be registered for see links
Windows API:
You must be registered for see links
That’s my two cents on the matter, I hope this helps.
If anyone’s got any question, better links or thinks I missed a major step, yell at me so I can update this post later. Good luck out there, guys.