PC微信逆向:分析发送xml名片call
Posted 信安之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PC微信逆向:分析发送xml名片call相关的知识,希望对你有一定的参考价值。
成员招募:
微信版本
定位发送 xml 名片 call
发送 xml 名片 call 的切入点
定位选择联系人的 call
那么如何定位到选择联系人的 call 呢?
可以通过上面的字符串的区别从而定位到字符串的位置,然后下内存写入断点,再定位到选择的 call
反汇编窗口跟随,这个 call 就是选择联系人的 call
定位发送 xml 名片的 call
定位接收者的微信 ID
接着我们在选择联系人的 call 下断,在微信中选择文件助手,让程序断下
此时堆栈的参数中有选中的微信 ID,我们只要通过对这个微信 ID 下内存访问断点,栈回溯分析,就能找到发送 xml 名片的 call。
接着将这个微信 ID 修改为一个比较独特的值,然后 F8 步过这个函数
定位发送 xml 名片的 call
点击发送,此时程序断下,分析附近堆栈
程序断下,此时 eax 为微信 ID,ecx 为空。那么这个不是我们需要的 call,继续 F8 单步往下走
此时我们看到这个 call 将 ForwardShareCard 这个字符串传入了堆栈,这个英文的意思是转发分享名片,那么可以猜测这个函数应该和发送 xml 名片的 call 有关系。继续往下单步
这里有个 call eax,此时 ecx 指向我们分享的名片的微信 ID,那么这个函数应该和发送 xml 名片是有关系的,我们 F7 进入函数。
一直单步到这里我们找到了一个 call,此时 eax 指向一个 xml 的数据
edx 指向接收者的微信 ID,那么这个 call 就非常有可能是我们要找的发送名片的 call
验证发送 xml 名片的 call
那么怎么验证呢?我们修改接收者的微信 ID,让原本发送给文件助手的 xml 名片发给好友,如果 xml 名片发给了微信好友,那么可以证明这个就是我们要的发送 xml 名片的 call
方法扩展
依次类推,这种方法可以定位大多数的微信功能的 call,只要是带有这种选择框的call,都可以通过这种方法,先找到选择的函数,然后再通过微信接收者的 ID,下内存访问断点,栈回溯分析附近代码找到所需要的 call
推荐阅读
以上是关于PC微信逆向:分析发送xml名片call的主要内容,如果未能解决你的问题,请参考以下文章
Android逆向分析实例-解密微信EnMicroMsg.db数据库