3. Rooting / System Modification
● Pros
○ Able to Use Hidden Features
○ No Limitation At All
● Cons
○ Environment Is Different With Real Market Device
4. How Android Hide Features
3rd Party Application Use SDK Framework
Interface
Built-in Application Uses Built-in Framework
Interface
SDK Framework Interface != Built-in
Framework Interface
5. Android Basic Structure
3rd Party Developer
Application
Built-in Application
SDK Framework Interface
Built-in Framework Interface
On-Device Framework
Binder
System Process
System Process
Device
System Process
8. Android Hacking Using Reflection
Change SDK Framework Interface into OnDevice Framework Interface
3rd Party Developer
Application
Built-in Application
SDK Framework Interface
Built-in Framework Interface
Reflection
On-Device Framework
9. Android Hacking Using Reflection
TelephonyMaanger telephonyManager =
(TelephonyManager)getSystemService(
Context.TELEPHONY_SERVICE);
try {
Class c = Class.forName(telephonyManager.
getClass().getName());
Method m = c.getDeclaredMethod("getITelephony");
m.setAccessible(true);
ITelephony telephony = (ITelephony)m.invoke(
telephonyManager);
telephony.endCall();
} catch (Throwable e) {}
10. Restriction Of Reflection Using Hack
● Performance Overhead
● May Not Success On Every Machine
○ Manufacturer’s Device Use Modified Android
● May Not Success On Latest Android