欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

Android安卓逆向之旅—带你细读Android安卓中新型防护安全策略

来源:本站整理 作者:佚名 时间:2017-10-19 TAG: 我要投稿

一、媒介
近来有一个同窗,发给我一个装备流量拜访检测对象,然则奇怪的是,他从GP上下载上去以后装置就没有数据了,而在GP上间接装置就能够。二次打包也会有成绩。以是这里就能够判断这个app应当是有署名校验了,固然另有其余的校验逻辑,咱们关上这个app界面以下,没有任何数据:

二、应用阐发
上面就来简略阐发这个app,未几说间接应用Jadx对象关上:

咱们在应用的进程中会发明需要受权VPN权限,以是就判断这个app应用了体系的VPNService功效开辟的,间接在xml中找到进口,而后进入检查设置装备摆设代码:

继承跟踪检查外部逻辑:

在Worker类中,看到有一些焦点的Native办法,开辟过VPNService都晓得,拦阻数据等操纵一样平常都邑放到native去做,重要缘故原由是机能会高点。未几说间接应用IDA关上libwebd.so文件,间接搜刮NativeInit函数,为何搜刮这个函数呢?由于一看这个是初始化操纵,而没有数据的话那些校验判断只会在这里,以是间接看这个函数完成:

继承往下看,他究竟做了哪些验证,这里重要包含了三处验证,详细以下:
第一处验证:验证装置渠道能否为GP,这里应用了体系的getInstallerPackageName办法来做判断,这个办法在很早的Android版本就有了,然则这个办法有很大应用成绩,前面会先容。由于GP装置器包名是:com.android.vending,这里间接判断假如装置器不是GP就不停止拦包操纵了。

第二处验证:应用署名校验,这个曾经是最广泛的校验办法了,这里未几说明了,间接应用kstools对象停止爆破便可破解署名校验。

第三处验证:这个重要验证xml中的android:debuggable="true"这个属性值,咱们以前假如想调试这个app的话,一样平常都邑手动反编译改这个属性为true的。然则咱们如今不需要调试,也没需要停止改动。这个验证对付咱们来讲没什么影响。

看到上面的三处验证,实在对付咱们如今控制的技巧来讲,都不难,特别是署名校验,完整能够应用kstools对象来搞定,一键化操纵,不懂得kstools对象的同窗能够看这篇文章:Android中主动爆破署名校验对象kstools ;这里同窗本身应用对象操纵一下便可过了这个验证。而第三处验证能够说没什么影响,不消管它。重要来看第一处验证。有的同窗说破解也简略,间接改动CBZ指令便可。然则这个就缺失了一些技能,咱们要的不是成果,而是进修的进程。接上去看看我是怎样破解这个校验的。又要多先容一些常识点了。
三、破解计划
破解这个装置渠道大抵有两个计划,一个是应用kstools对象源码改动一下,拦阻getInstallerPackageName办法,而后改动前往值便可,以下:

间接前往这个包名的的装置器便是GP的,如许在打包就能够给多人应用了。这个未几先容了,感兴趣的同窗去下载源码本身操纵理论一下便可:https://github.com/fourbrother/kstools
另有一种超等简略的方法,间接应用敕令
1
pm install -i[指定装置器包名] apk文件
,这个敕令应当有很少人晓得,然则这个简略的一个敕令就能够在这里很便利的破解,能够指定一个app的装置器。

咱们装置以后,能够在体系的 /data/system/packages.xml 中检查应用对应的装置器称号:

而这里又说道一个常识,便是体系的这个packages.xml文件,他便是装备装置胜利的应用的一些详细信息,包含应用到的权限,署名信息,装置渠道,各类标记等。以前有人问怎样获得装备中的应用装置渠道起源,实在能够从这个文件中获得到。从这里看到这个应用如今切实实在是从GP上装置的了,也阐明了上面的谁人pm敕令切实实在有效。

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载