破解某违法色情App

  • A+
所属分类:安全文章
很久没搞逆向,今天整个技术活,不少操作还是在手机上操作完成的,包括脱壳,本篇文章等等,因为华为mate 40 pro用得挺香的。

有时候觉得技术没学好,都是因为动力不足导致,比如逆向能力的提升,多搞搞这种app就动力十足了😏

聊点逆向此app的一些关键点,顺便吐点槽。

1. 从自动脱壳说起,先查了下,用的是顶象加固,但其实用啥不重要,因为可以内存dump dex搞定。

破解某违法色情App


脱壳的核心原理:通过Hook java.lang.ClassLoader的loadClass方法,反射调用java.lang.Class.getDex()取得Dex(com.android.dex.Dex类对象),再用com.android.dex.Dex.getBytes()读取dex并写入本地保存。

在手机上,用VMOS + Fdex2或反射大师可以自动脱壳,下面是脱壳后的dex,有两份dex,脱壳时多操作下去触发多dex解密加载。

破解某违法色情App


2. 通过逆向去分析代码逻辑,很多时候只是通过方法或变量名称来猜测,然后就是写hook去验证。对于加固壳的hook,如何你直接用xposed去hook会提示找不到类,如下图。

破解某违法色情App


这是因为hook时真实的应用代码还没加载,它是由壳来加载的,因此我们应该去hook壳的类加载器,在其执行后去hook应用类。hook壳的类加载器常位于onCreate或attachBaseContext方法,再拿Context,从它获取壳的ClassLoader。比如顶象加固的加载入口位于com.security shell.AppStub1._attachBaseContext方法,其参数刚好是Context。

破解某违法色情App


3. app的每个版本包名都不一样,一些包路径名也在变,但具体的类名和方法名变化不大,所以最好采用一点相对通用的方法,比如应用名或labelRes这个资源id来hook应用,然后设法获取主activity的名称,然后就知道该hook哪里了。

4. 应用有VIP会员,非常贵,但即使买了,你也会发现很多视频是另外收费,哪怕你是最高级别的会员(最高5级,发现就vip logo的差异)也没什么卵用。所以从角度看,此应用不仅在国内违法,而且还是无良奸商。我现在也非常鄙视当前主流视频应用,开了vip之后,还有电视超级vip,开了超级vip,还有提前观看的收费项目,按单个视频收费。


破解某违法色情App

5. 最后写个Xposed模块,取名:切瓜刀,对应用进行完整破解。

破解某违法色情App


效果(钱包余额只是本地欺骗,数据在云端):


破解某违法色情App


代码就不贴了,应用也不发了,仅当聊聊技术。

6. 应用支持支付宝和微信支付,都是实名的,还有就是后台CGI,通过查询域名负责人应该可以定位到,若是找人代替或其它洗钱途径那就另说。通过逆向发现,CGI通信还用了RSA+AES加密,有签名校验数据完整性,说明开发者还是懂点安全的,这点比很多国内开发者强。


破解某违法色情App


本文始发于微信公众号(漏洞战争):破解某违法色情App

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: