編輯:關於Android編程
首先我們需要分析MobSF的源碼,明白一個apk的靜態分析的步驟是什麼。經過分析,如何將apk文件解壓就是進行apk行為分析的第一步,確切的說應該是第二步,第一步應該是去殼。但是為了簡單起見,去殼這一步就暫時忽略。
運行MobSF
首先從網頁入手進行分析,啟動服務端後打開127.0.0.1:8000,進入開發者模式:
vcq9z/K3/s7xxve0q7Xdyv2+3aGjvPK1pbLCz+vSu8/Co6y0q7XdtcTK/b7dsdi2qMrHyc+0q7XELmFwa87EvP6jrLSrtb3ExMDvse21pc231tCyosO709DLtcP3o6zEx8O0v8+2qMrHyrnTw2phdmFzY3JpcHS0+sLrzeqzycnPtKu2r9f3oaM8YnIgLz4NCtTasb7Ss7XEamF2YXNjcmlwdLT6wuvW0KOsv8nS1L+0tb3KudPDQUpBWLy8yvXJz7SrwcvOxLz+o7o8YnIgLz4NCjxpbWcgYWx0PQ=="這裡寫圖片描述" src="/uploadfile/Collfiles/20160505/20160505090909759.png" title="\" />
顯然這個文件被Post到../Upload/頁面。
但是通過搜索整個源代碼文件夾,並沒有發現Upload頁面,雖然之前沒有使用過Django框架,但是有Flask的經驗,猜想必定有一個定義url的文件,在MobSF的文件夾,果然找到了一個urls.py文件:
打開發現果然沒錯,這裡詳細描述了http消息和在服務器上的處理方法(函數)之間的關系:
分析在apk文件在服務器上的處理流程
從urls.py文件中,可以看到,點擊上傳按鈕後,處理apk的函數是MobSF.views.Upload,找到MobSF文件夾下的views.py,打開找到其中的Upload函數:
response_data['url'] = 'StaticAnalyzer/?name='+request.FILES['file'].name+'&type=apk&checksum='+md5
response_data['status'] = 'success'
line 389: FILES=Unzip(APP_PATH,APP_DIR)
下一步就是實現對apk文件的解壓,將使用zlib庫實現這一功能。
後續的任務就是一步一步實現StaticAnalyser函數其實是views.py文件中的所有功能,並將他們整合到一起,再使用Qt做出圖形界面。
摘自網上的android生命周期圖: cocos2dx-2.X前後台切換分析,基於android平台:1、從後台進入前台項目的activity一般繼承自Coco
加速篇GRADLE的構建過程通常會比較漫長,一個中等項目,10M左右大小的app,一次完整構建大概在5分鐘左右,是不是很嚇人,當然,如果是在調試階段,采用Android
公司項目中有這樣一個需求,當從網絡獲取json數據並解析後,動態的添加按鈕,點擊時切換對應按鈕下存儲的各種數據。如下圖:這裡只是單單為了動態添加RadioButton而已
上一篇講了VLC整個程序的模塊劃分和界面主要使用的技術,今天分析一下VLC程序初始化過程,主要是初始化界面、加載解碼庫的操作。今天主要分析一下org.videolan.v