Development

If the commercial scripting engines aren’t fit for your own purposes, you could try making your own one. However, developing a script engine is no easy task — there is a lot of studying and analysis to be done, so be prepared to look at guides and whitepapers for a long, long while.

We cannot provide an exact step-by-step tutorial on developing a scripting engine, and frankly, building a scripting engine for the sole purpose of exploiting a video game or software isn’t usually worth it. However, if you want to save the twenty bucks, you can start reading up on those publicly available and free resources:

  • Reversing C++ — This document will teach how how C++ structures and concepts, such as classes, virtual methods and the likes, work internally. Learning to reverse C++ is a useful skill as many, many software today is written in the language and will provide you a good enough base to cover the reverse engineering of software written in other languages.
  • Reversing C++ – Classes, Methods and RTTI — The most important aspect of C++ is its class system. What’s very interesting about C++ classes is its underlying mechanisms, and sometimes even interfacing with the operating system. Consider this guide as a more in-depth extension to the previous Reversing C++ document.
  • Lua 5.1.5 Source — Similarly to C++, a lot of video games and software use the Lua programming language. Learning how Lua works internally and toying with it will eventually be of use.
  • GH’s Tutorials — GuidedHacking offers plenty of very useful tutorials, some of which are related to code analysis, which is necessary to master to build an exploit-centric scripting engine.