预设目标
- smali修改测试
- 尝试去掉BDGameSDK登录(联网)
前提条件
- 秦时1的apk
使用工具
- jeb2.2.7+sublime+apkTool.jar+autoSign
修改过程
-
BDGameSDK主要2个方法
login
init
由于第三方jar代码混淆且逻辑复杂,于是尝试绕过 -
编译-反编译使用BDGameSDk2.smali绕过
-
ivoke-static {v0}, Lcom/baidu/gamesdk/BDGameSDK2;->login(Lcom/baidu/gamesdk/IResponse;)V
-
直接设置登录ID
const-string v0, “123456”
return-object v0 -
直接注释或者删掉一些回调检查、或者网络请求
-
问题出现 user unlogin并且应用退出
-
jeb搜索字符串 “user unlogin”
-
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
-
总结
前提是有客户端+服务端,登录去掉没有什么现实意义,仅测试