Aycock, JohnGanesh, Sankarasubramanian2023-12-212023-12-212023-12-19Ganesh, S. (2023). FrAG: Framework for the Analysis of Games (Master's thesis, University of Calgary, Calgary, Canada). Retrieved from https://prism.ucalgary.ca.https://hdl.handle.net/1880/117793https://doi.org/10.11575/PRISM/42636Historical games or retrogames ran on constrained systems that required programmers to use various techniques and optimizations. To learn about these techniques, we often study their source code. However, when the only remaining information about the games is their binary image, conventional analysis methods are time-consuming and do not scale. One way to study these techniques is to reverse engineer the binary images. However, conventional approaches to reverse engineer the images often do not provide accurate results as programmers often blurred the lines between code and data, because unlike most modern platforms, these platforms do not distinguish between code and data. We present FrAG, a Framework for the Analysis of Games that dynamically analyzes games at scale with no human interaction using artificial intelligence. FrAG’s design allows it to be ported to other platforms. To demonstrate FrAG’s capability and to evaluate its efficacy, we use a test suite of eight Atari 2600 games with ground truth available. We also present a novel way of disassembling game ROMs using data collected from the framework. Furthermore, FrAG can also be used as a platform for training artificial intelligence agents for several platforms.enUniversity of Calgary graduate students retain copyright ownership and moral rights for their thesis. You may use this material in any way that is permitted by the Copyright Act or through licensing that has been assigned to the document. For uses that are not allowable under copyright legislation or licensing, you are required to seek permission.Reverse EngineeringRetrogamesAutomated Dynamic AnalysisReinforcement LearningGame AnalysisComputer ScienceFrAG: Framework for the Analysis of Gamesmaster thesis