Android逆向破解技術交流qun:9234736
這是一個腳本,它依賴于類Uinx系統上可以運行的某些命令(如awk,sed,grep),基于這些命令并參考Android系統的 getevent和sendevent機制,對Android機器上的所有用戶操作行為,如點擊屏幕,物理按鍵等事件進行錄制,并提供回放功能 。
源碼:[腳本和程序的源代碼]
(https://github.com/jituo666/AndroidEventRecorder.git)
【應用場景】?
可以用作自動化測試,模擬人機交互等
【優缺點】
優點,
1)跨APK的系統級錄制與回放,對整個系統的任何設備的輸入事件(觸摸屏\物理按鍵\陀螺儀\各種傳感器)都可以錄制回放
2)如果要自動化測試某個apk不需要對apk本身做任何修改(相對robotium測試框架來說,這個算是個亮點)
3)錄制回放的操作步驟簡單,一次錄制,重復利用
4) 對于被錄制的APP構建形式不受限制,可以是natvie的,也可以是hybrid或者是webapp。
5)各種輸入事件,如單點多點觸摸,點擊按鍵,滑動,滾動等都可以錄制回放 缺點,1)不同的機器需要做一些適配,修改config.ini文件即可 2) 回放的效果和原始效果的相似度并沒有達到100%,根據機器的性能略有偏差
【環境依賴】 1)類Unix系統,Mac OS 或 Ubuntu 2) Android開發相關的adb 運行環境,ndk編譯環境 3)請安裝awk,sed,grep工具集
【目錄結構】
recorder.sh: 錄制腳本,使用方法:./recorder.sh -c
playback.sh: 回放腳本,使用方法:./playback.sh
config.ini: 配置文件,記錄你要錄制回放的apk信息,以及輸入設備信息(不同的機器不一樣)
template.c: 模板C文件,生成回放程序時需要以此文件為基礎
readme.txt: 幫助說明文件
【用法】 安裝你要測試的apk到你的手機,配置apk和手機的相關信息到config.ini文件中,手機通過USB線連接到PC
1)錄制:執行命令 ./recorder.sh -c
2)回放:執行命令 ./playback.sh 說明:錄制命令有兩個命令選項 -c:錄制成C語言的可執行程序cmds,通過 adb shell cmds 執行回放 -s:錄制成shell腳本文件cmds.sh,通過 adb shell sh cmds.sh 執行回放 第二種通過shell腳本文件的方式,由于解析命令、執行命令的效率比較低,回放效果一般。 建議僅當簡單的錄制回放,特別是僅有按鍵事件,沒有滑動事件時使用。
【注意事項】 首次運行時請不要改變當前的目錄結構和目錄下的文件內容(除了config.ini),以免修改錯誤運行失敗.等了解程序運行原理后再 修改調試。