Tuesday, October 23, 2012

A universal primer for rooting concepts on Android devices

A universal primer for rooting concepts on Android devices

If you don't know what rooting an Android phone means, and/or you want a clear understanding of the concepts of rooting, read on. My goal is to help you understand what rooting is, why you might consider rooting, and the potential risks it carries. 
This guide isnot intended to be a "how to root YOUR phone" guide, nor does it cover all the things you can do once rooted.

Android is an operating system that runs on Linux. Linux is a UNIX-like operating system, and in the UNIX world, the administrator account is called "root." This root account has full admin access over the entire system. That system in the Android world is located in a partition on your phone's internal memory called /system.

When you turn on your phone, a program called the bootloader, a.k.a. HBOOT, is run. By default, one of the tasks of the bootloader is to protect certain partitions on your internal memory from being tampered with, either accidentally or intentionally. This protection is sometimes referred to as NAND* protection, NAND lock, S-ON (an HTC-specific term), or "locked bootloader." The aforementioned /system is one of the partitions that is protected by the bootloader.

* NAND refers to the type of flash memory used in the phone.

In a normal startup, the bootloader kicks off the operating system, and the result is Android loading up and presenting you with your phone's user interface. But the bootloader also has the ability to load a special program called recovery instead of the operating system. The name of this program suggests that its purpose is to provide tools that help you recover your phone should the internal memory contents get damaged. The recovery program can replace the contents of /system entirely, and it can also make backups of your entire internal memory. The recovery program lives in a partition called /recovery. This partition is also write-protected by the bootloader.

In the most literal definition of the word, rooting is giving your phone the ability to be granted root (admin) access to the system. To do this, a special program called su (a.k.a superuser) is called, and its job is to grant a user or application root access when requested. The su program is not factory-installed on your phone. The process of adding su to your system is what is known as rooting.

However, when most people refer to rooting, they are not necessarily referring to the literal definition of the word. Implicit in the rooting process is removing the NAND protection being enforced by the bootloader. The reason the bootloader aspect is significant in the rooting process is that without write access to the /system partition, much of the post-root functionality is still unavailable. In fact, to place su onto the /system partition, NAND protection must be disabled; otherwise the bootloader will prohibit the attempt to write the su program to /system. Removing this bootloader protection, a.k.a. NAND unlock, S-OFF, "unlocking the bootloader," allows for the modification of the /recovery partition, the /boot partition where the Linux kernel is stored, and the /hboot partition, where the bootloader program itself is stored. Rooting stands for freedom and openness. Once this security is removed, only then do you have full access to your phone.

In some devices, it's possible to add su to the system but not remove the NAND protection of the bootloader. This scenario is often referred to as a half-root. A full-root, therefore, is a phone where the NAND protection is removed, and su has been added to /system. Typically, a custom recovery program also replaces the stock recovery program as part of a full root.

There is no single rooting method that works with all Android devices. Because each manufacturer uses its own bootloader program, which comes with its own unique security measures, a root exploit is often specific to a given device. Even within a given phone, there could be variations in the version of the firmware and operating system, which may require a unique exploit for each version. Therefore, when a phone is released or updated, there may be no known method of obtaining root. The process of rooting a phone is typically started when a phone hacker starts to analyze the components of the phone (both hardware and firmware) and starts to test for weaknesses or exploits that might disable the bootloader security, or grant temporary root privileges. There's never a guarantee that a phone can be cracked, but if an exploit is found, the person or team who discovered the exploit may create a rooting package or procedure and share with the rest of the community. For most people, rooting their phone is simply following in the footsteps of the pioneer(s) who have cleared the path already.

Not all phones can be fully rooted. Again, it comes down to the hardware/firmware used by the manufacturer. Motorola and HTC have released phones with additional security measures that make them very difficult to crack. While it appears that hackers have overcome HTC's latest defenses, the bootloader protection of some Motorola phones have yet to fall as of this writing. On the other hand, some manufacturers like Samsung and Sony are trending toward a more relaxed bootloader protection policy. And due to community pressure, HTC and Motorola have both issued statements that they plan to "unlock their bootloaders" in the near future.

The hallmark of a full-root is the removal of the bootloader's NAND protection. Therefore, this is typically the first objective of the root exploit. Once the NAND protection is gone, a custom recovery program is written to the /recovery partition, overwriting the default recovery program.

The custom recovery program contains more functionality than what is provided with the stock recovery program, and this is the reason it is included as part of the root exploit. The recovery program (sometimes referred to as the recovery image) will be an essential tool for the user once the phone is rooted. Not only can it be used to recover from bad configurations, it can also flash custom operating systems, allowing the user to customize their phone to a very high degree.

The final step is adding the su program to the /system partition. Two programs are added: the Linux-executable file called su, and an Android app called superuser. Android applications that request root privileges will present the request to the superuser app, and that app will call su only if the phone's user approves. You can think of the superuser app as a security guard between an Android app and su, and the guard will want authorization from the phone's user before allowing the app to obtain root privileges.

When a root exploit is initially found, it may or may not be stable. What this means is that it may not work reliably, or worse, it may cause a permanent failure of the phone, preventing it from booting up. A responsible phone hacker will therefore test the exploit extensively across many phones and modify the exploit as needed to make it stable. When the exploit has been proven to work safely and reliably, it is released to the public. However, this does not guarantee that the exploit will work with every single phone that it targets. The person or team that releases the exploit will make it clear that the exploit is "use at your own risk." Each person considering rooting their phone needs to understand this risk and decide whether it's worth proceeding or not.

Once the exploit has removed the NAND protection, the risk of permanently damaging your phone becomes very, very low. That's not to say that you can't get yourself into a bind, but with a little bit of know-how, rarely does a bad situation mean a bricked phone. If you haven't guessed already, a bricked phone is a phone that shares the qualities of a brick: it can look rectangular and do nothing.
As a preemptive safety measure, the custom recovery program installed as part of the root exploit contains a very useful tool called a NANDroid backup/restore. This utility backs up your internal memory and essentially is a save-state. No matter how you change your phone in the future, you can always bring your phone back to the state it was in at the time of the backup. It is highly recommended to make a NANDroid backup before flashing anything. 

Sunday, October 21, 2012

99Covers.com has awesome Facebook Covers!!

Some cool android apps on Google Play

Some cool and must have Android apps on Google Play website

ES Task Manager v 1.3.1
ES File Explorer v
SlideME Market v 4.5
OfficeSuite v 6.5.966
X-plore v 3.05
Facebook v 1.9.10
Total Commander v 1.03
Opera Mobile v 12.1
Chrome v 18.0.1025308
Kingsoft Office v 5.1
TeamViewer v 7.0.632
avast! Mobile Security v 2.0.2880
Nimbuzz v 2.2.2
WordWeb v 1.4
Adobe Reader v 10.4.0
Opera Mini v 7.5
Paytm v 2.1
Messenger v 2.0.4-release
NewsHunt v 3.42.16
RealPlayer v
ArchiDroid v 1.1.2
Drive v
Blogger v 1.0.7
My Tracks v 2.0.2
Gesture Search v 2.0.1
Orkut v 2.1.5
Reader v 1.1.8
Hotmail v
SkyDrive v 1.0
BitTorrent v 1.10
VLC v 0.0.6
ĀµTorrent v 1.8
WhatsApp v 2.8.5732
QQ Browser v
Maxthon Mobile Browser v
File Manager v 1.1
Task Killer v 1.0.1
PhoneCopy v 107
FullonSms v 2.2 Beta
my airtel v 1.1
UCBrowser v 8.4.1
PicSay v
TimesJobs v 3.0.1
Naukri.com v 1.3
Monster Jobs v 1.0.4
Job Search v 1.7
Viber v
Missed Call v 1.1
Android System Information v 3.3
Quikr Classifieds v 2.2
Bookmarks Backup v 1.4
Aviary v 2.1.91
Naaptol v
Justdial v 1.7
PicsArt v 3.0.8
One Browser v 3.5
Tango v 2.2.29122
OLX v 2.0.2
eFile v 1.69
LinkedIn v 2.5.2
Wikipedia v 1.2.1

I have tested these apps on my Samsung Galaxy Chat B5330 and all of them are working perfectly on  Android Ice Cream Sandwitch 4.0.4.

Friday, October 5, 2012

Wireless Standards - 802.11b 802.11a 802.11g and 802.11n

Wireless Standards - 802.11b 802.11a 802.11g and 802.11n...
The 802.11 family explained…

Many products conform to the 802.11a, 802.11b, 802.11g, or 802.11n wireless standards collectively known as Wi-Fi technologies. Additionally, Bluetooth and various other non-Wi-Fi technologies also exist, each also designed for specific networking applications.

This article describes the Wi-Fi and related technologies, comparing and contrasting them to help you make educated network building decisions.

In 1997, the Institute of Electrical and Electronics Engineers (IEEE) created the first WLAN standard. They called it 802.11 after the name of the group formed to oversee its development. Unfortunately, 802.11 only supported a maximum network bandwidth of 2 Mbps - too slow for most applications.
For this reason, ordinary 802.11 wireless products are no longer manufactured.

IEEE expanded on the original 802.11 standard in July 1999, creating the 802.11b specification. 802.11b supports bandwidth up to 11 Mbps, comparable to traditional Ethernet.
802.11b uses the same unregulated radio signaling frequency (2.4 GHz) as the original 802.11 standard. Vendors often prefer using these frequencies to lower their production costs. Being unregulated, 802.11b gear can incur interference from microwave ovens, cordless phones, and other appliances using the same 2.4 GHz range. However, by installing 802.11b gear a reasonable distance from other appliances, interference can easily be avoided.
Pros of 802.11b - lowest cost; signal range is good and not easily obstructed
Cons of 802.11b - slowest maximum speed; home appliances may interfere on the unregulated frequency band

While 802.11b was in development, IEEE created a second extension to the original 802.11 standard called 802.11a. Because 802.11b gained in popularity much faster than did 802.11a, some folks believe that 802.11a was created after 802.11b. In fact, 802.11a was created at the same time.
Due to its higher cost, 802.11a is usually found on business networks whereas 802.11b better serves the home market.
802.11a supports bandwidth up to 54 Mbps and signals in a regulated frequency spectrum around 5 GHz. This higher frequency compared to 802.11b shortens the range of 802.11a networks. The higher frequency also means 802.11a signals have more difficulty penetrating walls and other obstructions.
Because 802.11a and 802.11b utilize different frequencies, the two technologies are incompatible with each other. Some vendors offer hybrid 802.11a/b network gear, but these products merely implement the two standards side by side (each connected devices must use one or the other).
Pros of 802.11a - fast maximum speed; regulated frequencies prevent signal interference from other devices
Cons of 802.11a - highest cost; shorter range signal that is more easily obstructed

In 2002 and 2003, WLAN products supporting a newer standard called 802.11g emerged on the market. 802.11g attempts to combine the best of both 802.11a and 802.11b. 802.11g supports bandwidth up to 54 Mbps, and it uses the 2.4 Ghz frequency for greater range. 802.11g is backwards compatible with 802.11b, meaning that 802.11g access points will work with 802.11b wireless network adapters and vice versa.
Pros of 802.11g - fast maximum speed; signal range is good and not easily obstructed
Cons of 802.11g - costs more than 802.11b; appliances may interfere on the unregulated signal frequency

The newest IEEE standard in the Wi-Fi category is 802.11n. It was designed to improve on 802.11g in the amount of bandwidth supported by utilizing multiple wireless signals and antennas (called MIMO technology) instead of one.
When this standard is finalized, 802.11n connections should support data rates of over 100 Mbps. 802.11n also offers somewhat better range over earlier Wi-Fi standards due to its increased signal intensity. 802.11n equipment will be backward compatible with 802.11g gear.
Pros of 802.11n - fastest maximum speed and best signal range; more resistant to signal interference from outside sources
Cons of 802.11n - standard is not yet finalized; costs more than 802.11g; the use of multiple signals may greatly interfere with nearby 802.11b/g based networks.

What About Bluetooth and the Rest?
Aside from these four general-purpose Wi-Fi standards, several other related wireless network technologies exist.
Other IEEE 802.11 working group standards like 802.11h and 802.11j are extensions or offshoots of Wi-Fi technology that each serve a very specific purpose.
Bluetooth is an alternative wireless network technology that followed a different development path than the 802.11 family. Bluetooth supports a very short range (approximately 10 meters) and relatively low bandwidth (1-3 Mbps in practice) designed for low-power network devices like  handhelds. The low manufacturing cost of Bluetooth hardware also appeals to industry vendors. You can readily find Bluetooth in the netowrking of PDAs or cell phones with PCs, but it is rarely used for general-purpose WLAN networking due to the range and speed considerations.

WiMax also was developed separately from Wi-Fi. WiMax is designed for long-range networking (spanning miles or kilometers) as opposed to local area wireless networking.

get a better resolution on your standard 10 inch netbook

get a better resolution on your standard 10 inch netbook.

Get 1024x768 or higher resolution on your netbook via this registry hack. Most of the 10 inch netbooks available right now on the market ship with a standard resolution of 1024 x 600 px.

Many netbooks come with a default 1024x600 pixels (or similar) small screen resolution, which can cause problems in some apps or a lot of awkward scrolling. If you want to increase the amount of screen real estate you have on your netbook or be able to use apps that require higher-resolution displays (such as the Metro-style apps in the Windows 8 Developer Preview), you might be able to change a registry setting called "Display1_DownScalingSupported" in Windows to get options for higher resolutions.

Here's how to search for the setting and change it:

  • Go to the Start menu and type in regedit in the search box, then hit Enter.
  • Scroll up on the left pane to make sure you are at the very top of the tree.
  • At the top menu, go to Edit then Find... and search for "Display1_DownScalingSupported"Change each instance you find (you'll likely find 2 results for this) from "0" to "1". 
  • Make sure you change every found instance, because otherwise the hack won't work (in my experience).
  • Once done, restart the system.
  • When your system has restarted, when you right-click on your desktop and choose to change your screen resolution, you should now see options for 1024x768 as well as 1152x864 resolutions for your netbook, in addition to your previous resolutions.
  • Keep in mind that while this registry hack has been shown to work with a number of netbooks from different manufacturers, it might not work with all netbooks, and modifying your registry is always something you do at your own risk. 

It's always a good idea to backup your registry before making any changes by going to the file menu and exporting it.

(Note: Changing your default screen resolution on your netbook will most likely make it look a bit stretched out. You can try going into the advanced display properties for the Intel Graphics Media Accelerator, assuming you have an Intel GMA, where you have an option to set the aspect ratio to "maintain aspect ratio," but this has never seemed to work or apply for me; still, worth a try.)

Please post any suggestions or comments.