Showing posts with label modification. Show all posts
Showing posts with label modification. Show all posts

Saturday, June 22, 2013

Xposed Framework – Modifying Android without Modifying System Files/Applications

In my previous posts, I have explained what is Custom ROM and the advantages of using them. But now, a developer named rovo89, has developed a framework for Android which would give you the possibility to modify your existing Android ROM without modifying any APK or ROM flashing, the only thing that Xposed Framework requires is root access. Xposed Framework allows you to make small tweaks to existing Android operating system without replacing it.


Working of Xposed Framework

To make various changes, developers modify the system files, to be precise, system APKs, and developers make the changes and release them in custom ROMs. To use the changes made by developers, users have to flash custom ROM on their device.

To install Xposed Framework, root access is required, but after installation it should work without root access. From the words of developer himself:

I extended the /system/bin/app_process executable to load a JAR file on startup. The classes of this file will sit in every process (including the one for system services) and can act with their powers. And even more: I have implemented something that allows developers to replace any method in any class (may it be in the framework, systemui or a custom app). This makes Xposed very powerful. You can change parameters for the method call, modify the return value or skip the call to the method completely - it's all up to you! Also replacing or adding resources is easy.

Xposed Framework works with almost all Android devices with Android version 4.0 and later, and also the device should have ARM processor. Sadly, if you have a Gingerbread version on your device, or a device with an Intel processor, you are out of luck.


How to Install Xposed Framework

First of all, make sure your device is rooted. The root access is required by Xposed framework for installation. Then take a Nandroid Backup of your device, as in the case of unexpected consequences, you can always restore to the state your device was at earlier.
You need to download the APK file attached to this forum: Xposed - ROM modding without modifying APKs, and install the APK on your Android device.

After its installation, open the Xposed Installer app and press the Install/Update button to install the Xposed Framework. Now, the app requires Root Access.





After installation, press the Reboot button to reboot your device and the Xposed Framework will become active.



You can also uninstall the Xposed Framework by returning to Xposed Installer app and pressing the Uninstall or Clean up button. This would reverse the changes made to the app_process executable in your device.


Xposed Modules

The Xposed framework provides a base for various modules to do their work. After installation of the Xposed framework, you'll need some other apps to actually do modifications to your device.

There are many modules available on various forums. You can check here for a list of available modules using Xposed: List of Xposed Apps and Modules.

The Xposed Framework is useful for people who don't want to risk flashing Custom ROM or want Stock ROM with some modifications. The installation of Xposed Framework and its modules do not require using Custom ROM's or changing the device firmware and the changes to system made by them can be easily restored to factory defaults at a click of a button.


All the Best on using Xposed Framework..!!

Saturday, June 15, 2013

OpenPDroid – Protect your Privacy in an Android Phone

Whenever we download an application from the Android Play Store, it shows us the permissions the applications uses. Many applications access our data like, location, usage statistics, contacts, messages, phone numbers. Even if we don't want to share a particular data with the application due to privacy concerns, the only way not to share data is to uninstall the application. We can also provide fake data to the application. But HOW?
         
OpenPDroid helps protect your privacy by providing real, fake, null or random data based on our preferences. We can configure OpenPDroid for each and every application installed on our device, so we can configure what data to share with various applications. For example, if we have set our preference as to provide location as 'Mumbai' for Facebook app, then even if we are in USA, Facebook will only get location as 'Mumbai'. Fascinating, isn't it?

PDroid Manager Application Interface
PDroid Manager Application
         
         
Description of OpenPDroid from the developer:

OpenPDroid is a set of modifications to the Android framework and libraries which allows fine-tuning of the data which applications are able to retrieve about your device, your account, your messages, and more.

“OpenPDroid intervenes in API interactions by apps (e.g. when an app attempts to retrieve your location, phone number, or contacts) and provides real data, empty data, fake data or random data, depending on the user setting.”

As OpenPDroid just modifies the data requested by the app without modifying the permissions of the app, there is very less chance of getting undesired effects like Force Close of app, etc. OpenPDroid supports Android versions 4.1.2 and 4.2.1, and is also completely open-source.

Permissions of Google Chrome on Android
Permissions of Google Chrome

         
This actually needs modification of Android framework and hence is hard to implement on a particular Android OS you already have, and is not as easy as installing an app. This mod should be added to Android ROM when the ROM is compiled from source. There also is a tool named auto-patcher for implementing the mod in an existing ROM. The tool is available for Windows, Linux and Mac OS X.
         
Though implementing OpenPDroid requires much effort, it is well worth, if you are concerned about your privacy from the big list of permissions required by various apps you use.

For more information, you can refer to: OpenPDroid