第一課 講解了關於在安卓破解之中環境的配置及所須要用到的軟件,重要的軟件是Androidkiller,安卓逆向助手java
第二課講解了java與smali的關係,從smail角度詳細的分析了一個簡單的HelloWorld的apkapp
第三課講解了二次破解函數
對於某些破解網站,從其網站下載以後在手機上打開以後,會有提示,這就須要咱們安裝其的app客戶端才能實現破解,二次破解便可繞開此驗證進入遊戲佈局
去安裝盒子,去除toast提示,去除背景圖片網站
安裝盒子的那個apk是放在asset文件夾之中,當用戶安裝遊戲(從該網站下載的破解版本),就會將該盒子的apk釋放在sdcard上,以後,進入遊戲經過context.getPackage.getPackageInfo的方法(根據包名在得到的info中尋找,找到返回true,若沒有找到則是返回false),檢測當前用戶手機是否安裝有盒子,若是沒有安裝,則是提示用戶安裝,用戶不安裝則是不給進入遊戲界面,安裝用到的就是以前釋放出來,放在sdcard中的那個盒子apk加密
第四課spa
application類是比入口類要提早加載遊戲
asset資源文件夾經常用來放一些隱藏性的東西圖片
使用了別的app來加密資源
jar使用安卓逆向助手的jd打開,若是打不開,可能只是使用jar調用,或者是被加密了
打開以後發現是一個apk的文件目錄,能夠將其擴展名改成apk進行反編譯
能夠發現,toast實際上是在裏面的,咱們直接修改以後,進行回編,以後,若是是將咱們回編的這個apk改成jar再次放進以前的apk之中,有極大可能會出錯,爲何呢?由於可能在原始的apk中會有對這個jar的簽名驗證,因此,咱們換種思路,將回編apk中的classdex放入以前的jar中,以後再放入原始的apk中,這樣就好了
破解要抓住要點,採用修改較少的方法,這樣不容易出錯
去除橫幅廣告
直接在AndroidManiFest中刪除其對應的activity ,搜索字符串刪除便可 有米(youmi) 多遊(duoyou)
刪除activity只是簡單的去除,實際上app中仍是會顯示橫幅,須要作到完全的刪除,兩種方法,一種是去上層去除對廣告顯示方法的調用,第二種則是清空該廣告顯示方法,記得須要返回(搜索橫幅中的內容定位到該顯示方法)
不過大多數的廣告都是全屏廣告,不能經過上面的方法來達成咱們的目的,由於全屏廣告實際上是一張ImageView,是在activity文件之中動態生成的佈局,涉及到佈局動態變化,因此,咱們得在smail代碼中尋找關鍵的語句來到達成咱們的目的
監聽類listener
關鍵判斷函數 onBillingfinish payresult
具體的成功 取消 失敗函數
分支過多,不適合改爲跳轉,能夠直接修改值
move p1,p2 將p2的值賦值給p1