一次反編譯某美劇Apk的經歷(一)

故事背景

在端午節前面,有好幾我的都找我詢問最近好看的美劇,那我就作一個簡單的美劇排期表的小程序,接口能夠Hack一下,結果遇到了好多問題,好開心。算法

工做

接口HACK

利用iOS抓包APP Stream 進行抓包,化簡獲得下面的curl 小程序

1curl 'https://api.rr.tv/schedule/listV2' 
2-H 'p: iOS'  
3--data 'simpleBody=9SiG/cduXC41k3COogMfZnU1bABhgz0rHVOx06MQYZywOkXTrfgdvjqdZv8W79nq%0D%0A5QhhVzvNAK3DTULfLP6t8g%3D%3D'複製代碼


能夠看到接口字段是加密的,利用了網上在線解密工具常見的幾種加密算法進行解密,發現毫無結果,只能反編譯Apk了。(發現 用戶信息接口裏等級描述 我是「美劇專家」,哈哈。api

Apk反編譯

反編譯三板斧:apktooldex2jarjd-guibash

  • apktool:反編譯apk的利器,還可從新打包。
  • dex2jar: 把dex文件反編譯成jar文件,獲取源碼。
  • jd-gui:查看jar源碼,固然用其餘工具也能看。

關於這些工具的下載安裝,就不贅述了(上各自的官網下載就好了)。app


我發現事情並無那麼的簡單,它用360加固了(小聲比比:不是說360加固會塞廣告嘛?curl

image.png


那麼問題就又出現了,該怎麼360脫殼呢?工具

Apk脫殼

上面講到要脫殼,打開GitHub 搜一下,發現幾個脫殼Xposed插件,FDex2dumpDexDeveloperHelper。ui

手裏有魔趣9 的堅果Pro2,結果搞了很久才安裝上Xposed,DeveloperHelper dump出4個Jar ,以下圖:加密

image.png

image.png

源碼查看

利用JD-GUI 或者IDEA打開這4個Jar文件,從Android 的Activity到Fragment 到到HTTP,再到字段加密的請求相關代碼,以下圖,感受離勝利快不遠了誒。url

image.png

仍是我太天真了,發現他們用的的AES加密,祕鑰的獲取是使用過Java調用JNI來獲取的16位祕鑰...


image.png

image.png



結果和收穫

雖然文章文字寫的很少,也大體講完了個人一次反編譯經歷,雖然沒能獲取到他們的加密,也沒能作成小程序,可是遇到問題,解決問題的過程實在是太快樂了。

相關文章
相關標籤/搜索