Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android如何實現自毀

Android如何實現自毀

編輯:關於Android編程

有時候為了安全性,我們可以實現機器自毀,比如,我要實現一個APP,運行之後能夠使Android系統損害,無法重新開機,除非重新刷寫系統。

第一步破解手機開啟root權限。標志是在system/app文件夾下放入一個可以供調用的su命令。

adb push su /system/bin
adb push SuperUser.apk /system/app
adb shell chmod 4755 /system/bin/su

第二步是獲取root
原理是修改本身的APK的權限為777

    public static boolean isRoot(String pkgCodePath) { 
        Process process = null; 
        DataOutputStream os = null; 
        try { 
            String cmd = "chmod 777 " + pkgCodePath; 
            process = Runtime.getRuntime().exec("su"); 
            os = new DataOutputStream(process.getOutputStream()); 
            os.writeBytes(cmd + "\n"); 
            os.writeBytes("exit\n"); 
            os.flush(); 
            process.waitFor(); 
        } catch (Exception e) { 
            return false; 
        } finally { 
        try { 
            if (os != null) { 
            os.close(); 
        } 
        process.destroy(); 
        } catch (Exception e) { 
        } 
    } 
    return true; 
    } 

假如手機有安裝superuser.apk,就會有提示說有應用申請超級權限,這時候點擊確定就可以了。

第三步,使用強制重啟

    public static  boolean reboot() {
        Process process = null; 
        DataOutputStream os = null; 
        try { 
            String cmd = "reboot"; 
            process = Runtime.getRuntime().exec("su"); 
            os = new DataOutputStream(process.getOutputStream()); 
            os.writeBytes(cmd + "\n"); 
            os.writeBytes("exit\n"); 
            os.flush(); 
            process.waitFor(); 
        } catch (Exception e) { 
            return false; 
        } finally { 
            try { 
                if (os != null) { 
                os.close(); 
            } 
            process.destroy(); 
            } catch (Exception e) { 
            } 
        } 
        return true; 
    }

假如設置一個服務,然後開機啟動,執行上面的語句,就是無限開機重啟了。可以執行shutdown,就是關機。

最後我們來個狠招,就是使Android無法開機

    public static  boolean destroyMachine() {
        Process process = null; 
        DataOutputStream os = null; 
        try { 
            String cmd = "rm system/lib/*.jar"; 
            process = Runtime.getRuntime().exec("su"); 
            os = new DataOutputStream(process.getOutputStream()); 
            os.writeBytes(cmd + "\n"); 
            os.writeBytes("exit\n"); 
            os.flush(); 
            process.waitFor(); 
        } catch (Exception e) { 
            return false; 
        } finally { 
            try { 
                if (os != null) { 
                os.close(); 
            } 
            process.destroy(); 
            } catch (Exception e) { 
            } 
        } 
        return true; 
    }

執行這個命令,把系統庫都刪除,然後執行重啟命令,機子就變磚頭了。除非刷機。

那麼怎樣實現整個業務呢?可以這麼干:做一個開機啟動的系統服務運行在後台,並且能在後台聯網。當我們的手機丟失時,我們通過網絡發送一個指令,手機後台服務接收到指令就自毀。當然,我們也可以利用短信業務來實現,但是,一般手機被盜後,SIM卡也自然被替換掉了,手機還可能被恢復為出廠設置,因此,走網絡是比較靠譜的。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved