① 黑客是通過那些方式對安卓手機植入木馬獲取用戶隱私信息的
你好!在無線電通訊領域,每時每刻都有陌生無線電波傳入,介入你的手機無線電的接受,在你閱覽手機時,信息通過無線網路點傳輸,其過程並非特殊加密,黑客利用不加密的通訊,來獲取信息,物理上無論你手機,只要開機通訊就進入黑客攻擊包圍,手機安裝的所謂linux安桌系統,黑客不費吹灰之力就可以進入其中手機獲取數據,在所謂天下之無孔不入,所以我建議大家不要放置重要數據、圖片、密碼、相關信息,祝網路愉快!
② android簡介
Android介紹
HTC G1操作界面Android 是Google開發的基於Linux平台的開源手機操作系統。它包括操作系統、用戶界面和應用程序 —— 行動電話工作所需的全部軟體,而且不存在任何以往阻礙移動產業創新的專有權障礙。Google與開放手機聯盟合作開發了 Android,這個聯盟由包括中國移動、摩托羅拉、高通、宏達電和 T-Mobile 在內的 30 多家技術和無線應用的領軍企業組成。Google通過與運營商、設備製造商、開發商和其他有關各方結成深層次的合作夥伴關系,希望藉助建立標准化、開放式的行動電話軟體平台,在移動產業內形成一個開放式的生態系統。
Android 作為谷歌企業戰略的重要組成部分,將進一步推進"隨時隨地為每個人提供信息"這一企業目標的實現。我們發現,全球為數眾多的行動電話用戶從未使用過任何基於 Android 的電話。谷歌的目標是讓(移動通訊)不依賴於設備甚至平台。出於這個目的,Android 將補充,而不會替代谷歌長期以來奉行的移動發展戰略:通過與全球各地的手機製造商和移動運營商結成合作夥伴,開發既有用又有吸引力的移動服務,並推廣這些產品。
開放手機聯盟的成立和 Android 的推出是對現狀的重大改變,在帶來初步效益之前,還需要不小的耐心和高昂的投入。但是,我們認為全球移動用戶從中能獲得的潛在利益是值得付出這些努力的。如果你也是一個開發者,並對我們的想法感興趣,就請再給我們一星期的時間,屆時谷歌便能提供 SDK 了。如果你是一名移動用戶,只需再等一段時間,我們的一些合作夥伴計劃在 2008 年下半年推出基於 Android 平台的電話產品。如果你已經擁有一部你了解並喜愛的電話,請登錄 mobile.google.com ,確保你已經安裝谷歌手機地圖、Gmail 以及其他一些專為你的手機開發的精彩應用。谷歌將繼續努力,讓這些服務變得更好,同時也將添加更有吸引力的特性、應用和服務。
[編輯本段]Android團隊成員
白色版HTC G1Android平台的研發隊伍陣容強大,包括Google、HTC(宏達電)、PHILIPS、T-Mobile、高通、魅族、摩托羅拉、三星、LG以及中國移動在內的34家企業,都將基於該平台開發手機的新型業務,應用之間的通用性和互聯性將在最大程度上得到保持。「開放手機聯盟」表示,Android平台可以促使移動設備的創新,讓用戶體驗到最優越的移動服務,同時,開發商也將得到一個新的開放級別,更方便的進行協同合作,從而保障新型移動設備的研發速度。
34家企業的加盟,也將大大降低新型手機設備的研發成本,完全整合的「全移動功能性產品」成為「開放手機聯盟」的最終目標。
這34家企業中並不包含把持Symbian的諾基亞,以及憑借著iPhone風光正在的蘋果公司,美國運營商AT&T和Verizon,當然微軟沒有加入,獨樹一幟的加拿大RIM和他們的Blackberry也被擋在門外。
手機開放聯盟大家庭成員名單:
一、手機製造商:
台灣宏達國際電子(HTC)(Palm等多款智能手機的代工廠)
摩托羅拉(美國最大的手機製造商)
韓國三星電子(僅次於諾基亞的全球第二大手機製造商)
韓國LG電子
中國移動(全球最大的移動運營商,截至09年9月底 有7.03億用戶)
日本KDDI(2900萬用戶)
日本NTT DoCoMo(5200萬用戶)
美國Sprint Nextel(美國第三大移動運營商,5400萬用戶)
義大利電信(Telecom Italia)(義大利主要的移動運營商,3400萬用戶)
西班牙Telefónica (在歐洲和拉美有1.5億用戶)
T-Mobile(德意志電信旗下公司,在美國和歐洲有1.1億用戶)
二、半導體公司:
Audience Corp(聲音處理器公司)
Broadcom Corp(無線半導體主要提供商)
英特爾(Intel)
Marvell Technology Group
Nvidia (圖形處理器公司)
SiRF(GPS技術提供商)
Synaptics(手機用戶界面技術)
德州儀器(Texas Instruments)
高通(Qualcomm )
三、軟體公司:
Aplix
Ascender
eBay的Skype
Esmertec
Living Image
NMS Communications
Noser Engineering AG
Nuance Communications
PacketVideo
SkyPop
Sonix Network
TAT-The Astonishing Tribe
Wind River Systems
硬體產品運行Android
已發布(預裝)
HTC Dream
HTC Magic
HTC Hero
Qigi i6
HKC Pearl
HKC Imobile v413
Samsung I7500
售後安裝
一些用戶已經能夠(某些黑客,以及有限的功能)安裝Android在其它操作系統的移動設備之上:
OpenMoko手機 (Neo FreeRunner 及 Neo 1973)Motorola A1200 MingHTC VogueHTC PolarisHTC KaiserHTC Touch Diamond: 並非所有功能都被許可 (包括 Wifi)HTC Touch Pro諾基亞 N810諾基亞 770Asus EeePC 701Asus EeePC 1000HTouch Book from Always InnovatingDell Axim x51vHTC Touch HD: 並非所有功能都被許可 (包括 Wifi和音頻語音通話)Samsung Omnia: 只有基本功能(沒有相機或WiFi,需要安裝在SD卡中)Sharp Zaurus[1][2]
[編輯本段]Android的未來發展
雖然沒有看到Gphone的真正模樣,但據了解,Google的Android平台手機將在2008年下半年正式揭開面紗.對於消費者來說,Google手機將是一款通用的、功能強大的、設備完整的手機產品。
美國咨詢研究集團Strategy Analytics的最新報告指出,Google最近公布的android手機軟體平台,很可能在2008年時獲得全球智能手機軟體平台2%的份額。
而老牌智能手機軟體平台製造商Symbian發言人則表示:Google的android只不過是另一個linux,symbian對其它軟體與其形成的競爭並不感到擔心。除了北美之外,Symbian在其它地區智能手機市場都佔有大部分市場份額。
與iPhone相似,Android採用WebKit瀏覽器引擎,具備觸摸屏、高級圖形顯示和上網功能,用戶能夠在手機上查看電子郵件、搜索網址和觀看視頻節目等,比iPhone等其他手機更強調搜索功能,界面更強大,可以說是一種融入全部Web應用的單一平台。
但其最震撼人心之處在於Android手機系統的開放性和服務免費。Android是一個對第三方軟體完全開放的平台,開發者在為其開發程序時擁有更大的自由度,突破了iPhone等只能添加為數不多的固定軟體的枷鎖;同時與Windows Mobile、Symbian等廠商不同,Android操作系統免費向開發人員提供,這樣可節省近三成成本。
Android項目目前正在從手機運營商、手機廠商、開發者和消費者那裡獲得大力支持。谷歌移動平台主管安迪·魯賓(Andy Rubin)表示,與軟體開發合作夥伴的密切接觸正在進行中。從去年11月開始,谷歌開始向服務提供商、晶元廠商和手機銷售商提供Android平台,並組建「開放手機聯盟」,其成員超過30家。
[編輯本段]Android的市場前景
Google手機於08年10月22日正式上市,與運營商捆綁的合約價為179美元(約合人民幣1200元),現有的T-Mobile用戶可以通過網路訂購。在10月22日發布當天,將有22個國家和地區可以買到谷歌手機。在11月,將增至27個國家和地區。
谷歌手機將只能在T-Mobile網路內使用,將會有SIM卡鎖定限制。T-Mobile USA提供了兩種流量和簡訊包月計劃。第一檔為25美元,包括不限制的網路流量,以及一定數量的簡訊;第二檔為35美元,包括不限制的網路流量和不限數量的簡訊。G1支持各種谷歌的服務,包括Gmail、Google Maps、YouTube、Google日歷和Google Talk,內置Chrome Lite瀏覽器。使用這款手機也需要Gmail賬號。
「我愛死我的G1了!」谷歌聯合創始人拉里·佩奇(Larry Page)憧憬:「對於我來說,谷歌手機最激動人心的一點就是它的未來。它的功能很強,正如幾年前的電腦一樣。你可以上網,安裝軟體。」
T-Mobile USA為德國電信旗下移動子公司,運營GSM/HSPA網路,擁有用戶近3000萬。此次發布的谷歌手機採用高通MSM7201A處理器,支持7.2Mbps下載速率,美國運營商3G網路設定的套餐速率一般可達1Mbps以上。MSM7201A為單晶元、雙核,整合硬體加速多媒體功能、支持3D圖形,300萬像素的攝像功能可以掃描條形碼,並且有GPS功能。
在美國四大移動運營商中,T-Mobile USA處於相對弱勢的地位,不過T-Mobile在歐洲有更為強勢的是CDMA EV-DO網路,而T-Mobile USA和蘋果iPhone的獨家運營商AT&T為GSM/HSPA網路,後者在2005年12月就推出了全球第一個HSDPA商用服務。
T-Mobile USA今年5月方才在紐約推出了3G服務,目前已經在奧斯汀、巴爾的摩、波士頓、達拉斯、休斯敦、拉斯維加斯、邁阿密、明尼阿波利斯、鳳凰城、波特蘭、聖安東尼奧和聖地亞哥等12個城市增加了3G覆蓋,公司計劃年底前將3G覆蓋的城市從目前的13個增加到27個,能夠為其超過2/3的用戶提供3G服務。
[編輯本段]Android在中國
android在中國的前景十分廣闊,首先是有成熟的消費者,在國內,android社區十分紅火比如androidin.net,這些社區為android在中國的普及做了很好的推廣作用。國內廠商和運營商也紛紛加入了android陣營,包括魅族,中國移動,中國聯通,華為通訊,聯想等大企業。
[編輯本段]Android資源
android官方網站 http://www.android.com
android開發網站 http://developer.android.com
[編輯本段]Android 的市場手機品牌
國內的品牌
琦基
去年11月27日,琦基發布了全球首款Google Android/Windows Mobile雙操作系統的智能手機琦基i6,採用Google Android操作系統的叫做琦基i6 goal,採用Windows Mobile操作系統的叫做琦基i6 Win。
華碩
華碩公司CEO沈振來日前在CES展會上向媒體表示,公司正在考慮推出一款Eee品牌手機,並可能基於Google Android操作系統。
聯想
OMS和T-mobile G1搭載的Android(以最初上市版本為主)的不同之處就是可以使用戶自行關閉正在運行的程序而不是由系統控制:按住屏幕上方向下拖動即可看到任務管理器。
HKC Pearl
做為目前在市面上唯一正式銷售的Windows和Android系統雙系統手機,這款HKC Pearl 珍珠珠配備了QVGA屏幕,內存採用了128MB/256MB的標准配置,主處理器採用PXA 310處理器,624Mhz的主頻性能非常強勁,而且機器還配備了Wi-Fi,藍牙2.0無線傳輸設置。
華為
造型上,U8230在外觀上有別於其他Android手機的塑料風格,通體的銀灰色和正面功能鍵盤的發絲紋路都洋溢著商務機型的味道。而作為功能上的特色,U8230擁有一塊3.5英寸的大屏幕、高達1500毫安時的鋰電池和一枚320萬象素攝像頭採用Android平台1.5版本。預計將於下半年正式發售。
海爾
海爾H7採用的是Android OS 1.5系統,不過如果H7上市時Android OS已經升級到2.0版的話海爾應該會一步到位選擇Android OS 2.0。由於海爾在亞洲電信展上展示的H7隻是模型機,因此這款手機與HTC的Android機型相比究竟如何尚不得而知。不過海爾的規格說明書表明,H7將會配備2.8英寸觸摸顯示屏,內置WiFi、GPS和藍牙模塊,支持FM收音,配備200萬象素攝像頭,支持閃光燈功能。
華禹
xPhone是由上海禹華通信技術有限公司設計的,採用類iphone的觸控設計,配置了3寸WQVGA解析度的觸摸屏,內建300W像素的攝像頭,搭載Android平台,採用主頻 624Mhz的Marvell PXA-310處理器,擁有128MB SDRAM+256MB ROM的內存配置,支持最大16GB的存儲卡擴展,給出的參數中居然還加入了WiFi功能,該機尚未正式發布,我們就靜候佳音吧。
宏基Acer A1採用高通8250處理器,最新Android 1.6版本操作系統,512 MB內存,3.5英寸觸控屏,可支持GSM和WCDMA雙制式,內置GPS,500萬像素攝像頭,支持micro SD擴展。09年9月底開始在法國和德國接受預定,Acer A1售價為389.99歐元。國外品牌摩托羅拉摩托羅拉 Cliq是全球首款發售的Android操作系統智能手機,採用側滑蓋設計,支持GSM和WCDMA雙頻,3.1英寸屏幕,320×480像素屏幕解析度,內置500萬攝像頭,機身自帶256MB內存,支持micro SD擴展。該機最大特色是支持世界上主流社。而最近曝光的moto sholes(也有人稱之為moto tao)將搭載最新的android2.0操作系統,據悉將在十月上市。
③ 2016 黑客必備的Android應用都有哪些
AndroRAT
AndroRAT一詞源自Android與RAT(即遠程管理工具)。這款頂級黑客工具已經擁有相當長的發展歷史,而且最初其實是一款客戶端/伺服器應用。這款應用旨在幫助用戶以遠程方式控制Android系統,同時從其中提取信息。這款Android應用會在系統啟動完成後以服務形式開始運行。因此,如果用戶並不需要與該服務進行交互。此應用還允許大家通過呼叫或者簡訊等方式觸發伺服器連接。
這款極具實用性的Android黑客應用之功能包括收集聯系人、通話記錄、消息以及所在位置等信息。此應用還允許大家以遠程方式對接收到的消息以及手機運行狀態加以監控,進行手機呼叫與簡訊發送,通過攝像頭拍攝照片以及在默認瀏覽器當中打開URL等等。
github地址:AndroRAT
Hackode
Hackode是一款Android應用,其基本上屬於一整套工具組合,主要面向高階黑客、IT專家以及滲透測試人員。在這款應用當中,我們可以找到三款模塊——Reconnaissance、Scanning以及Security Feed。
通過這款應用,大家可以實現谷歌攻擊、SQL注入、MySQL Server、Whois、Scanning、DNS查找、IP、MX記錄、DNS Dif、Security RSS Feed以及漏洞利用等功能。這是一款出色的Android黑客應用,非常適合入門者作為起步工具且無需提供任何個人隱私信息。
下載地址:Hackode
zANTI
zANTI是一款來自Zimperium的知名Android黑客套件。此軟體套件當中包含多種工具,且廣泛適用於各類滲透測試場景。這套移動滲透測試工具包允許安全研究人員輕松對網路環境加以掃描。此工具包還允許IT管理員模擬出一套先進黑客環境,並以此為基礎檢測多項惡意技術方案。
大家可以將zANTI視為一款能夠將Backtrack強大力量引入自己Android設備的應用。只要登錄至zANTI,它就會映射整套網路並嗅探其中的cookie以掌握此前曾經訪問過的各個網站——這要歸功於設備當中的ARP緩存。
應用當中的多種模塊包括網路映射、埠發現、嗅探、數據包篡改、DoS以及MITM等等。
下載地址:zANTI
FaceNiff
FaceNiff是一款頂級Android黑客應用,允許大家攔截並嗅探WiFi網路流量。這款工具廣泛適用於Android用戶窺探他人的Facebook、Twitter以及其它社交媒體網站。這款在黑客群體中廣受好評的工具能夠從WiFi網路中竊取cookie,並為攻擊者提供未經授權的、指向受害者賬戶的訪問通道。
FaceNiff由Bartosz Ponurkiewicz開發完成——這位開發者同時也編寫出了桌面黑客工具Firesheep for Firefox。
下載地址:FaceNiff
Droidsheep
Droidsheep是一款相當高效的黑客應用,主要作用是針對Wi-Fi網路執行安全性分析。這款應用能夠劫持網路之上的Web會話,而且幾乎適用於全部服務及網站。
在啟動Droidsheep應用之後,它會利用一套路由機制對全部Wi-Fi網路流量進行監控與攔截,同時從活動會話當中提取概要信息。在這款應用的幫助下,我們將能夠嗅探Facebook、領英、Twitter以及其它各類社交媒體賬戶。
DroidSheep Guard,該應用的另一個版本,能夠幫助大家在網路之上檢測各類ARP嗅探活動——包括由FaceNiff、Droidsheep以及其它軟體實施的功能活動。
下載地址:Droidsheep
DroidBox
DroidBox是一款對Android應用進行動態分析的應用方案。在該應用的幫助下,大家可以獲得極為廣泛的分析結果,包括APK軟體包、網路流量、簡訊與手機呼叫、通過不同通道獲取泄露信息等等。
這款出色的Android黑客應用還使得我們能夠對Android應用軟體包的行為進行可視化處理。
下載地址:DroidBox
APKInspector
APKInspector應用允許大家執行逆向工程任務。在這款應用的幫助下,我們將獲得圖形功能與分析能力,從而對監控目標擁有更為深入的理解。這款強大的Android黑客工具能夠幫助大家從任意Android應用當中獲取源代碼,並將DEX代碼進行可視化以清除其中的信用與授權部分。
下載地址:APKInspector
Nmap
Nmap最具人氣的網路掃描應用同時適用於Android操作系統。Nmap同時適用於未root與經過root之手機。如果大家身為新手Android黑客,那麼這款黑客應用絕對不可或缺。
下載地址:Nmap
SSHDroid
SSHDroid是一款面向Android系統開發的SSH伺服器實現方案,允許大家將自己的Android設備與PC相對接,同時運行「terminal」與「adb shell」等命令,甚至能夠實現文件編輯。當我們與遠程設備相連接,它還能夠提供額外的安全保護機制。
這款應用提供了共享密鑰驗證、WiFi自動啟動白名單以及擴展通知控制等功能。
下載地址:SSHDroid
*投稿作者:w85040,轉載須註明來自FreeBuf黑客與極客(FreeBuf.COM)
④ 軟體開發工具有哪些
無論您是軟體開發新手還是資深人士,如果想努力成為優秀的軟體開發人員,都需要擁有合適的工具。本文推薦給你12款。
沒有人認為經驗就是優秀軟體開發人員的主因。但是,「公欲行其事,必先利其器」,良好的工具能幫我們做更好的工作,不論你是軟體開發新手還是已經是老手,如果你想努力成為更好的軟體開發人員,都需要擁有合適的工具。
有大量的工具可以供我們選擇,但是如何最好的工具是一個技巧。以下是我按不同類別組織的精選的一些工具列表。也歡迎在評論區中告訴我您最喜歡的。
源代碼控制
1. GitHub
不管你是軟體開發的新手,還是已經熟悉了GitHub的成手,你都需要它,GitHub是一個基於Web的Git存儲庫託管服務,開發人員可以審查代碼,管理項目和軟體構建。
GitHub是目前世界上最大,最受歡迎的代碼庫。軟體開發人員喜歡它的直觀界面和各種功能增加的功能,GitHub的定價模式非常靈活,公共存儲庫可以免費託管,也可以按月付費支付私有存儲庫。
2. Bitbucket
作為GitHub的有力競爭者,Bitbucket是一個基於Web的託管服務,用於使用Git版本控制系統的存儲庫。Bitbucket有哪些優勢?嗯,它與其他Atlassian公司產品(如JIRA)配合使用,能夠有效促進開發團隊的協作。 Bitbucket既可以作為雲版本,也可以作為企業內部部署版本,稱為Bitbucket Server。
3. CloudForge
CloudForge是一種基於雲的SAAS產品,用於應用程序開發工具和服務,如Git託管,Subversion託管,問題 和 bug 跟蹤工具以及應用程序生命周期管理。它提供了很多開發工具供選擇,主要是針對企業的,包括Zuora,Sears和The Weather Channel。
項目管理和問題跟蹤
4. JIRA
JIRA是最受歡迎的開發管理工具,用於項目和問題跟蹤的良好工具,是敏捷軟體團隊的理想選擇。它是一種復雜的產品,具有大量的功能,它開箱即用並且通常易於使用。JIRA的一些亮點包括定製化的Scrum和看板。
5. Trello
與JIRA類似,Trello非常適合做項目管理。 Trello非常適合看板和Scrum開發,它易於管理,具有大量可定製性。雖然不是專門為開發人員構建的工具(還可以用於產品設計),但Trello絕對可以完成工作。從好的方面來說,Trello是具備時尚的,簡單和視覺上令人愉悅的好工具。
6.Toggl
與上述兩者略有些不一樣,Toggl是一款適合軟體開發人員的時間跟蹤工具。使用Toggl追蹤時間毫不費力;它可以讓您了解時間的真正去向!它很簡單,易於使用,並集成了大量工具,包括上面列出的兩個。
IDE(集成開發環境)
7.Atom
這是一款強大的「黑客」文本編輯器。Atom是完全免費的開源軟體,在很大程度上可以進行定製。Atom還包括一個智能且靈活的自動完成功能,使編碼速度加快,此外,開發者還可以實時共享工作區並且可以編輯代碼。
8. Xcode
Xcode是macOS的集成開發環境,是Apple公司開發的一套軟體開發工具(用於開發macOS,iOS,watchOS和tvOS的軟體)。無可否認,它非常簡單易用,特別適合初學者,如果您只開發前端用戶界面,它具有可視化設置和拖放選項,達到快速開發。 Xcode在如何防止錯誤和錯誤方面也很智能。
9. Microsoft Visual Studio
Microsoft Visual Studio包括一組服務,包括Visual Studio IDE(適用於Android,iOS,macOS,Web和雲端的全功能集成開發環境)。開發者使用Visual Studio可以快速輕松地在各種平台上規劃,構建和發布軟體。
技能提升
10. CodeWars
CodeWars是一個學習社區,提供真正的編程挑戰,以提高您的開發技能,加強和擴展編程基礎。CodeWars具有數百個編程挑戰,按難度和各種語言分級。CodeWars也非常適合提高沒有多少經驗的人對編程語言的熟悉程度。也有其他類似的網站,但CodeWars的突出之處在於,在您提交自己的解決方案後,您可以看到評分最高的排行榜。通過這種方式,人們可以從這些排名靠前的解決方案,從而向他人更好的學習。
11.Code Climate
Code Climate是一種代碼自動分析工具。雖然它是付費產品,我們可以免費試用兩周,即使這樣也可以提供有關代碼的良好反饋。Code Climate會評估開發的測試覆蓋率,復雜性,重復性,風格和安全性等。
12.Code Signal
Code Signal是一個基於技能的評估平台,可以幫助開發人員和僱主評估編程水平。對於開發人員,Code Signal提供面試練習,以便我們可以解決真實的面試題並掌握關鍵的技術難題。
小結
如果沒有上面這些工具,我們編程會很困難。這些工具從管理和分析項目到發布跟蹤和技能開發,可以滿足開發者的全碩需求。如果你想成為優秀的開發人員,請使用這些工具,讓自己更加強大!
⑤ 黑客如何攻擊安卓系統
一位名為Ibrahim Balic的研究員上周發表文章,稱目前攻擊者正瞄準Android 2.3、Android 4.2.2和
Android 4.3系統,這三個版本系統的嚴重漏洞,已被證實會殃及存儲的數據和信息,同時不排除其他版本系統同樣存在這樣一個漏洞,目前還在驗證
中。
據悉,黑客可以將攻擊代碼隱藏到有用或合法的App中,然後當用戶使用包含該漏洞的移動設備後,一觸即發,利用循環司機這樣一個「底層內存崩潰漏洞」發動攻擊。
另一位移動安全分析師Veo Zhang堅定地認為,網路犯罪分子可能利用該漏洞嚴重破壞Android平板電腦和Android智能手機。
在此提醒廣大Android用戶,倘若當你受到攻擊並被迫恢復設備出廠設置時,千萬不要允許,因為存儲在設備上的所有數據都會被刪除。或許你能做的,只有讓它「冬眠」了。
⑥ Android有哪些"許可權"
Android是在Linux內核上建立一個硬體抽象層(Android HAL),通過Dalvik以及各種庫來執行android應用的。在手機啟動時,首先需要由Bootloader(HTC手機上稱作Hboot)引導Linux及手機上各個硬體設備的驅動程序,之後才啟動Android系統。所以其實我們會涉及到四種不同涵義的許可權:
Android許可權(Permission)
這指Android中的一系列"Android.Permission.*"對象,是本文的中心內容。
Google在Android框架內把各種對象(包括設備上的各類數據,感測器,撥打電話,發送信息,控制別的應用程序等)的訪問許可權進行了詳細的劃分,列出了約一百條"Android.Permission"。應用程序在運行前必須向Android系統聲明它將會用到的許可權,否則Android將會拒絕該應用程序訪問通過該"Permission"許可的內容。
比方說,搜狗輸入法提供了一個智能通訊錄的功能,用戶可以在輸入聯系人拼音的前幾個字元,或首字母,輸入法就能自動呈現相關聯系人的名字。為了實現這個功能,輸入法必須聲明它需要讀取手機中聯系人的能力,也就是在相關代碼中加上聲明"android.permission.READ_CONTACTS"對象。
圖5 搜狗輸入法的智能聯系人功能
原生Android只提供了對"一刀切"式的管理,要麼同意使用,否則就根本就不安裝應用程序。當用戶遇到希望使用程序的同時,又想禁止部分Permission的場合,他就無路可走。
於是,不少開發者就搗鼓出了"第三條道路";可惜的是,沒有一種方法能同時做到既不需要將手機固件Root,又完全不涉及對原始應用程序進行反向工程的方法。
RootRoot指獲得Android所在的Linux系統的Root(根)許可權,有了根許可權,你才能對Linux做出任意的修改。iOS中的越獄(Jailbreak) 相當於獲得iOS系統的Root許可權(iOS是一種類Unix系統,和Linux都使用Root的概念)。在已Root的設備中,通常都是使用一個叫"Superuser"(簡稱SU)的應用程序來向許可的程序授以Root許可權。
Bootloader的解鎖(Unlock)
利用數字簽名,Bootloader可以限定只有正確簽名的系統可以被引導。在修改固件以獲得Root以前,解鎖Bootloader通常是必須的。安裝第三方修改、編譯的固件也需要解鎖Bootloader。
基帶(Radio)解鎖
在Android系統中,基帶是上層軟體與手機中無線設備(手機網路,Wi-Fi,藍牙等)的驅動程序之間的中介。國外的網路運營商很喜歡鎖定基帶,從而保證用戶只能使用運營商自己指定的sim卡。在我國,鎖定基帶是非法的,手機製造商、網路運營商也不可以通過鎖定基帶的方法對待違約客戶。iOS的"解鎖"就是解鎖iOS中的基帶軟體。
魚和熊掌不可兼得,Android的世界有很多自由,壞人也能自由地做壞事。它的生態系統很強調自主:用戶可以自主地減小風險,僅使用官方市場的應用程序,也可以自主地解除安全限制,從而獲得更多自由。因此,在遇到壞事的時候,用戶也不得不自主一下:
1, 抵制不道德,乃至非法行為
幾乎所有的Android安全軟體都能對來電、信息進行控制,以減少騷擾。
另一方面,很多應用都會要求它們實際功能以外的許可權,表現在非(主動)告知地搜集設備序列號,位置信息,誘使用戶默認地上傳聯系人列表等方面。
更壞一點的應用程序,則會踏入犯罪的范疇,比如能偷偷發出扣費信息,或是作為黑客的偷窺工具。
2, 減少惡意軟體的損害
惡意軟體即便潛伏成功,也難以獲得許可權,從而減少損失。
3, 用戶有權自主地在抑制應用程序的部分許可權時,繼續使用該應用程序,而只承擔由於自行設置不當而帶來的後果。
用戶擁有設備的所有權,因此有權自主控制設備上的內容、感測器等對象的訪問;同時有權(不)運行,(不)編譯設備上的應用程序。
大多數應用程序在運行時,並未達成主動告知的義務,是失誤;然而即使主動告知,用戶還是可以不理會。
通過Android官方市場,"打包安裝器"安裝應用程序時,所顯示的"許可權"僅是在安裝包內AndroidManifest.xml聲明的值,而非應用程序實際上會調用的內容。該值僅用來表明Android系統能向應用授予的最大可能的許可權。即便一個"Hello World"式的應用程序,也可以在AndroidManifest.xml中聲明所有可能的Android Permission。
這就是說,在AndroidManifest.xml中聲明的值與應用程序實際調用的許可權有關聯,但不等同,且這種提示是由Android系統負責實施的強制行為。
正確的理解是:"應用程序(被迫地)讓Android系統告知用戶,它在AndroidManifest.xml中所聲明的事項。"
這意味著應用程序在使用重要許可權前,依然需要自行、主動地通知用戶相關事宜。
⑦ android小人 - 黑客 是什麼
我的也有這種東西,現在上網特別慢,有時還沒有響應,郁悶啊,不過和你的有點不同,我的是android小人—滑板 。
今天我把安裝的谷歌拼音輸入法刪了就沒有這種現象了,你看你有沒有安裝谷歌拼音輸入法,有的話刪了看看有沒有效果。
⑧ 安卓上有沒有無需ROOT就可以禁用應用許可權的東西
1 為什麼Android總是事無巨細地告訴你應用索取的每一項許可權?
相比Apple,Microsoft嚴格控制生態系統(從蘋果給開發者的「App Store Guideline」可見一斑),只允許通過官方應用商店安裝應用,並對每份上傳進行仔細地審查而言,Android的開放就意味著,Google需要向 用戶提供一系列用於為自己負責的流程、工具。所以在安裝應用前,Android總是要事無巨細地告訴你,應用肯需要控制什麼許可權。
同樣,開發者也製作了一系列易用的工具,用以鑒別可疑的應用程序,或是控制許可權。
圖1 Android 官方市場會強制提醒用
Andoird哪裡開放了?
在Android中,用戶能自由從本地安裝應用,自由地對SD卡進行操作,自由選擇應用市場。
如果願意放棄保修,用戶還能輕易地實行root,解鎖基帶(baseband)。只有一些產品會嚴密地鎖定bootloader(如摩托羅拉)。
最重要的是,因為ASOP(Android源代碼開放計劃)的存在,絕大部分的Android代碼都是開源的,開發者可以由此對Android系統進行 深入的修改,甚至可以自行編寫一個符合Android規范的系統實例(如Cyanogen Mod)。正是因為ASOP,這篇文章才可能介紹多達5種原理不同的許可權控制方法。
圖2 Android開源計劃的標志
開放的風險
不考慮Symbian,Windows Phone 6.5(及以下)平台,那麼幾乎所有的智能手機病毒都是Android平台的,甚至官方Android Market也鬧過幾次烏龍。在國內水貨橫行的市場,情況更是火上澆油,不法業者可以在手機的ROM,甚至是bootloader中做好手腳,讓用戶有病無法醫。
在Android中,用戶可以允許系統安裝來自「未知源」(也就是非Google官方的,或手機預置市場的)應用程序。於是,移動平台最重要的門神------數字簽名就被繞過了。
圖3 Android 允許未知安裝未知來源的應用程
出於Android的開放性,也有不允許「未知源」的反例:亞馬遜的Kindle Fire平板使用了深度定製的Android,它只允許安裝來自亞馬遜官方商店的應用程序。
圖4 亞馬遜的 Kindle Fire 僅允許通過自帶的市場安裝應用
2 Android有哪些「許可權」
首先需要明確一下Android中的種種「許可權」。Android是在Linux內核上建立一個硬體抽象層(Android HAL),通過Dalvik以及各種庫來執行android應用的。在手機啟動時,首先需要由Bootloader(HTC手機上稱作Hboot)引導 Linux及手機上各個硬體設備的驅動程序,之後才啟動Android系統。所以其實我們會涉及到四種不同涵義的許可權:
Android許可權(Permission)
這指Android中的一系列「Android.Permission.*」對象,是本文的中心內容。
Google在Android框架內把各種對象(包括設備上的各類數據,感測器,撥打電話,發送信息,控制別的應用程序等)的訪問許可權進行了詳細的劃 分,列出了約一百條「Android.Permission」。應用程序在運行前必須向Android系統聲明它將會用到的許可權,否則Android將會 拒絕該應用程序訪問通過該「Permission」許可的內容。
比方說,搜狗輸入法提供了一個智能通訊錄的功能,用戶可以在輸入聯系人 拼音的前幾個字元,或首字母,輸入法就能自動呈現相關聯系人的名字。為了實現這個功能,輸入法必須聲明它需要讀取手機中聯系人的能力,也就是在相關代碼中 加上聲明「android.permission.READ_CONTACTS」對象。
圖5 搜狗輸入法的智能聯系人功能
原生Android只提供了對「一刀切」式的管理,要麼同意使用,否則就根本就不安裝應用程序。當用戶遇到希望使用程序的同時,又想禁止部分Permission的場合,他就無路可走。
於是,不少開發者就搗鼓出了「第三條道路」;可惜的是,沒有一種方法能同時做到既不需要將手機固件Root,又完全不涉及對原始應用程序進行反向工程的方法。
Root
Root指獲得Android所在的Linux系統的Root(根)許可權,有了根許可權,你才能對Linux做出任意的修改。iOS中的越獄 (Jailbreak) 相當於獲得iOS系統的Root許可權(iOS是一種類Unix系統,和Linux都使用Root的概念)。在已Root的設備中,通常都是使用一個 叫「Superuser」(簡稱SU)的應用程序來向許可的程序授以Root許可權。
Bootloader的解鎖(Unlock)
利用數字簽名,Bootloader可以限定只有正確簽名的系統可以被引導。在修改固件以獲得Root以前,解鎖Bootloader通常是必須的。安裝第三方修改、編譯的固件也需要解鎖Bootloader。
基帶(Radio)解鎖
在Android系統中,基帶是上層軟體與手機中無線設備(手機網路,Wi-Fi,藍牙等)的驅動程序之間的中介。國外的網路運營商很喜歡鎖定基帶,從 而保證用戶只能使用運營商自己指定的sim卡。在我國,鎖定基帶是非法的,手機製造商、網路運營商也不可以通過鎖定基帶的方法對待違約客戶。iOS的「解 鎖」就是解鎖iOS中的基帶軟體。
為什麼要控制Android許可權
魚和熊掌不可兼得,Android的世界有很多自由,壞人也能自由地做壞事。它的生態系統很強調自主:用戶可以自主地減小風險,僅使用官方市場的應用程序,也可以自主地解除安全限制,從而獲得更多自由。因此,在遇到壞事的時候,用戶也不得不自主一下:
1, 抵制不道德,乃至非法行為
幾乎所有的Android安全軟體都能對來電、信息進行控制,以減少騷擾。
另一方面,很多應用都會要求它們實際功能以外的許可權,表現在非(主動)告知地搜集設備序列號,位置信息,誘使用戶默認地上傳聯系人列表等方面。
更壞一點的應用程序,則會踏入犯罪的范疇,比如能偷偷發出扣費信息,或是作為黑客的偷窺工具。
2, 減少惡意軟體的損害
惡意軟體即便潛伏成功,也難以獲得許可權,從而減少損失。
3, 用戶有權自主地在抑制應用程序的部分許可權時,繼續使用該應用程序,而只承擔由於自行設置不當而帶來的後果。
用戶擁有設備的所有權,因此有權自主控制設備上的內容、感測器等對象的訪問;同時有權(不)運行,(不)編譯設備上的應用程序。
大多數應用程序在運行時,並未達成主動告知的義務,是失誤;然而即使主動告知,用戶還是可以不理會。
為什麼Android官方市場的強制提醒許可權的行為不屬於主動告知:
通過Android官方市場,「打包安裝器」安裝應用程序時,所顯示的「許可權」僅是在安裝包內AndroidManifest.xml聲明的值,而非應 用程序實際上會調用的內容。該值僅用來表明Android系統能向應用授予的最大可能的許可權。即便一個「Hello World」式的應用程序,也可以在AndroidManifest.xml中聲明所有可能的Android Permission。
這就是說,在AndroidManifest.xml中聲明的值與應用程序實際調用的許可權有關聯,但不等同,且這種提示是由Android系統負責實施的強制行為。
正確的理解是:「應用程序(被迫地)讓Android系統告知用戶,它在AndroidManifest.xml中所聲明的事項。」
這意味著應用程序在使用重要許可權前,依然需要自行、主動地通知用戶相關事宜。
圖6 應用程序須要AndroidManifest.xml中聲明調用到的許可權
然而,即便只是讓一半的應用程序達到以上的標准,也是不可能的。應用程序需要通過收集用戶信息,程序的錯誤日誌。從而統計用戶的喜好,改進程序。另一方 面,這也是發送精確廣告但不追溯到用戶身份信息的方式,這一點對於免費應用而言,是極其重要的。我們之所以能知道不同型號手機的佔有率,應用軟體的流行 度,是與這樣的統計不可分離的。
一旦每個應用程序都專業地主動發出提醒,不專業的用戶(大多數用戶都是不專業的)通常會將之視為如同海嘯警報一般的危機。
這么做對誰都沒有好處------用戶方的隱私權是毋庸置疑的,然而應用程序方面的獲取信息記錄的需求也是無可阻擋的。如果每個用戶都打算阻止,只會落得被迫接受不平等條約的下場,在溫飽以前,不會有人考慮小康的問題。
於是,現狀就變得有趣:用戶人享受著相同的服務;其中大部分用戶出於不知情/好意,默默地向開發者、廣告商提供了信息,剩下的少數用戶則能阻斷這種勞務。而作為維持Android平台的信息商人Google,只確保在它的地盤里,不會發生觸碰底線的事情。
一句話總結:
設備是我的,不管你怎麼說,反正我說了算,但我說的話大多是不算數的。
3 許可權控制的方法
這里開始介紹各種控制Android許可權的辦法。可惜的是,幾乎所有的手段都需要對設備進行Root,如果不這么做,則需要付出不小代價。
App Shield(國內常見的名字:許可權修改器)
它是一個需要付費的Android應用,其原理是修改應用程序的apk安裝包,刪除其中AndroidManifest.xml文件內,用於聲明許可權的 對應「Android.Permission.*」條目,然後再用一個公開的證書對安裝包重新簽名(需要允許「未知源」),這樣一來,應用程序就不會向系 統申請原先所需的許可權。當應用運行至相應的流程時,系統將直接拒絕,從而達到用戶控制許可權的目的。
對於已安裝的應用,AppShield也會按照同樣方法製作好apk安裝包,然後讓用戶先卸載原始的應用,再安裝調整過的應用。除了該應用數字簽名外,用戶可以隨時通過執行同樣的流程,將吊銷的許可權恢復。
圖7 AppShield
Apk文件的結構
Android應用都是打包成以.apk擴展名結尾,實際上是zip的文件格式。
一個合法的apk至少需要這些成分:
根目錄下的「AndroidManifest.xml」文件,用以向Android系統聲明所需Android許可權等運行應用所需的條件。
根目錄下的classes.dex(dex指Dalvik Exceptionable),應用(application)本身的可執行文件(Dalvik位元組碼) 。
根目錄下的res目錄,包含應用的界面設定。(如果僅是一個後台執行的「service」對象,則不必需)
Apk根目錄下的META-INF目錄也是必須的,它用以存放應用作者的公鑰證書與應用的數字簽名。
當應用被安裝後,這個apk文件會原封不動地移至設備的data/app目錄下,實際運行的,則是Dalvik將其中Classes.dex進行編譯後 的Classes.odex(存放在Dalvik緩存中,刷機時的『cache wipe就是清除Dalvik的odex文件緩存』)。
優點:
完全不需要Root,適用於所有版本的Android設備。不會損壞系統,可以吊銷任意一項Android許可權。
問題:
1,需要重新安裝應用,該行為可能會丟失應用的配置、歷史記錄。
2,執行許可權吊銷的應用的數字簽名會被更改,無法直接更新。對於那些設計不良(沒有意料到『不聲明許可權』情況的),或有額外自校驗的應用,可能會無法運行。
3,無法用於設備上的預裝應用,除非製造商好心地將該應用設置為「可以刪除」的狀態。
4,這個方法修改了apk包中的內容------盡管實際上AndroidManifest.xml和數字簽名並不算是應用程序的本身,但修改它們可能引發著作權的問題。
5,需要開啟「未知源」。
6,這是一個收費應用。
CyanogenMod 7.1(及以上版本)
Cyanogenmod是一款著名的第三方編寫的開源Android ROM。
CM7.1加入了控制許可權的開關,官方的名稱是「Permission Revoking」,任何非系統/保護應用在安裝後,可直接吊銷任意一項許可權,其效果等價於直接刪除apk包中AndroidManifest.xml的 對應條目,但不會引發自校驗的問題。CM的許可權工具的作用等同於AppShield,無非是在Android自身的許可權系統中添加了一個開關。
圖8 Cyanogen Mod 7.1中的許可權吊銷(Permission Revoking)設定
優點:
免費,使用簡便,可隨時,任意地吊銷、恢復非預裝應用的任意一項許可權;不存在數字簽名的問題,因而不影響使用自校驗的應用程序。
問題:
此功能僅在Cyanogen Mod 7.1及以上版本提供,無法用於其它rom。因為是由Android系統出面吊銷許可權,其實現原理與App Shield完全相同,同樣的,應用程序會因為設計不良而出現崩潰。
Permission Denied
這是可以吊銷任意Android應用(注意,不當地吊銷系統應用的許可權可能會導致手機固件損壞,無法啟動)的任意許可權,對許可權的修改在重啟後生效。
實現原理應該與Cyanogen Mod 7.1+完全相同,適用於任何已經Root的系統,因為一般的Android系統雖然事實上支持許可權吊銷,但沒有像Cyanogen Mod那樣放置介面,因此需要重啟後才能應用許可權配置。同樣也有系統出面拒絕許可權而導致的崩潰現象。
圖9 Permission Denied免費版吊銷應用程序許可權的場景
優點:
效果與Cyanogen Mod中的許可權吊銷效果一致,且可吊銷系統應用的許可權。同時提供了免費與收費版本,免費版並沒有基本功能的缺失。適用於所有版本號不低於1.6的Android設備。
問題:
調整後的許可權需要重啟才能生效。設計不良的應用會崩潰。不恰當的許可權修改會損壞系統,導致無法開機。
PDroid
PDroid實際上是一個Android內核補丁加上一個用於管理的外部應用。補丁需要在Recover環境中刷入系統,也可以由開發者自行移植入系 統。該軟體在Android ASOP 2.3.4代碼基礎上開發,僅適用於沒有改動內核的Android 2.3系統,目前還未支持Android 4。
圖10 PDroid的界面
為了避免Cyanogen Mod 7.1+許可權吊銷(Permission revoking)導致的崩潰問題,以及後台服務(如LBE,QQ手機管家等,PDroid的作者認為通過後台服務攔截許可權並不是好辦法),PDroid 並不阻止應用程序聲明許可權,但會在其實際索取相關信息時,予以阻止。通俗地說,就是簽署協議但不執行。在PDroid的用戶界面,用戶能隨時精確地控制涉 及隱私的各項許可權。對於某些內容,除了阻止外,用戶還可以偽造一個隨機或指定的數據。
可控制的內容包括:
IMEI(可偽造)
IMSI(可偽造)
SIM卡序列號(可偽造)
手機號碼(可偽造)
來,去電號碼
SIM卡信息
當前蜂窩網路信息
(以上七者均來自Android.Permission.READ_PHONE_STATE)
GPS定位信息 (可偽造,來自Android.Permission.FINE_LOCATION)
基站定位 (可偽造,來自Android.Permission.COARSE_LOCATION)
系統自帶瀏覽器的歷史,書簽(Android.Permission.BOOKMARKS)
聯系人 (android.permission.READ_CONTACTS)
通話記錄 (android.permission.READ_CONTACTS)
系統日誌 (android.permission.READ_LOGS)
當前賬戶列表 (android.permission.GET_ACCOUNTS)
當前賬戶的授權碼 (android.permission.USE_CREDENTIALS)
簡訊,彩信 (可能與這5個許可權有關)
android.permission.READ_SMS
android.permission.RECEIVE_SMS
android.permission.SEND_SMS
android.permission.WRITE_SMS
android.permission.RECEIVE_MMS
日歷 android.permission.READ_CALENDAR
PDroid的內核補丁並不通用,每一個Rom都需要特定的補丁。開發者除了提供了幾個特定機型下Cyanogen Mod,HTC Sense修改版ROM的專用補丁外,還推出了一個補丁生成工具(PDroid Patcher),用戶可以給自己的ROM生成專用的內核補丁。使用該Patcher需要安裝JDK(java Development Kit)。
優點:
PDroid避免了通過Android系統進行許可權吊銷的導致的潛在崩潰問題,也不需要後台服務。對隱私信息的控制是最精細的。盡管設備必須Root,但應用本身不需要Root許可權。
問題:
安裝過程是最繁瑣,最不可靠的,容易導致ROM損壞,適用范圍也小,需要用戶有相當的技能(能安裝JDK,會刷機)才可使用;只提供對隱私有關許可權的控制,不提供網路訪問,的控制。以這些為代價,它幾乎沒有其它缺點。
LBE安全大師
實際上最常用的是以LBE為代表的通過一個Root許可權的後台服務來攔截相關行為的工具。除了LBE外,還有QQ手機管家等應用。這里以LBE安全大師為例介紹。
圖11 LBE安全大師
LBE是國內一個叫「LBE安全小組」開發的工具,支持Android2.0~4.0。它的核心功能是像殺毒軟體一般,通過一個需要Root許可權的後台 服務,劫持所有調用許可權的行為,並放行用戶許可的部分(其官方宣傳為『API級別攔截』)。它和PDroid一樣幾乎不會引發應用程序崩潰,它支持攔截幾 個涉及用戶的關鍵許可權(LBE手機管家3.1/3.2):
讀取簡訊 (android.permission.READ_CONTACTS)
聯系人記錄 (android.permission.READ_CONTACTS)
通話記錄 (android.permission.READ_CONTACTS)
定位 (Android.Permission.COARSE_LOCATION
Android.Permission.FINE_LOCATION)
手機識別碼 (與Android.Permission.READ_PHONE_STATE有關)
通話狀態 (與Android.Permission.READ_PHONE_STATE有關)
發送簡訊(具體原理不明,同樣類似於禁止這五個許可權
android.permission.READ_SMS
android.permission.RECEIVE_SMS
android.permission.SEND_SMS
android.permission.WRITE_SMS
android.permission.RECEIVE_MMS)
撥打電話 (android.permission.CALL_PHONE)
通話監聽 (android.permission.PROCESS_OUTGOING_CALLS)
除此以外,LBE還可以分別控制應用在Wifi,手機網路的聯網許可權,其原理是依靠IPtables防火牆,而非通過Android的「Internet」許可權。
此外LBE手機管家還提供基於智能內容審查的簡訊攔截、來電歸屬地顯示,以及禁用系統(保護)應用,進程管理,殺毒等功能。
LBE提供兩個版本,一個叫「LBE安全大師」,是一個全面的手機管家類應用,更新比較頻繁,另一個版本(LBE手機隱私衛士,LBE Security lite)僅提供許可權方面的管理。
考慮到主要市場在國內,LBE的發行策略看上去有些奇怪,它在Google的官方市場並不發行最新版。通常只能只能在LBE的官方網頁,以及國內的應用市場獲得最新版本。
優點:
使用非常簡單,功能強大而全面,風險很小,可以控制系統應用。適用范圍廣,有很多替代產品。
問題:
需要後台服務 (盡管蠶豆網有個評測,認為它對能耗幾乎沒有影響),不能控制所有的Android許可權。
4 .自啟動的控制
Android對後台服務有著最好的支持。
在Android中可以自由地開發一種稱為『Service』的後台運行的對象,加上沒有蘋果公司對應用程序的嚴格限制。諸如QQ掛機,即時調用第三方應用程序之類的形式都可以輕易實現。
為了全面支持後台服務,也為了適應移動設備資源緊張,不得不經常清理內存的問題,應用可在系統中設置觸發器,當系統發生了某個特定特定事件時(系統啟動,撥打電話,收發信息,安裝、卸載應用,插上電源等,或應用程序自行定義的事件),就會觸發啟動應用程序。
AutoStarts 自啟動管理
AutoStarts是一個收費應用,通過它,用戶能了解系統中每一項程序會在什麼場合下被觸發運行。如果提供Root許可權,則還能禁止這樣的行為。
這里以Google Maps應用6.2版為例。默認情況下,這款應用總是會保持後台運行,並每小時向Google發送一次當前用戶的位置信息。為了阻止這樣的行為,需要聯合 使用AutoStarts與任意一款進程管理應用:在AutoStarts中,阻止Google Maps的自行啟動(如圖),在每次使用完後,把Google Maps的進程殺掉。
圖12 AutoStarts可以對自啟動項目進行修改
5. 其他
Root帶來的風險
有一個鑽牛角尖的說法認為,一旦對設備進行了Root,便無安全一說,只要惡意程序一旦偷偷獲得Root級別,一切都是空談。
這種說法之所以鑽牛角尖,是因為:一方面Android中的Root許可權通常都是需要用戶通過Superuser應用進行授權的,這已經夠用,雖然不能 指望Superuser無懈可擊;另一方面,控制Android許可權主要是為了讓應用程序在「灰色地帶」的行為收斂一些,它們實際顯然不是病毒等犯罪軟 件。
著作權的問題 (作者不是法律方面的專家,以下言論僅供參考)
我們知 道,Android中的應用程序是基於Java語言編寫的。而為了達到跨平台的目的,Java軟體是以位元組碼(或叫中間代碼,bytecode),而非計 算機能直接執行的機器碼(Machine Code,有時也叫作Binary)的形式存在。因此執行Java軟體時,需要一個Java虛擬機(Android系統中的Java虛擬機就是 Dalvik)負責解釋運行,有的時候,虛擬機還會通過即時編譯(JIT)的方法將位元組碼編譯為機器碼後再運行,以提高程序的執行效率。
這就出現一個很有趣的現象:
除非另行規定,作為設備的擁有者,用戶總是可以自行決定如何使用軟體,能自行決定程序能否訪問用戶自己的計算機(移動設備亦然)裡面的各個內容、對象。
由此衍生出,在需要對代碼編譯、解釋的場合,用戶也能通過對編譯器(解釋器)的干預,來影響代碼的執行效果。在Android中,用戶還可以在Dalvik解釋、編譯的時候動手。
這是因為,著作權僅保護了軟體代碼不受到非授權的反向工程,未授權傳播等侵犯。另一方面,對於Android上的Java,網頁中的 javascript程序,賦予用戶解釋、編譯的權利是程序能執行的先決條件;同時,軟體發行者發通常也會主動提出放棄這種權利(表現為『軟體按原樣提供 』、『不對使用軟體造成的後果負責』等條目)
在編譯、解釋的過程中,需要通過匯編(Assemble),連接(Link)等方法將編譯 好的對象(Object)、方法(Function)聯系起來。默認情況下,這些行為是由原始的代碼(源代碼、中間代碼)與編譯器(解釋器)決定的,但是 用戶可以通過制約編譯器(解釋器)的設置,從而影響到最終代碼。這么做是沒有問題的。
還有一種,應用程序在安裝後,會在系統中產生一些 緩存,或注冊一些信息。當其中的內容有關用戶數據時,讀取或修改它們也是沒有問題的。這就是所謂「只要是你的東西總是你的」;也是Cyanogen Mod、Permission Denied不會涉及版權問題的原因所在。
總之,一個Android應用之所以能運行的前提是:
1,首先,用戶允許使用這個應用
這也可以理解成:用戶安裝了應用(以及因此設定的後台對象),購買了預裝應用的手機。這一點即不影響應用程序的主動通知義務,也不影響用戶事後的干預。
2,接下來,用戶允許Dalvik對該應用使用「解釋」,「JIT」的方法,從而該應用程序得以執行。
3,用戶隨時可以對該應用作出任意不違反版權的干預。
所以,在沒有另行規定的前提下,用戶總是可以自行決定,通過給應用程序分配自定義的許可權;或是在應用程序調取內容,對象時予以阻斷。同時,用戶也需要自行承擔因不當操作產生的後果。
附錄:
1、 數字簽名
數字簽名是一種使用了公鑰加密領域的技術實現,用於鑒別數字信息的方法。一套數字簽名通常定義兩種互補的運算,一個用於簽名,另一個用於驗證。數字簽名可以輕易地驗證完整性(正確性),合法簽署的數字簽名具有不可否認性。 (摘錄自維基網路「數字簽名」條目,有修改)
2、 版權聲明
文章中引用的圖標,圖片或圖片的部分,以及部分文字的引用,僅出於合理使用的目的,可能是持有人版權所有的。
3、 一些行為的說明
不道德行為
應用程序在啟動時,或在主動告知以前,試圖索取、收集電話號碼、郵箱地址、位置信息等與個人身份直接關聯的內容。如果是與個人關聯,但不能直接聯繫到個人信息的IMEI等設備、SIM卡的串號,則稍微好一些。
附圖1,不道德的應用程序在啟動的第一時間就試圖獲取隱私信息
(新浪微博2.8),無論用戶是否綁定了手機,應用都會第一時間記錄當前手機的號碼
(UC瀏覽器,快拍二維碼),應用總是會不主動通知地記錄設備的位置信息
沒有實行主動通知的例子
附圖2 這個應用程序在第一次啟動時便開始收集位置信息,用戶需要切換六次屏幕才能看到有關位置信息的提示。這項提示還有意忽略應用程序本身就會記錄用戶位置信息,即便用戶並不使用需要位置信息的服務
主動通知的例子
附圖3 主動通知就是在第一屏的醒目處,或用醒目的對比色等強調方式進行通告