一次反编译某美剧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



结果和收获

虽然文章文字写的很少,也大体讲完了个人一次反编译经历,虽然没能获取到他们的加密,也没能作成小程序,可是遇到问题,解决问题的过程实在是太快乐了。

相关文章
相关标签/搜索