How to: download most popular Android apps!

Downloading the top apps of Android can be useful for many tasks. For example, one might want to automate the installation of the most trending apps, or even for researchers who want to study app internals or store metadata (e.g., number of downloads). A few existing projects exist for this purpose: egirault/googleplay-api : provides a… Read More »

Android Alarms – draining battery even when phone is idle?

Mobile devices are nowadays our mobile personal computers, where we play games, read emails, access social networks and might even do some light productivity tasks. The mobility paradigm required many changes for developers that have now to be more aware of the connectivity differences (cable, wifi, 3/4G..), execution patterns and respective impacts on the limited… Read More »

Android: Loading and executing code at runtime – DexClassLoader

Sometimes you may want to add functionality to an application dynamically by adding new jar libraries. Custom classloaders can be used to execute code not installed as part of an application. Examples can range from security (hiding code in resources), mocking/testing, Object-relational mapping, etc. In Android, the DexClassLoader allows an application to load classes from… Read More »

How to : Android IPC using Messenger to a Remote Service

In this short tutorial we will see how to create an Android remote service and bind to it in order to send two-way inter-process-communication (IPC) messages using the Android Messenger api (simplifies the use of AIDL). In Android there are multiple ways to do IPC, such as Intents (check IntentService), Binders (AIDL or Messenger) and… Read More »

Skype Hacking – Reverse Engineering Android Apps

It has been a long time since I did my last post. Time is short and intense and I have been living at a fast-pace =) During one of my personal projects I decided to study the internals of Android and the potential of altering the Dalvik VM (e.g. Xposed framework and Cydia) and application… Read More »

Revisiting (1 month) old code

  Revisiting code is never like meeting a old friend, that no matter how long it passed you always seem to know it. After a week it becomes a Pandora box (even though you left so many comments for yourself). I will depict a typical case scenario of the world I live in, my head.… Read More »

Radio Resource Control for Dummies

In order to comprehend the Radio Resource Control (RRC) state machine, we should study the architecture of the third generation mobile cellular system, the Universal Mobile Telecommunications System (UMTS). The UMTS is composed by two subsystems, the UTRAN (Umts Terrestrial Radio Access Network) and CN (core network) : We are more interested in the UTRAN… Read More »