Android逆向(二)
承接上一篇Android逆向(一)
其实之前只是尝试了对模拟器进行root的操作,这个方式的难点主要在于root,root之后改根证书就可以实现抓包。
其他的方案还有应用双开,利用虚拟机套一个自定义的虚拟机,那么自定义的虚拟机就有点类似在手机上运行了一个模拟器。然后不需要root,也可以抓包。
市面上目前有一款HttpCanary比较好用,配合平行空间,在api28以下的手机系统上可以实现双开免root抓包。
但是我从网上找了找没找到一款合适的app,很多都是被三方魔改之后的。所以签名也不一样,加上后面64位芯片架构的普及需要装三个app,一个HpttCanary一个平行空间,一个平行空间64位补丁。
另一个就是利用AndroidKiller去反编译app,就是上文文末提到的。但是这个软件只有windows版本的支持。所以必须要有一个windows电脑。
另外提一下,在破解常规Android开发的包手段有很多,防护也没问题,但是不得不说Flutterpap的破解难度相对来说更复杂点,因为flutterapp的代码都在libapp.so中,对于不了解C语言的开发来说,起码能过滤很多类似于我这种一只脚的脚趾头伸进门的人。
知道了攻击手段其实防备也就有办法去防备了。
-
首先,判断是否为root或者虚拟机,或者双开环境就行了。然后在这些环境下让app崩溃,其实是最妥当的做法,但是海外项目其实有些正常用户也会用双开去正常使用app。比如Gspace还有出境易等,有部分用户会使用这两个Google专用定制双开环境去获得Google服务,因为很多国内的手机没有google服务,甚至华为手机连google服务都无法安装。
-
所以合理的做法是,加固之后,在检测到不安全环境不发起网络请求,或者针对指定的双开环境放行。
当然就算是加固之后也,可以进行脱壳,还有一些更深层次的方式比如进程注入,后台root等反正我也不懂。