300 likes | 429 Vues
This document provides an overview of ARM architecture, specifically focusing on Cortex-A8 and Cortex-A9 processors, and their role in mobile game hacking on Android platforms. Key techniques such as memory cheating, disassembly, and file manipulation are discussed, emphasizing their applications in the testing environment. The text also covers advanced ARM features like NEON technology and the MPCore system for scalable implementations. This invaluable resource from Hex-Rays SA is a must-read for developers and hackers looking to deepen their understanding of mobile game attacks and reverse engineering.
E N D
Memory Cheating Mobile Game Hacking NHN BuisenessPlatfrom Ahn SeongBhum
(c) 2008 Hex-Rays SA AGENDA • Processor • ARM Basic • Disassembly • Android • Testing Environment • Mobile Game Hacking • Android Memory Cheating • Demo
(c) 2008 Hex-Rays SA Processor • System-on-a-chip • Cortex-A8 • Frequency from 600MHz to 1GHz and above • High-performance, Superscalar microarchitecture • NEON technology for multi-media and SIMD processing • Jazelle RCT • Cortex-A9 • Unrivalled performance with 2GHz typical operation with the TSMC 40G hard macro implementation • Low power targeted single core implementations into cost sensitive devices • Scalable up to four coherent cores with advanced MPCore technology
(c) 2008 Hex-Rays SA Processor
(c) 2008 Hex-Rays SA ARM Basics • Acorn RISC Machine • Thumb • 16,32bit Registers r0-r15 • Stack pointer r13 • Link Register r14 • Program counter r15 • Function arguments passed in registers, not on stack • Return address not always stored on stack
(c) 2008 Hex-Rays SA ARM Basics • ARMv7
(c) 2008 Hex-Rays SA ARM Basics • System-on-a-chip • Cortex-A8 • Frequency from 600MHz to 1GHz and above • High-performance, Superscalar microarchitecture • NEON technology for multi-media and SIMD processing • Jazelle RCT • Cortex-A9 • Unrivalled performance with 2GHz typical operation with the TSMC 40G hard macro implementation • Low power targeted single core implementations into cost sensitive devices • Scalable up to four coherent cores with advanced MPCore technology
(c) 2008 Hex-Rays SA Disassembly IDA vsObjdump • IDA 6.0 • IDA 5.2
(c) 2008 Hex-Rays SA Android
(c) 2008 Hex-Rays SA Android
(c) 2008 Hex-Rays SA Testing Environment
(c) 2008 Hex-Rays SA Testing Environment
(c) 2008 Hex-Rays SA Testing Environment rooting
(c) 2008 Hex-Rays SA Testing Environment
(c) 2008 Hex-Rays SA Android Game Hacking Memory Searching Code Injection Packet Manipulation File Manipulation
(c) 2008 Hex-Rays SA Mobile Game Hacking Mobile Game Attack Vectors File Packet Memory Hacking SQLite repackaging Lisence
(c) 2008 Hex-Rays SA Android Memory Cheating ptrace /proc
(c) 2008 Hex-Rays SA Android Memory Cheating Memory mapping
(c) 2008 Hex-Rays SA Android Memory Cheating • typedef struct Object • { • /* ptr to class object */ • ClassObject* clazz; • u4 lock; • } Object;
(c) 2008 Hex-Rays SA Android Memory Cheating • struct ClassObject { • 0 Object obj; • 8 u4 instanceData[CLASS_FIELD_SLOTS]; • 24 const char* descriptor; • 28 char* descriptorAlloc; • .. • … • 140 StaticField* sfields; • 144 int ifieldCount; • 148 int ifieldRefCount; • 152 InstField* ifields; • 156 u4 refOffsets; • 160 const char* sourceFile; • };
(c) 2008 Hex-Rays SA Android Memory Cheating
(c) 2008 Hex-Rays SA Android Memory Cheating
(c) 2008 Hex-Rays SA Android Memory Cheating • Realtime decompile
(c) 2008 Hex-Rays SA Android Memory Cheating
(c) 2008 Hex-Rays SA Android Memory Cheating
(c) 2008 Hex-Rays SA Inline hooking PC-relative address
(c) 2008 Hex-Rays SA License bind_service LVL ARM