In recent years the practice of Android rooting, that is the process of allowing an Android phone or tablet to bypass restrictions set by carriers, operating systems or hardware manufacturers, has become increasingly popular. Many rooting methods essentially operate by launching an exploit (or malicious code) against a vulnerability in the Android system. Due to the fact that Android systems are so diverse and fragmented and that Android systems have a notoriously long update cycle (typically due to the hold time at mobile carriers), the window of vulnerabilities is typically very large.