aliEvilAPK_3題解

阿里CTF apk_3題解:

1. APK作了加殼,但並沒做其他處理,直接ida調試,dump出dex文件

2. 反編譯dex文件,發現存在一個WebviewActivity,實現了與js交互的接口

3. 找到其中的接口實現,有一個showToast方法,即題目要求被調用的方法

解法一:

直接查看showToast方法中的Toast內容,這隻針對解題所用。

解法二:

根據js與java交互原理,html中調用showToast方法需要知道java類被映射後的別名。找到webViewActivity中的onCreate方法,發現名字是亂碼"BQ1$*[w6G_",需要ListViewAutoScrollHelpern.decrypt_native方法解密。一種方法是,分析so算法或者通過logcat等方式得別名:SmokeyBear,另一種簡單的做法是:直接在調用addJavascriptInterface之前添加,const-string            v4, "ThomasKing"代碼,將別名命名爲:ThomasKing。我這裏採用第二種方法。

知道了類名,就可以構建html了:

<html>  
  <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
    <script>
    </script>  
  </head>
  <body>
  <a onClick="window.ThomasKing.showToast()">showToast</a><br/>
  </body>  
</html>

push到手機測試,Toast出“祥龍!”。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章