① 如何看到一個APP應用的源代碼
一、安卓APP
用android-killer可以反編譯apk,比較方便,不過只能看到smail文件,學習一點smail,你可以看明白他的源代碼的意思,如果有殼的話,先改apk後綴後為zip,找到加殼的so文件,一般如名字中帶xxxprotect.so 用網路,360,騰訊廠商加固的話,也都有對應特點,然後把這個so文件用IDA pro打開,找到它的關鍵加密演算法。找到後,一版是不讓進加密演算法,直接return。就可去殼,去了殼之後,再進行重打包簽名,測試下。
二、ios上的app一般走如下流程
1、 拿個越獄機-下好工具
2、 去越獄平台下個想分析的應用(或者去app store下,用解密工具解密一下)
3、 導入reveal分析頁面,得到想要的知道的具體視圖類或者大致范圍
4、 分析class-mp中,找到想要的類和函數
5、 在IDA或者Hopper中找到具體函數,查看匯編邏輯
6、 修改相應的邏輯,達到篡改目的,重新打包
② 有沒有適合 Android 開發初學者的 App 源碼推薦
GitHub上google和googlesample這兩個帳號下有若干Android app,大部分都是遵循google推薦的最佳實踐,並且符合Material Design,很值得學習。手機碼字,晚上回去給好連接
首先介紹 iosched這個項目,google/iosched · GitHub 。
iosched項目是Google I/O的官方app,不僅僅是一個學習的demo,這是一個真正開源的線上項目。
這個項目裡面使用了大量Google官方推薦的最佳實踐,比如使用loader載入數據,大量使用本地sqlite緩存數據,通過syncAdapter來更新本地緩存的數據,配合GMS達到節約流量省電的目的。另外這個app也是學些MaterialDesign的不錯的範例。另外這個app還很好的適配了手機和pad,如果你想要做這方面的適配工作,不妨也參考一下
至於項目的committer,你可以找到比如romannurik這種Google Android項目開發者,證實這並不是Google的實習生寫的項目,而是Android平台的核心工程師所做,質量自然很有保證。
第二個推薦的就是topeka項目 googlesamples/android-topeka · GitHub 。
這個項目是Google前幾天剛發出來,用來展示如何將MaterialDesign應用到你的app中,以達到最佳設計和交互效果。通過這個app,你還可以學到如何設計你app的交互和視覺以更好的和MaterialDesign搭配。