安卓逆向工具大全是一款A(yù)ndroid應(yīng)用逆向工具分享大全,在當(dāng)今這個(gè)這代,智能手機(jī)已經(jīng)人手一部,成為每個(gè)人生活中不可或缺的一部分,這也同時(shí)引起了極大的安全和隱私問題。保護(hù)智能手機(jī),避免遭受各種各樣的安全威脅已經(jīng)成為一個(gè)主要問題。
Android架構(gòu)由以下四層組成:
·Linux內(nèi)核層,支持多進(jìn)程和多線程。每個(gè)應(yīng)用程序都有自己的Linux ID,并在單獨(dú)的進(jìn)程中運(yùn)行。具有相同ID的兩個(gè)應(yīng)用程序可以彼此交換數(shù)據(jù)。
·開源庫和Android運(yùn)行時(shí)環(huán)境,應(yīng)用程序以dex二進(jìn)制格式在Dalvik虛擬機(jī)中運(yùn)行。
·具有java接口的應(yīng)用程序框架。這一層包括AndroidNDK和SDK。
·預(yù)裝的核心應(yīng)用程序。
這個(gè)Android安全模型是基于權(quán)限和沙箱機(jī)制的。每個(gè)應(yīng)用程序都在自己的dalvik虛擬機(jī)中運(yùn)行,并且具有分配的唯一ID。這可以防止應(yīng)用程序去破壞另一個(gè)應(yīng)用程序的信息和數(shù)據(jù)。但我們還是要搞明白每個(gè)應(yīng)用程序是以什么權(quán)限運(yùn)行的,涉及到了哪些連接和activity。這時(shí)候我們就需要進(jìn)行逆向工程了。
逆向工程:
Wikipedia解釋:
逆向工程也叫黑色工程,是從人工制作的任何東西中提取知識和設(shè)計(jì)信息的過程,并根據(jù)所提取的信息來重新制作或者是制作成任何其他東西。這個(gè)過程通常會拆卸某些東西(比如機(jī)械設(shè)備,電子元件,計(jì)算機(jī)程序,或者是生活化學(xué)有機(jī)物質(zhì)等),然后詳細(xì)分析其組件和工作原理。
所以,對一個(gè)應(yīng)用程序進(jìn)行逆向分析,通過學(xué)習(xí)它的操作,結(jié)構(gòu)和功能可以幫助我們發(fā)現(xiàn)和理解應(yīng)用程序完整的工作過程。Android逆向分析在以下幾個(gè)方面對我們會有所幫助:
·閱讀代碼
·理解代碼
·在代碼層發(fā)現(xiàn)漏洞
·找到在應(yīng)用程序中可能使用硬編碼的敏感數(shù)據(jù)
·在變更到新的硬件平臺時(shí)遷移應(yīng)用程序
·進(jìn)行惡意軟件分析
·修改現(xiàn)有應(yīng)用程序的代碼和功能
逆向工程包括兩個(gè)過程:反匯編和反編譯
·反匯編
反匯編是將機(jī)器語言翻譯成匯編語言的過程。反匯編器的輸出結(jié)果通常是人們適合閱讀的格式,而不是注重于匯編器輸入的適用性。
·反編譯
從字面意思來看,反編譯就是與編譯相反的過程。我們可以將可執(zhí)行文件翻譯成更加易于閱讀的格式,比如高級語言。完全實(shí)現(xiàn)自動化反編譯是不太可能的,因?yàn)闆]有反編譯器能夠提取到開發(fā)者編寫的源代碼。