The art of obfuscating Android application code #ReverseEngineering #Android
Eric Le Guevel on Quarkslab’s blog provides a thorough examination of Android runtime code execution and how code can be protected from reverse engineering.
Eric dissects the Android app from DJI used to control DJI’s drones.
In the world of Android applications, it’s not uncommon to come across applications protected by a packer. The role of a packer is to protect all or part of the application code from static analysis. There are many reasons why a developer might want to protect an application:
Protect valuable business logic;
Protect application monetization logic (e.g. a license management mechanism);
Evading conventional analysis tools to hide malicious logic;
Here, we take a look at the DJI Pilot application, not to understand why developers want to protect their code – this has already been the subject of previous work (see in particular this DJI Pilotanalysis) – but to highlight a runtime mechanism implemented by DJI to protect its application code. This protection is based on the use of a modified version of the SecNeo packer.
Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!
Python for Microcontrollers – Adafruit Daily — Python on Microcontrollers Newsletter: A New Arduino MicroPython Package Manager, How-Tos and Much More! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi
EYE on NPI – Adafruit Daily — EYE on NPI Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey