青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

xiaoguozi's Blog
Pay it forword - 我并不覺的自豪,我所嘗試的事情都失敗了······習慣原本生活的人不容易改變,就算現狀很糟,他們也很難改變,在過程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無法預料,人們需要更細心的觀察別人,要隨時注意才能保護別人,因為他們未必知道自己要什么·····

iOS通過讓本地代碼攔截JavaScript中調用的 window.location=”gap://Class.method/args”命令,來實現從JavaScript到本地代碼之間的通信。在本地 代碼攔截該命令后,解析獲取的參數,然后調用對應的類、方法并傳遞參數。對應的,使用 UIWebView.stringByEvaluatingJavaScriptFromString來實現本地代碼調用JavaScript。

Android通 過攔截JavaScript的prompt命令實現從JavaScript到本地代碼的通信。JavaScript prompt命令默認會彈出對話框,而PhoneGap的Android本地代碼會攔截該對話框,并進一步取得JavaScript數據。相應 的,Android上的PhoneGap內部,使用Java實現了一個HTTP服務器,通過持久性的XHR連接,JavaScript可以不斷輪詢內部 XHR服務器存儲的信息,從而實現了從Java到JavaScript方向的通信。

BlackBerry 4.xJavaScript 與本地代碼之間的唯一通信方式是通過document.cookie實現的。JavaScript設定Cookie,本地代碼從Cookie中獲取信息。 對應的,本地代碼也可以設定Cookie,允許JavaScript從Cookie中獲取本地代碼信息。

BlackBerry WebWorks新 的BlackBerry WebWorks SDK更好地支持了Java與JavaScript之間的交互通信。通過ScriptEngine.addExtension,Java對象可以被暴露給 JavaScript,而對應的Java可以使用ScriptEngine.executeScript來調用JavaScript。

Windows Phone 7在Windows Phone 7中,JavaScript通過window.external.Notify可以將信息發送給本地代碼。而相應的,WebBrowser.InvokeScript允許本地代碼調用JavaScript。

posted @ 2013-02-22 15:16 小果子 閱讀(1625) | 評論 (0)編輯 收藏

瀏覽器探究——執行網頁跳轉

Main線程中執行。

UrlInputView

控件UrlInputView執行OnEditorAction->finishInput

/**

 *url/search input view

 *handling suggestions

 */

public class UrlInputView extendsAutoCompleteTextView

       implements OnEditorActionListener,

       CompletionListener, OnItemClickListener, TextWatcher

由此可見,UrlInputView即輸入網址的那個控件,該控件包括輸入URL和執行搜索輸入。

Controller

在經過UrlInputView的處理后,會調用Controller.handleNewIntent。

Controller是瀏覽器中最重要的類,作為整個瀏覽器的主控類。Controller中有IntentHandler,這里會調用IntentHandler.onNewIntent

IntentHandler

//Handle all browser related intents

這里對一些特殊的URL做處理這里還包含了一些debug信息,比如”about:debug.dom.file"這種形式的網址。如果是普通的 url,不需要做特殊處理,則執行到最后執行Controller.loadUrlDataIn,即經過了IntentHandler后又回到了 Controller。

Controller

/**

    * Load UrlData into a Tab and update the title bar to reflect the new

    * load.  Call this instead ofUrlData.loadIn directly.

    * @param t The Tab used to load.

    * @param data The UrlData being loaded.

    */

經過簡單的處理,會把要加載的url作為參數調用被顯示的tab,即執行Tab.loadUrl。這樣看來Controller還只是個橋梁的作 用,把從UrlInputView得到的url,交給IntentHandler做處理,然后再把url交給Tab做實際的加載。

Tab

//Class for maintaining Tabs with a mainWebView and a subwindow.

Tab作為一個窗口的抽象概念而存在,對一個窗口的操作都需要通過Tab來進入。另外有個TabControl用來管理所有的Tab.

執行語句mMainView.loadUrl。這個mMainView是個WebView。從這終于進入了framework的webkit層了。

WebView

WebView作為Tab的核心控件,負責網頁的真正的加載,顯示等操作,是framework/webkit中最主要的類。通過Tab來找到WebView.

在WebView.loadUrl->WebView.loadUrlImpl中會向WebViewCore發消息,

WebViewCore

該類在一個獨立的線程中運行,該類主要通過Message,Handler的機制在WebView與WebViewCore之間通訊的,這里 WebView是在Main線程中,而WebViewCore是在單獨的 WebViewCoreThread線程中。WebViewCore是 framework/webkit核心類,它在單獨的線程中來接收消息,每個消息相當于一個請求的任務,而這個WebViewCore相當于一個服務,它 在消息循環中不停的接收任務(消息),然后處理任務,然后再接收下一個任務(消息)。任務的執行很多是通過jni調用c層webkit來操作的。在c層 webkit有webkit/Source/WebKit/android/jni/WebViewCore.cpp與該java層的 WebViewCore對應。即這個WebViewCore是java層與c層的一個主要橋梁。

在WebView.loadUrlImpl在執行了mWebViewCore.sendMessage(EventHub.LOAD_URL, arg);則WebViewCore接收到LOAD_URL任務,執行對它的處理。

WebViewCore中有BrowserFrame成員

BrowserFrame

BrowserFrame extends Handler它也有很多JNI與C層的webkit的Webkit/Source/WebKit/android/jni /WebCoreFrameBridge.cpp對應。它用來處理頁面的具體情況,即Frame,這個Frame是一個具體的頁面的概念。

WebViewCore.loadUrl會調用BrowserFrame.loadUrl。BrowserFrame會調用到WebCoreFrameBridge.cpp的LoadUrl。

這里略去c層的處理部分。

WebCoreFrameBridge.cpp的LoadUrl執行后會執行到WebCoreFrameBridge.cpp的loadStarted,這里又會回調BrowserFrame.loadStarted函數。

/**

    * native callback

    * Indicates the beginning of a new load.

    * This method will be called once for the main frame.

    */

即通過BrowserFrame的loadUrl在c層做處理后,又回調到BrowserFrame的loadStarted。

這里在理一下,主線程中有Tab,Tab里有WebView。即WebView也是運行在主線程的。而WebView里有WebViewCore,WebViewCore又是運行在一個單獨的線程里的。

那么多個WebView是否就對應多個WebViewCore和多個WebViewCore線程呢?

看下WebView,WebView的構造函數中會mWebViewCore= new WebViewCore(context, this, mCallbackProxy, javaScriptInterfaces);創建了WebViewCore對象,即每個WebView都有個WebViewCore對象。但是 WebViewCore中的WebCoreThread是一個靜態的,即一個單例的。而這個WebCoreThread中運行的 privatestatic Handler sWebCoreHandler;也是個靜態的。

由此可見WebViewCore類本身就是個外殼,真正處理任務的是WebCoreThread及其里面的sWebCoreHandler,這個真 正處理任務的是靜態的,只有一份,WebViewCore這個外殼只是溝通webView與WebCoreThread的橋梁,相當于一個代理類。是 WebCoreThread提供給外面的處理接口。

那么BrowserFrame呢?在WebViewCore的構造最后會發送一個INITIALIZE的消息給 WebCoreThread,WebCoreThread接收到后會執行WebViewCore.initialize,這個函數會構造 mrowserFrame。即每次構造WebViewCore時同樣會構造一個BrowserFrame。但是為什么不在主線程中創建呢?一方面它是繼承 自Handler,這個Handler需要在WebViewCoreThread線程中運行,所以需要在該線程來創建。另一方面在它的構造中需要創建 JWebCoreJavaBridge這個是C層的類,貌似這個類也需要在WebViewCoreThread線程中創建和銷毀才行。

由上分析可知,WebView包含一個WebViewCore,WebViewCore包含一個BrowserFrame。多個 WebViewCore共同對應唯一的一個WebCoreThread。WebViewCore只是個外殼,WebCoreThread作為任務的處 理,WebCoreThread主要就是個大Handler不停的處理接收到的任務,WebCoreThread會調用很多jni來調用webkit接 口,BrowserFrame也有很多jni來調用webkit接口。由他們的組成情況又可知WebCoreThread直接調的jni是多個 WebView共同的,即不跟具體的WebView相關,而通過BrowserFrame調用的則跟一個具體的WebView相關了。

CallBackProxy

/**

 *This class is a proxy class for handling WebCore -> UI thread messaging. All

 *the callback functions are called from the WebCore thread and messages are

 *posted to the UI thread for the actual client callback.

 */

/*

 *This class is created in the UI thread so its handler and any private classes

 *that extend Handler will operate in the UI thread.

 */

class CallbackProxy extends Handler {

另外還有個類CallBackProxy。它存在于WebView,WebViewCore,BrowserFrame中。在WebView構造函 數中創建,并在WebViewCore和BrowserFrame構造函數中作為參數傳入并賦值給它們內部的引用。可見CallBackProxy是 WebViewCore和BrowserFrame向WebView回調的橋梁。

CallBackProxy是一個Handler,它在主線程中被創建,即WebViewCore和BrowserFrame會通過發消息的方式將 需求傳遞到主線程的CallBackProxy中,CallBackProxy的事件處理循環會執行相應的處理。可見主線程中WebView通過 WebViewCore發消息給WebViewCoreThread線程執行操作,WebViewCoreThread線程又會通過 CallBackProxy回調消息給主線程執行處理。

再回到BrowserFrame.loadStarted處。

BrowserFrame.loadStarted會調用 CallBackProxy.onPageStarted,CallBackProxy.onPageStarted中會給發PAGE_STARTED消 息,主線程中的CallBackProxy的handleMessage會執行處理。在處理時會執行 WebViewClient.onPageStarted。

WebViewClient

mWebViewClient本身只是提供一個接口基類,Tab中private finalWebViewClient mWebViewClient = new WebViewClient()

// WebViewClient implementation for themain WebView

//Set the WebViewClient that will receivevarious notifications and requests. This will replace the current handler.

這個WebViewClient會傳給Tab中的WebView的CallbackProxy。這個WebViewClient會讓CallbackProxy返回信息或回調處理給Tab。

回到WebViewClient.onPageStarted,這里做了一些判斷處理后,調用WebViewController.onPageStarted。

WebViewController

//WebView aspect of the controller

public interface WebViewController

在Tab的構造時,WebViewController會作為參數傳入,并設置給Tab。那么Tab中的WebViewController到底是什么?Tab是在TabController中創建的,而Tab構造時傳入的是Controller。

public class Controller implementsWebViewController, UiController

由此可見Tab中的WebViewController其實就是對應Controller。只是通過WebViewController接口作為引用的。即Tab中只關心Controller的WebViewController接口部分。

這樣就可以看出BrowserFrame通過消息與主線程中的CallbackProxy處理循環關聯,CallbackProxy又通過 WebViewClient與Tab關聯,回調了Tab提供的接口,而Tab又通過WebViewController接口,調用了Controller 這個核心類的函數。即調用到WebViewController.onPageStarted,也即是 Controller.onPageStarted.

Controller.onPageStarted中一個主要的處理是

if (!mNetworkHandler.isNetworkUp()) {           view.setNetworkAvailable(false);       }這里判斷網絡是否是激活狀態,如果不是激活 狀態則執行WebView.SetNetworkAvailable(Boolean networkUp)

/**     * Inform WebView ofthe network state. This is used to set    * the JavaScript property window.navigator.isOnline and     * generates the online/offline event asspecified in HTML5, sec. 5.7.7     *@param networkUp boolean indicating if network is available     */

該函數其實就是像WebViewCore發送SET_NETWORK_STATE消息,好吧,又回到了WebViewCoreThread線程了, 處理的方式是直接BrowserFrame.sJavaBridge.setNetworkOnLine。這個函數是個jni函數,其調用的是c層 JavaBridge的函數。這個jni函數主要就是通知c層WebCore網路狀態已經變化,并把最新的網絡狀態告訴WebCore。

由此可見WebView.setNetworkAvailable還是個挺重要的函數,通過它才能告訴底層網絡的狀態。

那么額外看下網絡狀態如何獲取并傳遞的,在loadUrl發起加載url這塊判斷了一次,即當無網絡時主動通知一次。其他的呢?

在NetworkStateHandler中會注冊一個BroadcastReceiver,該receiver會關注 ConnectivityManager.CONNECTIVITY_ACTION廣播,該廣播是在網絡發生連接變化時被發出,該receiver在接收 到網絡連接變化的廣播后,會查詢當前的連接情況,然后執行NetworkStarteHandler.onNetworkToggle,這個函數里面就會 調用WebView.setNetworkAvailable,也即跟上述描述的那樣,給WebViewCoreThread線程發消息,通知c層 WebCore網絡的最新狀態。

這樣就清楚了,網絡廣播時會通知C層最新狀態,在執行loadUrl時,如果網絡不可用也會通知C層網絡最新狀態。

這里先跨過Controller.onPageStarte的其他處理過程。此次任務處理完畢。

此時WebViewCoreThread線程中BrowserFrame仍然處于c層的LoadUrl中,此時的調用棧為:

BrowserFrame.nativeLoadUrl

BrowserFrame.loadUrl

WebViewCore.loadUrl

這里又會回調BrowserFrame.shouldInterceptRequest,它會調用BrowserFrame.inputStreamForAndroidResource函數

 /**
     * Get the InputStream for an Android resource
     * There are three different kinds of android resources:
     * - file:///android_res
     * - file:///android_asset
     * - content://
     * @param url The url to load.
     * @return An InputStream to the android resource
     */

這個函數會對幾種特殊的url做不同的處理,當輸入一個標準的http的url時,該函數不起什么作用。

BrowserFrame.shouldInterceptReques接下來會調用 CallbackProxy.shouldInterceptRequest,看到調用CallbackProxy的函數,基本上就是要發消息給主線程讓 主線程去處理任務了,這里發送了LOAD_RESOURCE消息,主線程接收后執行WebViewClient.onLoadResource。回到 BrowserFrame.nativeLoadUrl處,此時這個jni的函數終于執行完畢,也不再回調其他函數了,該函數完 成,WebViewCoreThread線程執行完LoadUrl的處理。

當沒有連接網絡時,有個單獨的線程會執行JWebCoreJavaBridge.signalServiceFuncPtrQueue這個JNI的 回調函數,該回調函數會發FYBCPTR_MESSAGE消息給WebViewCoreThread線程,但處理函數是 JWebCoreJavaBridge.handle,由此可見WebViewCoreThread線程不僅僅有一個Handler在處理事件.

JWebCoreJavaBridge

JWebCoreJavaBridge extends Handler 可見JWebCoreJavaBridge也是個Handler也是在WebViewCoreThread線程中運行的,只是發送消息的線程不是主線程, 是另一個單獨的線程,并且消息的發送來源是JNI的回調。

JWebCoreJavaBridge對應的JNI是webkit/Source/WebKit/android/jni/JavaBridge.cpp的函數。

JWebCoreJavaBridge處理FYBCPTR_MESSAGE消息時會調用一個JNI函數,在JNI函數里又會回調BrowserFrame.reportError。

又是跟上面類似的流程,BrowserFrame.reportError調用CallbackProxy.onReceiveError,這個 CallbackProxy里會發消息REPORT_ERROR,然后主線程接收消息,執行 WebViewClient.onReceivedError。

接著又是收到FUNCPTR_MESSAGE消息,調用nativeServiceFuncPtrQueue,但是這里回調了 BrowserFrame.loadStarted,然后的處理流程跟上述的LoadUrl中調用BrowserFrame.loadStarted過程 一樣。

接著WebViewCoreThread線程又是收到FUNCPTR_MESSAGE消息,調用 JWebCoreJavaBridge.nativeServiceFuncPtrQueue,WebViewCore.contentDraw被調用, 該函數發送WEBKIT_DRAW,處理該消息會執行繪制的操作。

接著WebViewCoreThread線程中JWebCoreJavaBridge.handleMessage又被調用,還是 FUNCPTR_MESSAGE消息,仍然是調用nativeServiceFuncPtrQueue。但此時BrowserFrame收到 loadFinished的回調,發PAGE_FINISHED消息,主線程接收消息處理時會執行WebView.onPageFinished和 WebViewClient.onFinished.

http://blog.csdn.net/hxwwf/article/details/7281318
posted @ 2013-02-22 15:07 小果子 閱讀(1658) | 評論 (0)編輯 收藏

1、使用軟件更新的方式:

打開Eclipse -> Help -> Install New Software 然后在彈出對話框的 Work with 框中輸入如下的地址,回車。

http://update.aptana.com/update/studio/3.2/

然后就會一步步選擇需要安裝的組件即可。

2、在Eclipse 4.2 上安裝 Aptana 3.2遇到的錯誤,提示找不到 org.eclipse.update.ui 0.0.0

通過google(這種時候記得別使用百度),看到有同樣的問題:

http://boards.developerforce.com/t5/General-Development/Trouble-with-Force-com-IDE-installation-in-Eclipse-4-2/m-p/480891#M73687

 

其中的有人回答:

Hi, After i am downloadinng org.eclipse.update.ui_3.2.300.v20100512.jar and org.eclipse.update.ui.source_3.2.300.v20100512.jar files from the below site and placed it under eclipse/plugins directory and it worked for me.http://grepcode.com/snapshot/repository.grepcode.com/java/eclipse.org/3.6/org.eclipse.update/ui/3.2.... thanks, Ravi
 
按照提示的這個網址,去下載 ui組件,放置到eclipse目錄的 plugins 之中,重啟eclipse,再次安裝即可成功。
 
注:Eclipse 4.2的update ui,在這里:http://grepcode.com/search /?r=repository.grepcode.com$java$eclipse.org$4.2&start=20&query=org.eclipse.update+ui+3.2....&entity=project
 
另外如果要安裝Aptana直接輸入:http://download.aptana.com/studio3/plugin/install 進行更新即可。

Re: Trouble with Force.com IDE installation in Eclipse 4.2

‎08-09-2012 10:06 AM

Update:

 

In the post I linked above: http://boards.developerforce.com/t5/General-Development/Install-Eclipse-Juno-4-2-with-Force-com-IDE/..., there's been a solution that worked for me.

 

To Quote Zokito:

 

08-09-2012 09:04 AM

Hi,

 

cause of the problem lies here:

 

http://www.eclipse.org/eclipse/development/porting/4.2/incompatibilities.html

(search for org.eclipse.update.ui)

 

It should be possible to fetch the deependency automatically through the marketplace but for me it's not working.... so what would you need to do is install the org.eclipse.update.ui manually from e.g.

http://www.java2s.com/Code/Jar/o/Downloadorgeclipseupdateui32300v20100512jar.htm

 

 

extract it and than copy the jar file to your eclipse/plugins/ directory. 

Start Eclipse again and then try to install the Force IDE plugin.

 

 

this solved the issue for me

 

Hope this is helpful!

 

Kelly

posted @ 2013-02-22 10:25 小果子 閱讀(1723) | 評論 (0)編輯 收藏

android root權限獲取的教程有很多,為了讓大家更進一步的了解root的奧秘所在,靈客風特為您奉獻本文,希望對您有所幫助。

Android的應用程序入口肯定是java程序。應用程序的啟動者是由系統臨時根據Androidmanifest.xml中定義的權限而創建的臨時用戶。而不像linux那樣是使用登陸者的身份啟動,從而使得進程具有登陸者的所有權限。這也是Android的安全機制之一。

新的權限機制也帶來新的問題,Android給應用程序的權限是按功能來分,java雖然可以訪問文件系統。但由于應用程序本身是臨時用戶啟動,這個臨時用戶權限十分有限。因此誕生了<越獄/root機器>這樣的產物。

其實root機器不是真正能讓你的應用程序具有root權限。它原理就跟linux下的像sudo這樣的命令。在系統的bin目錄下放個su程序并屬主是root并有suid權限。則通過su執行的命令都具有Android root權限。

Su的源代碼網上也有,有興趣的同學去google下。

當然使用臨時用戶權限想把su拷貝的/system/bin目錄并改屬性并不是一件容易的事情。這里用到2個工具跟2個命令。工具就是busybox。不熟悉的同學可以去網上google下。這個太有名了我就不多說了。

把busybox拷貝到你有權限訪問的目錄然后給他賦予4755權限,你就可以用它做很多事了。

當然busybox只能不能提升權限,真正提升權限的是ratc這個程序,這個程序中一鍵root包里面可以找到,作用是rooting在adb的shell。

網上介紹Ratc的文章不多,它是rage against the cage 的縮寫。是真正的提升權限的破解程序。雖然我沒看過源代碼,但估計是利用adb源代碼部分內容來實現的,原理估計跟模擬器使用adb shell登陸可以獲得root shell差不多。(因為它運行需要adb連接才會成功)。

使用busybox前先運行ratc,這樣運行busybox的UID將是0,也就是root。

首先把system目錄改成可讀性的:busybox mount -o remount,rw /system,

當然你還不能改下面的文件,因為system下文件的所有者都不是你。

但你可以偷梁換柱把system下的目錄給換掉。

使用命令Busybox mount -t tmpfs none /system/xbin,呵呵這下xbin目錄你隨便寫了。

將su跟busybox弄過去cp /data/data/xxx/su /system/xbin。然后賦權限chmod 4755 /system/xbin/su。

然后使目錄生效busybox --install -s /system/xbin,

別忘善后busybox mount -o remount,ro /system去掉system可寫。

這樣只是臨時的,只能用su跟busybox能執行一些原來系統沒有權限執行的命令而已。當系統重啟后/system/xbin又變為原來的文件。 真正要改系統的話需要自己寫內核代碼(相當于windows的驅動程序)。內核文件擁有所有權限。使用busybox命令insmod /data/data/xxx/xxx.ko裝載內核文件,你想干嘛就可以干嘛了。

當然我們不是搞破解的沒必要去改別人的機器,我們只是想讓自己應用程序具有root權限而已。所以臨時的su就可以了。我們用c++寫一個可執行文 件。使用socket可以跟java的程序通訊。然后將需要使用root權限才能執行的代碼放在c++程序里,然后java程序中創建新的su進程,將 c++程序帶全路徑作為參數1。啟動后就可以通過socket調用c++函數去執行你想干的事了。

最后程序執行完了別忘了善后busybox umount /system/xbin。

最后說說要注意的事情,如果機器已經擁有Android root權限的話就不需要做這些事情了,但root過的機器都有裝有個權限管理的程序。會彈出對話框。但這個程序管理能力有限,如果不想讓他彈出的話。也許可以通過改su文件名來解決。有興趣的同學不妨試試。


現在Android系統的root破解基本上成為大家的必備技能!網上也有很多中一鍵破解的 軟件,使root破解越來越容易。但是你思考過root破解的原理嗎?root破解的本質是什么呢?難道是利用了Linux kernal的漏洞嗎?本文將簡單對root的破解原理進行分析。

     網上有一篇文章已經對root破解的基本原理進行了簡單介紹,大家可以先參考一下《android root權限破解分析》,本文只能說對root原理進行了方向性的描述,但是在一些具體的方面沒有描述清楚。本文將會對其進行一些必要的擴展和補充。

     如果你進行過程序開發,在root過的手機上面獲得root權限的代碼如下:

  1. Runtime.getRuntime().exec("su"); DataOutputStream os = new DataOutputStream(process.getOutputStream());  
  2. ......  
  3. os.writeBytes("exit\n");  
  4. os.flush();  

     從上面代碼我們可以看到首先要運行su程序,其實root的秘密都在su程序中,《android root權限破解分析》中講到Android系統默認的su程序只能root和shell可以用運行su,這個是安全的。如果把這個限制拿掉,就是root破解了!

     下面我們仔細分析一下程序是怎樣獲得root權限的,如果對Linux的su命令熟悉的朋友可能知道su程序都設置SUID位,我們查看一下我的手機(已經root破解)上的su權限設置,

      我們發現su的所有者和所有組都是root,是其實是busybox的軟鏈接,我們查看busybox的屬性發現,其設置了SUID和SGID,并且所有者和所有組都是root。SUID和SGID的作用是什么呢?如果你不太清楚,請參考《Linux進程的實際用戶ID和有效用戶ID》,這樣運行busybox的普通用戶,busybox運行過程中獲得的是root的有效用戶。su程序則是把自己啟動一個新的程序,并把自己權限提升至root(我們前面提到su其實就是busybox,運行期它的權限是root,當然也有權限來提升自己的權限)。

     再強調一下不光root手機上su需要設置SUID,所有的Linux系統上的su程序都需要設置SUID位。請參考一下UC服務器的su的權限情況:

     我們發現su也設置了SUID位,這樣普通用戶也可以運行su程序,su程序會驗證root密碼,如果正確su程序可以把用戶權限提高的root(因為其設置SUID位,運行期是root權限,這樣其有權限提升自己的權限)。

     這樣我們就可以看出其實Android系統的破解的根本原理就是替換掉系統中的su程序,因為系統中的默認su程序需要驗證實際用戶權限(只有root和 shell用戶才有權運行系統默認的su程序,其他用戶運行都會返回錯誤)。而破解后的su將不檢查實際用戶權限,這樣普通的用戶也將可以運行su程序, 也可以通過su程序將自己的權限提升。

     到這里大家對root破解不感到神秘了吧。root破解沒有利用什么Linux內核漏洞(Linux內核不可能有這么大的漏洞存在),可以理解成root 破解就是在你系統中植入“木馬su”,說它是“木馬”一點兒都不為過,假如惡意程序在系統中運行也可以通過su來提升自己的權限的這樣的結果將會是災難性 的。所以一般情況下root過手機都會有一個SuperUser應用程序來讓用戶管理允許誰獲得root權限,也算是給系統加了一層保險吧!

     如上是Simon的個人對root破解的一些認識,如果有錯誤的地方,歡迎朋友們指正.

posted @ 2013-02-20 16:07 小果子 閱讀(7690) | 評論 (0)編輯 收藏
– Makefile (全局的Makefile文件)
– bionic (Bionic含義為仿生,這里面是一些基礎的C庫源代碼)
– bootloader (引導加載器)
build目錄中的內容不是目標所用的代碼,而是編譯和配置所需要的腳本和工具)
– build (build目錄中的內容不是目標所用的代碼,而是編譯和配置所需要的腳本和工具)
– cts (Android兼容性測試套件標準)
– libcore (核心庫相關)
Dalvik虛擬機 針對嵌入式設備優化的Java
Java虛擬機)
– dalvik ( Dalvik虛擬機,針對嵌入式設備優化的Java虛擬機)
– development (創建應用程序所需要的模板和工具)
qcom,
– device (與具體設備相關的一些編譯腳本和庫,如htc,qcom,samsung等)
– external (Android使用的一些外部的開源框架和庫)
(應用程序的框架層,SDK
SDK的接口基本都是在這里實現的)
– frameworks (應用程序的框架層,SDK的接口基本都是在這里實現的)
– hardware (與硬件相關的庫)
Linux2.6
– kernel (Linux2.6的內核源代碼)
– ndk (本地開發套件--C語言開發套件)
--C
Android的各種應用程序)
– packages (Android的各種應用程序)
– prebuilt (Android在各種平臺下編譯的預置腳本)
– sdk (SDK及模擬器)
Android的底層的一些庫)
– system (Android的底層的一些庫)
`– vendor (廠商私有的代碼)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
packages/
|– apps (各種應用程序,如聯系人、瀏覽器等)
|– experimental (一些實驗性的項目,如錯誤報告)
|– inputmethods (輸入法相關)
|– providers (各種數據源實現,如聯系人數據、媒體庫等信息)
|– wallpapers (各種壁紙程序)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Android Framework功能介紹
android.app :提供高層的程序模型和基本的運行環境。
android.content :包含對各種設備上的數據進行訪問和發布。
android.database :通過內容提供者瀏覽和操作數據庫。
android.graphics :底層圖形庫,包含畫布、點、矩形等,可以將其直接繪制到屏幕上。
android.location :定位和相關服務的類。
android.media :提供一些類管理多種音頻、視頻的媒體接口。
android.net :提供幫助網絡訪問的類,超過通常的 java.net.* 接口。
android.os :提供了系統服務、消息傳輸和 IPC 機制。
android.opengl :提供 OpenGL 的工具。
android.provider :提供訪問 Android 內容提供者的類。
android.telephony :提供與撥打電話相關的 API 交互。
android.view :提供基礎的用戶界面接口框架。
android.util :涉及工具性的方法,例如時間日期的操作。
android.webkit :默認瀏覽器操作接口。
android.widget :包含各種 UI 元素(大部分是可見的)在應用程序的布局中使用
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/
|– buildspec.mk.default
|– cleanspec.mk
|– core (各種以mk為結尾的文件,它門是編譯所需要的Makefile)
|– envsetup.sh
|– libs
|– target (包含board和product兩個目錄,為目標所需要文件)
|– tools (編譯過程中主機所需要的工具,一些需要經過編譯生成)
其中,core中的Makefile是整個Android編譯所需要的真正的Makefile,它被頂層目錄的Makefile引用。
基本介紹到此,文章參考網絡中各種文章,如果有侵權啥行為的,請聯系刪除。
posted @ 2013-02-20 14:16 小果子 閱讀(533) | 評論 (0)編輯 收藏
僅列出標題
共58頁: 1 2 3 4 5 6 7 8 9 Last 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产日韩欧美夫妻视频在线观看| 亚洲国产精品久久久久婷婷老年| 久久一区免费| 亚洲尤物视频在线| 妖精视频成人观看www| 亚洲精品免费电影| 欧美激情一区二区三区不卡| 欧美韩日一区二区| 亚洲高清资源综合久久精品| 欧美黄色视屏| 最新亚洲视频| 99热免费精品| 中国成人黄色视屏| 99在线精品免费视频九九视| 亚洲一区免费看| 久久久99爱| 亚洲欧美美女| 免费观看在线综合色| 亚洲国产精品小视频| 午夜国产精品影院在线观看| 99国内精品久久| 日韩亚洲欧美成人| 一本色道久久99精品综合 | 一区二区三区日韩在线观看 | 国产一区自拍视频| 在线看无码的免费网站| 伊人久久大香线蕉av超碰演员| 国产精品久久久对白| 亚洲一区二区免费看| 亚洲国产精品黑人久久久| 欧美伊人久久| 亚洲欧美日韩国产综合| 欧美激情视频一区二区三区在线播放| 日韩午夜精品| 羞羞答答国产精品www一本| 欧美午夜宅男影院| 亚洲日韩欧美视频| 欧美激情导航| 亚洲三级毛片| 欧美高清在线| 亚洲免费婷婷| 美女成人午夜| 巨乳诱惑日韩免费av| 国产一区二区三区四区hd| 欧美电影在线观看| 午夜精品久久久久久久99樱桃| 久久久久久色| 亚洲在线视频观看| 国产日韩欧美成人| 一区二区三区精品视频在线观看| 久久夜色精品| 一区二区三区成人精品| 免费观看成人鲁鲁鲁鲁鲁视频| 国产美女精品一区二区三区 | 狠久久av成人天堂| 亚洲精品婷婷| 欧美成人国产一区二区| 欧美一区=区| 国产精品一级| 亚洲在线中文字幕| 亚洲国产电影| 麻豆久久久9性大片| 韩国成人理伦片免费播放| 久久精品人人| 久久精品一区二区三区不卡牛牛 | 久久久人成影片一区二区三区 | 欧美黄色免费| 激情久久综合| 久久久久久久一区二区| 午夜免费日韩视频| 国产视频一区免费看| 国产一区二区三区日韩| 国产精品视频精品| 国内不卡一区二区三区| 亚洲精品免费一区二区三区| 一区二区成人精品| 性欧美1819性猛交| 噜噜爱69成人精品| 久久狠狠婷婷| 国产日韩一区二区三区在线| 亚洲国产日韩在线| 久久久水蜜桃av免费网站| 亚洲一区免费视频| 亚洲午夜在线观看| 亚洲精品一区二区三区99| 噜噜噜噜噜久久久久久91| 国产日韩综合| 欧美激情精品久久久久久免费印度| 伊人夜夜躁av伊人久久| 免费成人性网站| 免费毛片一区二区三区久久久| 日韩视频不卡中文| 亚洲一区二区久久| 激情久久综艺| 亚洲精品美女91| 国产精品视频免费| 欧美成人按摩| 国产精品久久久久久久久久久久| 久久九九免费视频| 欧美日韩精品欧美日韩精品| 欧美一区二区三区四区夜夜大片| 久久男女视频| 亚洲欧美中日韩| 麻豆精品一区二区综合av| 激情文学一区| 欧美一区二区三区免费观看视频 | 欧美日韩和欧美的一区二区| 亚洲欧美日韩人成在线播放| 亚洲无限av看| 欧美在线视频在线播放完整版免费观看| 99精品国产99久久久久久福利| 99精品国产在热久久婷婷| 亚洲婷婷综合色高清在线| 久久免费精品日本久久中文字幕| 99视频日韩| 久久精品国产69国产精品亚洲 | 亚洲视频综合在线| 欧美一区二区在线免费播放| 亚洲精品免费网站| 久久精品99国产精品| 亚洲欧美综合精品久久成人| 欧美诱惑福利视频| 亚洲激情视频在线播放| 欧美国产免费| 亚洲福利国产精品| 欧美国产国产综合| 最新日韩在线视频| 亚洲一线二线三线久久久| 亚洲综合国产激情另类一区| 国产精品ⅴa在线观看h| 91久久综合| 久久综合999| 亚洲国产精品一区在线观看不卡 | 免费久久99精品国产自在现线 | av成人老司机| 日韩视频不卡| 欧美女主播在线| 亚洲欧洲日本一区二区三区| 亚洲缚视频在线观看| 久久久久久亚洲综合影院红桃| 久久久久国产精品一区三寸| 国产欧美一区二区精品性 | 在线观看国产成人av片| 精久久久久久| 欧美高清不卡| 久久九九免费| av成人免费| 欧美成人亚洲成人| 国产精品福利在线观看| 夜夜狂射影院欧美极品| 久久久久久亚洲精品中文字幕| 欧美在线不卡视频| 韩国女主播一区| 久久一区欧美| 亚洲国产日韩欧美在线图片| 最新日韩在线视频| 欧美二区乱c少妇| 亚洲激情影院| 亚洲欧美在线另类| 狠狠色狠狠色综合日日小说| 久久大逼视频| 亚洲人午夜精品| 亚洲网站在线播放| 亚洲自拍偷拍麻豆| 国内激情久久| 欧美三日本三级少妇三2023| 欧美日韩国产一区二区三区| 在线不卡a资源高清| 久久综合狠狠综合久久激情| 亚洲高清一区二区三区| 国产精品99久久久久久白浆小说| 国产精品日韩在线| 欧美一区二区日韩| 亚洲女人天堂成人av在线| 欧美伊人久久大香线蕉综合69| 国产视频精品免费播放| 欧美成人a∨高清免费观看| 一区二区三区精品久久久| 久久视频在线视频| 亚洲深夜福利在线| 黄色成人在线| 夜夜嗨av一区二区三区网站四季av | 国产精品久久国产精麻豆99网站| 久久综合五月天婷婷伊人| 亚洲伦理在线免费看| 国产精品va在线播放我和闺蜜| 欧美一区二区三区在线免费观看| 亚洲国产精品久久久久秋霞影院 | 欧美 日韩 国产在线| 亚洲一区三区在线观看| 亚洲大胆人体视频| 久久精品国产欧美激情| 一本色道久久88精品综合| 国产亚洲毛片在线| 国产精品成人在线观看| 免费观看在线综合色| 亚洲欧美日韩一区二区三区在线观看| 久色成人在线| 欧美一区久久| 香蕉乱码成人久久天堂爱免费|