Hack Forums
Seeking Advice for Learning Programming and Reverse Engineering - Printable Version

+- Hack Forums (https://hackforums.net)
+-- Forum: Tech (https://hackforums.net/forumdisplay.php?fid=444)
+--- Forum: Coding (https://hackforums.net/forumdisplay.php?fid=151)
+---- Forum: Software Development (https://hackforums.net/forumdisplay.php?fid=118)
+---- Thread: Seeking Advice for Learning Programming and Reverse Engineering (/showthread.php?tid=6266243)



Seeking Advice for Learning Programming and Reverse Engineering - Karadi - Mar 18, 2024

Hi everyone,

As a newcomer to programming, I'm keen to prepare for CTF challenges, particularly for the OSCP exam, and explore reverse engineering. Could you suggest a straightforward learning path for someone with no programming background? I'm aiming for practical steps to begin effectively.

Additionally, I aspire to excel in creating exploits(to excel in cyber security), mastering reverse engineering, and passing exams like OSEE. Any guidance on working towards these goals would be greatly appreciated.

I'm also seeking suggestions on:

  1. Beginner-friendly resources or tutorials.

  2. Practical tools or platforms for hands-on practice.

  3. Strategies for maintaining motivation and focus.

  4. Common pitfalls to avoid for beginners.



Note: Being in my 30s, I've found it challenging to pick up new skills. Sometimes it feels like nothing sticks in my head. So, I'm hoping for advice that can make learning easier for me. Thank you for your valuable assistance! 👍


RE: Seeking Advice for Learning Programming and Reverse Engineering - Bastille - Mar 18, 2024

Hello Karadi ,

Welcome to HF !

If you are looking for a cybersecurity career, I wrote a thread that may help you : https://hackforums.net/showthread.php?tid=6263412 (feel free to take a look at the coding part here : RE: Please do not post here (preparing the thread)).

I'm not an expert regarding coding, but I'll try : here is the answer only for the programming / exploits / RE part, as you seem to already have a good basis for CTF (feel free to correct me if I'm wrong).

Without any coding background, I would recommend this path
- Start with Python
- Go then with C/C++
- Finally look at Assembly

Python :
Often considered as the easiest way to dive into coding, work on projects such as : Keylogger, Video Games, Bot, and so on.

C/C++ :
More technical than Python, more close to hardware layer. This is the most used language for malware I guess.

Assembly :
There are many ASM (assembly) languages depending of the architecture of the CPU, but if you are interested about Windows I would recommend you x86 assembly.

Here are some platforms where you can learn :
- https://www.codewars.com/
- https://www.exercism.com
- https://maldevacademy.com (for malware / exploits)

Here is a link with good tips on how to learn efficiency :
https://www.freecodecamp.org/news/how-to-learn-programming/


RE: Seeking Advice for Learning Programming and Reverse Engineering - happygonutty - Mar 23, 2024

There is a saying that old dogs can't learn new tricks but I disagree and age doesn't matter. Best you could do is get all the basic stuff you need as said in the previous post then try to disassemble malware instead of just focusing on CTFs.

It's true that doing CTF is fun and you get to be challenged just like playing a game and getting achievements which you can show off but in the real world (sometimes and not all the time) what you do in CTF happens. In my perspective, CTFs are just extraordinary exercises to increase your awareness, logical, thinking and problem-solving skills.

I would definitely recommend watching videos, reading write-ups of other people, studying their blogs and other posts, then coming up ways on how to do something similar. Better if you keep a journal on your journey. Good luck!

Here is an example of a write-up you can try to read for a start. It's way back from 2019 though its a real world example.

https://blog.talosintelligence.com/glitchpos-new-pos-malware-for-sale/