1.1 三大主流模擬器對比
Android Emulator | Android-x86 | GenyMotion | |
---|---|---|---|
價格 | free | free | Free: Non-commercial Paid: Freelance, Business |
速度 | Slow for ARM – Faster for x86 | Fast | Very fast |
支持版本 | Android Virtual Devices (All android versions) | Only certain preconfigured devices, mostly tablet (Android 2.2-4.4) | Pre-configured images for many tablet & phone devices of Google, HTC, LG, Motorola, Samsung, Sony (Android 2.3, 4.x) |
HTTP代理 | Yes (command-line option) | Yes, via GUI | Yes, via GUI |
Transparent Man-in-the-middle | Yes – via DNS server | Yes, via Virtualbox | Yes, via Virtualbox |
Pre-rooted | Yes | Yes | Yes |
虛擬機安全裝時間 | 5 minutes | 15 minutes | 5 minutes |
相機支持 | Since Android 4.0 | Very limited | Yes |
GPS支持 | Yes | No | Yes |
Spoof IDs | No | No | Paid version |
Drag&Drop Support | No | No | Yes |
谷歌商店 | No, but can be installed | Yes | No, but can be installed |
開發者工具支持 | Yes | Yes | Yes, via plugins |
鏡像支持 | One | Offline, via Virtualbox | Offline, via Virtualbox |
1.2 總結
真機快功能全,模擬器成本低 有條件的話建議真機模擬器混合使用 如果用模擬器的話建議GenyMotion
2.1 http代理設置
電腦代理:Fiddler、burp suite等
手機代理:proxydroid等
Proxydorid運行機制
默認設置只能代理80和443的http流量,如果是其他端口的http流量就需要配置iptables轉發端口到手機的8123或者8124端口上。
2.2 Ad-hoc無線網絡
簡單說就是用自己電腦開個wifi熱點,這樣做比直接在同LAN中設置代理的好處是,android上的代理軟件不一定會把所有流量轉發到pc上,如果自己pc開的熱點就不會存在該問題,這樣就可以用wireshark抓取這些不能代理的流量了。 設置方法如下: Dos下運行,設置熱點
netsh wlan set hostednetwork mode=allow ssid=test key=test1234
控制面板里共享網絡
Dos下運行開啟熱點
netsh wlan start hostednetwork
2.3 ssl證書
從fiddler中導出證書
手機中安裝fiddler證書
有些app自帶證書,可以解包查看
然后合并導入手機中
3.1 Root設備
Root后才能進入應用數據目錄
3.2 本地存儲檢索
文件種類: databases - SQLite 數據 shared_prefs – 程序私有文件 cache – 緩存數據 lib – 本地庫 files – 其他文件 少數應用在sd卡中也存儲數據
3.3 文件管理器應用
ES文件瀏覽器(不能打開sqlite)
RE(root explorer 能直接打開sqlite,要好用一些)
3.4 ADB pull
如果用的es沒辦法打開sqlite所以才有這步,用re的話就不需要這步可以在手機上直接查看。不過pull到pc上看起來更直觀點。 Root權限才能對應用程序目錄進行操作。
Chmod把權限改為777就可以pull到pc上查看了。
3.5 SSH root server
安裝SSHdroid,設置好參數即可遠程ssh上android設備。
3.6 快照分析
通過快照進行差異對比能夠快速發現一些本地存儲的敏感信息。
在進行操作如輸入用戶信息前拍下應用目錄快照,就是復制一下。
然后進行進行登陸操作拍下再拍下快照
最后用diff比較兩次快照
總結:這種方法適合文件較多的應用,文件少的應用直接觀察文件修改時間,然后進行查看。
3.7 常見漏洞
不必要的敏感信息存儲 敏感信息明文存儲在外置設備如sd卡中 敏感信息明文存儲在私有目錄下 用弱加密算法加密敏感數據 加密敏感數據用程序的硬編碼的靜態密鑰 加密敏感數據的動態密鑰存儲在全局可讀或者私有目錄下
Logcat信息泄漏
WooYun: 光大銀行Android手機客戶端密碼明文泄漏
shared_prefs信息泄漏
明文傳輸
ssl證書失效
WooYun: 中信銀行"動卡空間“Android客戶端缺陷導致用戶名密碼等信息被劫持