利用Xposed去hook住Android系统框架层函数去脱壳

描述

针对“逆向基础题一:验证登录”逆向题,需要先脱壳,前面讲过很多脱壳的方法,例如“逆向基础二十一:ART环境下使用IDA脚本脱壳”中使用IDA脚本脱壳。下面介绍利用Xposed去hook住Android系统框架层DexClassLoader函数去脱壳。Xposed的使用可以参考“逆向基础十八:Android之Xposed框架”这篇文章。   如下所示是xposed核心代码,根据DexClassLoader的第一个参数就是待加载的apk的路径,所以我们可以直接取到apk文件,然后我们先读取apk文件存放到byte数组中,然后将byte数组中内容写入/data/data/packagename路径下。

Android

  安装好该Xposed插件后,运行待脱壳APK,然后可以在/data/data/packagename路径下找到dumper.apk,我们将该文件取出到Windows上,利用JADX打开,之前我们利用修改Smali代码打印出用户名和密码,这次我们直接正向去分析源码来获取用户名和密码。   核心代码如下,调用checkNameAndPassword函数,传入用户名、密码以及str字符串做base64加密后当做key传入。

Android

  继续跟踪代码,发现用户名是"U2hlMTFfTjZSYw=="进行base64解码,密码是基于用户名做SHA1加密,取前16字节生成。

Android

  直接网页在线解码,结果如下,得到了用户名和密码。

Android

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分