Upload
mykola-bova
View
358
Download
1
Tags:
Embed Size (px)
Citation preview
Inside DVMIntro
Nick Bova@mykola_bova
Nov 23 2013
About myself
• In IT since 2000• 6 years with mainframes• Refactoring FinExpert virtual machine and
finex programming language• Many assemblers in institute
• Twitter – @mykola_bova
Who am I?
Android developer? – NOJava System Architect? - YES
Who are you?
Who are you?
Android development?Java development?Reverse engineering?JVM/DVM internals?JVM/DVM assembler development?
Ground rules
Ground rules
- Please keep your questions until Q&A section- Or let’s put your questions to flipchart- Some small presents for good questions /
answers from Levi9 Ukraine- Small presents will be just passed to winner (no
much time for ceremonies, sorry)- Please feel free to help if you have what to add
during Q&A section
Why do we need reverse engineering?
Why do we need reverse engineering?
0 – understanding virtual machine internals1 – investigate existing solutions2 – protect your application in case of using
sensitive information
Why do we need reverse engineering?
0 – understanding virtual machine internals
I have a dream.
I have a dream.
Educational JVM- Clear and simple- Written on java- Accomplished with book
What do you want to hear?
What we can discuss
1. basics2. tools3. *.dex file format4. DVM byte code (inside DVM)5. "real life" android hacking6. obfuscation (just very very begining)
What is out of scope?
1. Detailed trip to obfuscation2. Debugging NDK calls3. Hacking .Net code (xamarin)4. All existing DVM related tools (too much)
Sources
- Book “Decompiling Android” Godfrey Nolan- Video “Dalvik VM Internals” https://sites.google.com/site/io/dalvik-vm-internals
Q&A