① Android APP破解技術有哪些
1)APKtool 2)dex2jar 3)jd-gui 4)簽名工具
相關技術的基本要求
1)具有一定的閱讀java代碼的能力
2)稍微有點Android基礎,越多越好
3)會用eclipse的一些Android調試的相關工具
4)了解一下smali的語法規范和欄位的自定范圍
5)有點應變能力思想轉換能力、
6)雖然代碼的修改是修改其smali文件(用到smali語法),雖然其語言是非常復雜的,但是我們能夠變通就行了,但是要求了解一下smali的語法規范和欄位的自定范圍。
了解以上方法可以非常簡單破解Android APK,破解後,應用里的頁面布局、代碼邏輯、結構演算法等都能一目瞭然。所以為了避免被他人,尤其是競爭對手了解到這些,防破解和反編譯尤為重要。我試過代碼混淆,但是代碼混淆只是對類名進行了變換,增加了破解者的閱讀難度,並不能真正阻止反編譯工程。下面是進行過代碼混淆的APK代碼結構,能看到只是對類名做了變換,變成a、b、c等這樣的名稱。但是仍然可以進行反編譯。
後來又嘗試使用360加固保對APK進行加固保護,發現原有的代碼程序被隱藏起來了,沒法再進行反編譯工作。
所以作為移動應用開發者,適當了解一些破解和反編譯工作有利於保護自己的應用安全。如果不防患於未然,一旦出現盜版情況,那麼你的APP很可能從此被市場所拋棄。
② android app開發中常用到哪些開源框架
1.Framework 7
來自iDangero.us —自版本.0在一年前發布以來,Framework就一直是開發iOS應用程序的最佳選擇之一。由於它提供對安卓的支持,如果你先從iOS入手,但隨後構建具有類似iOS外觀感覺的安卓版本,它也是個不錯的選擇。功能特性包括:Material Design用戶界面、原生滾動、1:1頁面動畫、自定義DOM庫以及XHR緩存和預裝入。
3.jQuery Mobile
來自jQuery基金會— 這種成熟的輕量級框架基於jQuery,缺少本文中介紹的大多數程序包具有的許多高級功能,不過它仍擁有一群龐大的忠實用戶。雖然它提供了語義標記、漸進式改進、主題化設計和PhoneGap/Cordova支持之類的功能,但是在類似原生系統的功能和性能或者高級用戶界面方面乏善可陳。另一方面,它又很簡單,這意味著「編寫一次,到處運行」是常常可以實現的目標;對於還需要在Windows Phone和黑莓上運行的簡單應用程序而言,它也是個不錯的選擇。
2.Ionic
來自Ionic — 這種流行的跨平台框架基於Sass CSS擴展語言,使用起來相當容易,不過它還能集成用於構建更高級應用程序的Angularjs。Ionic提供了一個豐富的庫,包括針對移動設備優化的HTML、CSS和JS CSS組件、手勢及工具,可與預定義的組件協同工作。命令行介面提供了模擬器、實時重裝和日誌等功能。還有一個基於Cordova的應用程序包裝器。
4.Kendo UI
來自Telerik — 這種基於jQuery的HTML5/Java框架既有開源版,又有商業版。對企業用戶友好的Kendo UI提供了種類豐富的用戶界面窗口組件和插件。它最廣為人知的地方就是擁有無數具有Material Design風格的預構建主題,另外還有一個主題構建器,可用於構建自定義主題。其他功能特性包括:Angular和Bootstrap UI集成以及性能優化。
6.Native
來自Telerik —顧名思義,Native專注於原生用戶體驗開發,但是它提供了跨安卓和iOS的跨平台代碼共享支持。該軟體使用現有的原生用戶界面庫,用戶界面由Java、XML或視情況而定的Angular來描述。然而,使用起來,它不如Telerik更傳統的跨平台Kendo UI框架來得容易。
5.Mobile Angular UI
來自Maurizio Casimirri —這個開源項目將AngularJS和經過修改的推特Bootstrap合並到了一個移動用戶界面框架。據說它保留了Bootstrap 3的大部分語法,因而更容易實現從Web應用程序向移動應用程序的移植,同時增添了Bootstrap缺失的許多組件,比如切開關、覆蓋、側邊欄、可滾動區域以及固定位置的導航條。庫包括fastclick.js和overthrow.js。
7.Onsen UI
來自Asial Corp. — Onsen基於HTML和CSS而建,旨在與並非預先集成的PhoneGap和Cordova協同運行。它還可以與Angular和jQuery協同運行。顧名思義,該程序強調用戶界面開發,並提供了一系列廣泛的基於Web的用戶界面組件和特性,比如表格的雙列視圖。(然而,仍然缺少Material Design。)這個文檔完備的程序針對這樣的jQuery Mobile用戶:既需要易於使用,又想要更多的功能、更高的性能和更豐富的用戶界面特性。總部位於東京的Asial正在開發一種拖放式GUI工具,該公司還開發和維護Monaca。
9.Sencha Touch
來自Sencha — Sencha的成熟的、面向企業的HTML5/Java框架既有開源版,又有商業版。Sencha建立於ExtJS的基礎上,能夠獲得類似原生的性能。它為HTML5提供了可視化應用程序構建器,另外還提供了重復使用自定義組件的功能。原生包裝器簡化了分發到Google Play等應用程序商店的工作。
8.React Native
來自Facebook — React Native是一種開源框架,從Facebook的React Java框架派生而來,眾所周知,Java框架取代了早些時候的HTML5基礎。顧名思義,這個面向iOS的高端程序與其說是一種跨平台框架,還不如說是原生程序包裝器,但是由於新增了對安卓的支持,它很適合我們的要求,因為你實際上只要用Java編寫一次代碼,就能移植到這兩個平台。目前,只有OS X桌面得到全面支持,不過也有試驗性的linux和Windows版本面向安卓開發。
10.Titanium
來自Appcelerator —不像那些比較偏向Web的框架,Titanium使用Java來構建原生代碼,聲稱有望提升性能。這種基於Node.js的軟體開發工具包(SDK)為iOS、安卓、Windows、黑莓和HTML5提供了5000多個API。Titanium更廣為人知的地方是性能和豐富的功能特性,而不是易用性。軟體是開源,不過只要你不發布你的應用程序,功能齊全的免費版可以免費享用,眼下你每月至少得支付39美元。
③ JD-GUI工具在反編譯android和java的時候,反編譯出的代碼怎麼導出啊難道只能挨個復制嗎
把需要反編譯的文件用JD-GUI打開點擊->File->Save JAR soureces
選擇後導出一個zip壓縮包!裡面就是所有的源代碼了
④ 學習android開發,需要學習java的gui和資料庫oracle資料庫嗎
不怎麼需要。。復
Android開發中的制UI是一套全新的東西,有自己的MVC架構,和JAVA中的GUI(AWT,SWING)不同,但如果會JAVA的GUI開發的話還是不錯的,因為兩者之中的一些機制還是有些類似的,如事件監聽器模型,其它關聯不是很大,可以相互借鑒。
至於資料庫,Android系統內置了SQLite資料庫,支持的數據類型和函數和Oracle簡直不可同日而語,畢竟,一個是專用於嵌入式的資料庫,一個是企業級大型資料庫,這個完全不用去學Oracle。SQLite資料庫的使用很簡單的,藉助於Android中的資料庫操作封閉類,可以很容易的設計出功能強大的資料庫軟體的。
⑤ android性能測試工具有哪些
如果要選取工具,最好能貼近使用場景,挑一個能滿足切身需求的,真的能幫節省工作量,內提高工作效率。下面是容一些常用工具。
monkey
monkeyrunner
monkeytalk
Instrumentation
UIAutomator
Espresso
Calabash
Selendroid
Robotium
Appium
SeeTest
SilkMobile
Ranorex
⑥ 開發androidapp,你會用到哪些開源框架
1.Framework7來自iDangero.us—自版本1.0在一年前發布以來,Framework就一直是開發iOS應用程序的最佳選擇之一。由於它提供對安卓的支持,如果你先從iOS入手,但隨後構建具有類似iOS外觀感覺的安卓版本,它也是個不錯的選擇。功能特性包括:MaterialDesign用戶界面、原生滾動、1:1頁面動畫、自定義DOM庫以及XHR緩存和預裝入。3.jQueryMobile來自jQuery基金會—這種成熟的輕量級框架基於jQuery,缺少本文中介紹的大多數程序包具有的許多高級功能,不過它仍擁有一群龐大的忠實用戶。雖然它提供了語義標記、漸進式改進、主題化設計和PhoneGap/Cordova支持之類的功能,但是在類似原生系統的功能和性能或者高級用戶界面方面乏善可陳。另一方面,它又很簡單,這意味著「編寫一次,到處運行」是常常可以實現的目標;對於還需要在WindowsPhone和黑莓上運行的簡單應用程序而言,它也是個不猜改錯的選擇。2.Ionic來自Ionic—這種流行的跨平台框架基於SassCSS擴展語言,使用起來相當容易,不過它還能集成用於構建更高級應用程序的AngularJS。Ionic提供了一個豐富的庫,包括針對移動設備優化的HTML、CSS和JSCSS組件、手勢及工具,可與預定義的組件協同工作。命令行介面提供了模擬器、實時重裝和日誌等功能。還有一個基於Cordova的應用程序包裝器。4.KendoUI來自Telerik—這種基於jQuery的HTML5/Java框架既有開源版,又有商業版。對企業用戶友好的KendoUI提供了種類豐富的用戶界面窗口組件和插件。它最廣為人知的地方就是擁有無數具有MaterialDesign風格的預構建主題,另外還有一個主題構建器,可用於構建自定義主題。其他功能特性包括:Angular和BootstrapUI集成以及性能優化。6.Native來自Telerik—顧名思義,Native專注於原生用戶體驗開發,但是它提供了跨安卓和iOS的跨平台代碼共享支持。該軟體使用現有的原生用戶界面庫,用戶界面由Java、XML或視情況而定的Angular來描述。然而,使用起來,它不如Telerik更傳統的跨平台KendoUI框架來得容易。5.MobileAngularUI來自MaurizioCasimirri—這個開穗兄判源項目將AngularJS和經過修改的推特Bootstrap合並到了一個移動用戶界面框架。據說它保留了Bootstrap3的大部分語法,因而更容易實現從Web應用程序向移動應用程序的移植,同時增添了Bootstrap缺失的許多組件,比如切開關、覆蓋、側邊欄、可滾動區域以及固定位置的導航條。庫包括fastclick.js和overthrow.js。7.OnsenUI來自AsialCorp.—Onsen基於HTML和CSS而建,旨在與並非預先集成的PhoneGap和Cordova協同運行。它還可以與Angular和jQuery協同運行。顧名思義,該程序強調用戶界面開發,並提供了一系列廣泛的基於Web的用戶界面組件和特性,比如表格的雙列視圖。(然而,仍然缺少MaterialDesign。)這個文檔完備的程序針對這樣的jQueryMobile用戶:既需要易於使用,又想要更多的功能、更高的性能和更豐富的用戶界面特性。總部位於東京的Asial正在開發一種拖放式GUI工具,該公司還開發和維護Monaca。9.SenchaTouch來自Sencha—Sencha的成熟的、面向企業的HTML5/Java框架既有開源版,又有商業版。Sencha建立於ExtJS的基礎上,能夠獲得類似原生的性能。它為HTML5提供了可視化應用程序構建器,另外還提供了重復使用自定義組件的功能。原生包裝器簡化了分發到GooglePlay等應用程序商店的工作。8.ReactNative來自Facebook—ReactNative是一種開源框架,從Facebook的ReactJava框架派生而來,眾所周知,Java框架取代了早些時候的HTML5基礎。顧名思義,這個面向iOS的高端程序與其說是一種跨平台框架,還不如說是原生程序包裝器,但是由於新增了對安卓的支持,它很適合我們的要求,因為你實際上塵早只要用Java編寫一次代碼,就能移植到這兩個平台。目前,只有OSX桌面得到全面支持,不過也有試驗性的Linux和Windows版本面向安卓開發。10.Titanium來自Appcelerator—不像那些比較偏向Web的框架,Titanium使用Java來構建原生代碼,聲稱有望提升性能。這種基於Node.js的軟體開發工具包(SDK)為iOS、安卓、Windows、黑莓和HTML5提供了5000多個API。Titanium更廣為人知的地方是性能和豐富的功能特性,而不是易用性。軟體是開源,不過只要你不發布你的應用程序,功能齊全的免費版可以免費享用,眼下你每月至少得支付39美元。
⑦ Android逆向工程相關工具集合
刷機包 sparse img -> ext4 img 線刷包裡面找到system.img/vendor.img
$ file system.imgsystem.img: Android sparse image, version: 1.0, Total of 849920 4096-byte output blocks in 2454 input chunks.
使用Android源碼編譯得敗態到out/host/linux-x86/bin/simg2img即可將Android的sparse image轉為ext4的image
dat -> ext4 img system.new.dat.br轉system.new.dat
brotli –decompress system.new.dat.br –output=system.new.dat
system.new.dat system.patch.dat system.transfer.list轉ext4 img
https://github.com/xpirt/sdat2img
payload mp https://gist.github.com/ius/ odex/oat/vdex Android <=4.4 odex to dex
https://github.com/JesusFreke/smali/wiki/DeodexInstructions
https://bitbucket.org/JesusFreke/smali/downloads/
Android <=7 oat to dex
https://github.com/testwhat/SmaliEx/releases
https://github.com/testwhat/SmaliEx
https://github.com/JesusFreke/smali/wiki/DeodexInstructions
https://bitbucket.org/JesusFreke/smali/downloads/
Android 8 vdex to dex
https://github.com/anestisb/vdexExtractor
Android 9 vdex->cdex->dex
https://github.com/anestisb/vdexExtractor
https://github.com/anestisb/vdexExtractor/issues/23
tools/deodex/run.sh -h
dex dex轉首型smali apktool工具者枯猜 針對 apk包括dex和資源
https://github.com/iBotPeaches/Apktool
https://ibotpeaches.github.io/Apktool/
baksmali、smali 針對dex
https://github.com/JesusFreke/smali
https://bitbucket.org/JesusFreke/smali/downloads/
dex轉jar/java
googe enjarify工具dex轉jar
https://github.com/google/enjarify
dex2jar
https://github.com/pxb1988/dex2jar
https://github.com/pxb1988/dex2jar/releases
結合jd-gui
https://github.com/java-decompiler/jd-gui
http://jd.benow.ca/
二合一工具
https://github.com/skylot/jadx
⑧ android app自動化測試工具有哪些
1、Monkey
Android SDK自帶的測試工具,在測試過程中會向系統發送偽隨機的用戶事件流,如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試,也有日誌輸出。
2、MonkeyRunner
也是Android SDK提供的測試工具。嚴格意義上來說MonkeyRunner其實是一個Api工具包,比Monkey強大,可以編寫測試腳本來自定義數據、事件。
3、Instrumentation
早期Google提供的Android自動化測試工具類,雖然在那時候JUnit也可以對Android進行測試,但是Instrumentation允許你對應用程序做更為復雜的測試,甚至是框架層面的。通過Instrumentation你可以模擬按鍵按下、抬起、屏幕點擊、滾動等事件。Instrumentation是通過將主程序和測試程序運行在同一個進程來實現這些功能,你可以把Instrumentation看成一個類似Activity或者Service並且不帶界面的組件,在程序運行期間監控你的主程序。
5、Espresso
Google的開源自動化測試框架。相對於Robotium和UIAutomator,它的特點是規模更小、更簡潔,API更加精確,編寫測試代碼簡單,容易快速上手。
6、Robotium也是基於Instrumentation的測試框架,目前國內外用的比較多,資料比較多,社區也比較活躍。缺點是對測試人員來說要有一定的Java基礎,了解Android基本組件,不能跨App。
⑨ JD-GUI工具在反編譯android和java的時候,反編譯出的代碼怎麼導出啊難道只能挨個復制嗎
推薦一鍵反編譯工具 ApkDec-Release-0.1
JD-GUI工具到純襪處java方廳梁法 菜單欄-->扮褲運File-->Save Source(Save All Source)
⑩ 如何使用DroidDraw進行Android界面設計
1、DroidDraw是一個GUI可視化設計器,基於是基於Java Swing的Android界面設計器,用它來編輯android界面,非常直觀、方便,為開發者節約很多時間。我們可以用它生成繁雜的layout文件(XML文件),設計完以後緩神慶可以導出xml文件,然後復制到我們的工程中使用。
使用方法很簡單,首先下載該軟體,運行擾握它,然後軟體點擊響應組件,通過拖拽來調整大小,生成文件保存成為XML,復制到您的Android工程中即可。
2、AnDroidDraw是一個與DroidDraw集成的Android應用程序,它允許你從DroidDraw應用程序下載你的GUIs,也允許你在一個Android設備上預覽你的GUIs。
它其實是一個android應用的安裝包apk文件,下載下來的文件AnDroidDraw.apk,然後要安裝到模擬器上(這里一定要保證Android環境已搭建好,SDK和ADT配置好),步驟如下:
(1)在cmd下啟動模擬器
啟動模擬器的命令是命令行中輸入emulator @自定義的模擬器名稱
如果你也出先這樣的問題,請先檢查你的系統環境變數是否配置正確。
(2)使用 adb install AnDroidDraw.apk命令把它安裝到你的 Android 設備上
(3)安裝完此apk文件以後,打開模擬器,就可以看到模擬器上的該應用圖標。
(4)安裝一個埠轉發規則: adb forward tcp:6100
(5)你的 Android 設備上運行 AnDroidDraw
(6)在電腦上運行 DroidDraw ,並且創建一個 GUI ,接下來從 DroidDraw 菜單中選擇 "Project"->"Send GUI to Deviec",就是將設計出來的xml發送給模擬器正在運行的AnDroidDraw程序,如果發送成功會彈出「Upload succeeded」消息框。瞎譽
(7)Android 屏幕上看到你在DroidDraw創建的 GUI 的的xml