300 likes | 423 Views
Memory Cheating. Mobile Game Hacking. NHN BuisenessPlatfrom Ahn SeongBhum. AGENDA. Processor ARM Basic Disassembly Android Testing Environment Mobile Game Hacking Android Memory Cheating Demo. Processor. System-on-a-chip Cortex-A8 Frequency from 600MHz to 1GHz and above
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