Course Hero Logo

With your newfound ability to think like a computer

Course Hero uses AI to attempt to automatically extract content from documents to surface to you and others so you can study better, e.g., in search results, to enrich docs, and more. This preview shows page 121 - 124 out of 306 pages.

With your newfound ability to think like a computer, you should be ade-quately armed to start tackling more advanced memory forensics tasks. Ifyou’re itching for a peek at how you’ll apply all of this to something real, flipto “Applying Call Hooks to Adobe AIR” on page 169 or “Applying JumpHooks and VF Hooks to Direct3D” on page 175.If you want some hands-on time with memory, compile this chapter’sexample code and use Cheat Engine or OllyDbg to inspect, tweak, and pokeat the memory until you’ve got the hang of it. This is important, as the nextchapter will build on these skills by teaching you advanced memory forensictechniques.
5A D V A N C E D M E M O R Y F O R E N S I C SWhether you hack games as a hobby ora business, you’ll eventually find yourselfbetween a rock and . . . an unintelligiblememory dump. Be it a race with a rival botdeveloper to release a highly requested feature, abattle against a game company’s constant barrage ofupdates, or a struggle to locate some complex datastructure in memory, you’ll need top-notch memoryforensics skills to prevail.Successful bot development is precariously balanced atop speed andskill, and tenacious hackers must rise to the challenge by swiftly releasingingenious features, promptly responding to game updates, and readilysearching for even the most elusive pieces of data. Doing this, however,requires a comprehensive understanding of common memory patterns,advanced data structures, and the purpose of different pieces of data.
98Chapter 5Those three aspects of memory forensics are perhaps the most effectiveweapons in your arsenal, and this chapter will teach you how to use them.First, I’ll discuss advanced memory-scanning techniques that focus onsearching for data by understanding its purpose and usage. Next, I’ll teachyou how to use memory patterns to tackle game updates and tweak yourbots without having to relocate all of your addresses from scratch. To wrapup, I’ll dissect the four most common complex data structures in the C++standard library (std::string,std::vector,std::list, andstd::map) so you canrecognize them in memory and enumerate their contents. By the end of thechapter, my hope is that you’ll have a deep understanding of memory foren-sics and be able to take on any challenge related to memory scanning.Advanced Memory ScanningWithin a game’s source code, each piece of data has a cold, calculated defi-nition. When the game is being played, however, all of that data comestogether to create something new. Players only experience the beautifulscenery, visceral sounds, and intense adventures; the data that drives theseexperiences is irrelevant.With that in mind, imagine Hacker A has just started tearing into hisfavorite game, wanting to automate some of the boring bits with a bot. Hedoesn’t have a complete understanding of memory yet, and to him, thedata is nothing but assumptions. He thinks, “I have 500 health, so I canfind the health address by telling Cheat Engine to look for a 4-byte integer

Upload your study docs or become a

Course Hero member to access this document

Upload your study docs or become a

Course Hero member to access this document

End of preview. Want to read all 306 pages?

Upload your study docs or become a

Course Hero member to access this document

Term
Fall
Professor
N/A
Tags
Assembly Language, Personal computer game, OllyDbg

Newly uploaded documents

Show More

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture