Completed
Solution 1: Register Natives
Class Central Classrooms beta
YouTube videos curated by Class Central.
Classroom Contents
The Problems with JNI Obfuscation in the Android Operating System
Automatically move to the next video in the Classroom when playback concludes
- 1 About the Speaker
- 2 Android Build Process
- 3 Android Software Stack
- 4 Java Native Interface (JNI)
- 5 Why JNI?
- 6 Why Obfuscate Code?
- 7 Proguard Configuration
- 8 JNI EXAMPLE CODE
- 9 RE Time: Static Analysis!!
- 10 All eyes on the JNI Class!!
- 11 Make sure device is rooted
- 12 Step O: Make sure the application is debuggable.
- 13 Verify device is listed
- 14 List Debugable Processes
- 15 Verify that it is the correct PID
- 16 Forward Connection
- 17 Launch JDB
- 18 List Methods
- 19 Step 6: Break on method
- 20 RE Time: Dynamic Analysis!!
- 21 Retrieve APK and unzip its contents.
- 22 Create Directories
- 23 Pull System Libraries
- 24 Find the Applications Process ID
- 25 Move gdbserver on to the device.
- 26 Launch gdbserver on to the device.
- 27 Port Forward from computer to the device.
- 28 Launch arm-linux-androideabi gdb
- 29 Load Libraries and set target
- 30 RE Time: Dynamic Analysis Step 11: Set Remote Target
- 31 Set Breakpoints
- 32 Step Through and get results.
- 33 Why did obfuscation fail?
- 34 How do we solve this problem?
- 35 Solution 1: Register Natives
- 36 Problems with Solution 1?
- 37 Classes
- 38 Problems with Solution 2?
- 39 Suggestions