1. 程式人生 > >秦時百度登入

秦時百度登入

秦時百度登入

預設目標

  1. smali修改測試
  2. 嘗試去掉BDGameSDK登入(聯網)

前提條件

  1. 秦時1的apk

使用工具

  1. jeb2.2.7+sublime+apkTool.jar+autoSign

修改過程

  1. BDGameSDK主要2個方法
    login
    init
    由於第三方jar程式碼混淆且邏輯複雜,於是嘗試繞過

  2. 編譯-反編譯使用BDGameSDk2.smali繞過
    在這裡插入圖片描述

  3. ivoke-static {v0}, Lcom/baidu/gamesdk/BDGameSDK2;->login(Lcom/baidu/gamesdk/IResponse;)V
    
  4. 直接設定登入ID
    const-string v0, “123456”
    return-object v0

  5. 直接註釋或者刪掉一些回撥檢查、或者網路請求

  6. 問題出現 user unlogin並且應用退出

  7. jeb搜尋字串 “user unlogin”

  8.    if(!k.a().b(arg3)) {
             Toast.makeText(arg3, "user unlogin", 0).show();
             Intent v0 = arg3.getPackageManager().getLaunchIntentForPackage(l.a(arg3));
             v0.addFlags(67108864);
             arg3.startActivity(v0);
         }
         追蹤到av.smali檔案是個同步方法
         .method public declared-synchronized c()Z
     		  .locals 1
     		    .prologue
     		    .line 202
     		    monitor-enter p0
     		    const/4 v0, 0x1
     		    monitor-exit p0
     		    return v0
    
  9. 總結
    前提是有客戶端+服務端,登入去掉沒有什麼現實意義,僅測試