Originally Posted by
Apoc
The thing is, people make the assumption that you can just dive into RE'ing without proper programming knowledge. Its a terrible idea.
For example, 99% of games are written in C++ now. If you don't know C++ yourself (including the little details such as how structures are laid out, classes, and how vtables work), you'll go absolutely nowhere trying to RE things. There are no tutorials for reversing structures, because structures are the result of reversing itself. (99% of what you're doing when you RE something, is defining the structures the application uses.) The rest falls into place when you look at the "big picture" of it and realize the hierarchy of the program.
Sure, you can step through very simple functions that don't contain structures, etc, but those are also the easiest to reverse. When I reverse something, I look specifically for what I need (say, interacting with a unit), once I find the function that does that (via BPs, or other means), I trace it all the way to its root and go from there. What was passed into the function? Any vtables? Is there some global object manager? Etc.
RE'ing isn't something you learn overnight, or even over the course of a month. People like kynox, Cypher, Bobbysing and crew, have been doing this stuff for years. Its just sad that people assume because someone else figured things out, they don't need to. If you can't learn what it does by yourself, you have no hope in hell of making anything actually useful, or being able to do things on your own.