> For the complete documentation index, see [llms.txt](https://arachn3.gitbook.io/malware-development-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://arachn3.gitbook.io/malware-development-guide/baby-steps/pre-requisite-knowledge.md).

# Pre-requisite Knowledge

Ok, so you wanna get into some good ol' malware development and are unsure where to begin. Well, you've come to the right place! This is the no-bullshit, no strings attached starting point. That being said, you should remember that malware development isn't a *beginner's* field of play. If you wanna exploit a system, you gotta at least have some knowledge about *how the system works* at the very least.​To begin your journey, you'll need to get some stuff down before you proceed:

* Basic scripting skills (stuff like `bash`, `perl`, `python`, `powershell`)
* Programming  (see [Programming Guide](/malware-development-guide/baby-steps/programming-guide.md))
* Memory representation and how it works (see [Memory Representation](/malware-development-guide/appendix/elementary-concepts-and-stuff/memory-representation.md))
* An understanding of whatever you're trying to exploit. (see [Vulnerability Analysis](/malware-development-guide/baby-steps/vulnerability-analysis.md))

And that's pretty much it! The more knowledge you have, the better. Remember, don't rush it, this stuff takes time to learn, you won't go through this *today* and wake up a master hacker-malware-dev-man *tomorrow*. Take your time and be sure to grow your knowledge base over time. If you're consistent, you'll grow at a stable rate, don't jump from topic to topic, give each an appropriate amount of time and thought. Be thorough and focused.

I would also highly recommend that you maintain some *notes* (use whatever you want, it doesn't matter).
