iOS安全攻防(十一):截获微信绑定的银行卡号

本人郑重声明:并不鼓励窃取用户隐私等行为,一切hack学习都只是为了研究如何防御

通过文章《iOS安全攻防(十):微信余额分析》,知道了如何对一个App进行分析,下面分析如何获取微信中已经绑定的银行卡信息

腾讯微信在Client和Server之间传输数据是通过RSA加密的,要想解密数据,首先需要获取Client的Private key。
同样的,首先我们劫持微信线程(具体步骤参见iOS安全攻防(十):微信余额分析

打开Reveal,微信进入"银行卡"界面(微信需要绑定银行卡), 使用Reveal分析此时微信框架结构,如下图所示:


Reveal01.png
Reveal02.png

在《iOS安全攻防(十)》中,我们分析方法的效率往往不高,在这里,我们配合使用Reveal分析,根据图Reveal01.png目录结构,初始化WCPayCardDetailView控件,找到其子对象。

WCPayCard.png

终端继续初始化UIImageView对象

var imageView = new Instance(0x18e3cbc0)
imageView.subview

此时是不是感到眼前一亮,要找的信息完全展示在我们面前,如下图所示


information.png

ok,分析到此,相信很多人都会有疑问,尽管通过上面的步骤可以获取到有限的的银行卡信息,但这些信息都是无关紧要的,好的,下面我们继续分析

现在我们打开class-dump获取的微信头文件,可以看到WeChat有7000多个头文件,搜索WCPayCardDetailView找到相关文件

header.png

下一步打开WCPayCardDetailView.h, 看里面都定义了哪些property和function

detailView.png

发现了有用信息,函数getinfo, 在终端调用此函数后打印日志:

"<WCPayBindCardInfo: 0x18d4ce10>"

ok, 可能银行卡号、绑定电话号码等信息存储在了WCPayBindCardInfo类的相关属性里,打开WCPayBindCardInfo.h


bindInfo01.png

pleasantly surprised !初始化WCPayBindCardInfo对象

var bindCardInfo = new Instance(0x18d4ce10)

初始化完成后,随意打印一个相关信息,终端输入

bindCardInfo.m_bankPhone     // 银行电话
bindCardInfo.m_cardBankName

ok,终端打印了如下信息:


bankPhone.png
bankName.png

可看出绑定的是招商银行的卡号,再输入

bindCardInfo.m_bindPhoneNumber
bingCardInfo.m_cardNumber

终端打印了银行绑定的手机号和银行卡号,ok,成功截获微信绑定的银行卡号和电话号码。

未经允许,禁止转载
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,631评论 25 709
  • 时间成全了一个又一个的故事 在这条路上不断的遇见和离散 走的越远 你会发现你越不敢往前走 就像小时候迫切的想要长大...
    时光里的旧人阅读 1,358评论 0 0
  • 1.感恩凌晨2:58分忽然醒来,惊谎。打开眼晴看着手机传来“世外桃源”就这句的歌声,当我定神后没有声音。好神奇哦 ...
    曾梓珈阅读 1,859评论 0 0
  • 你说 我是你的唯一 对此 我保持沉默 不自觉 我竟然选择了相信 可是 风起了 我们没有联系 云散了 我们没有联系 ...
    秋水识心阅读 1,404评论 8 2
  • 你说我以后会变成什么样子了,是自己突如其来的想改变了,还是因为因为你们,所以我现在或是以后那个模样,是不是你们给的...
    whildanimal阅读 3,619评论 0 0