pc工具不支持stb的加密方式_微信协议分析 pc端记录实现不死号

72c8dc5d89289ba6e72113cb52cf1b47.png

微信在pack之后又封装了一层,尝试跟踪,在tencent.mm:push进程下,java端最后断在一个req2buf函数中,但是这个函数是由so调用的,能力有限,还没调到具体调用的地方。所以试试看转战PC端。

使用微信版本2.6.4.56

首先发现这个报文是和手机端就不一样,当手机向PC发送消息时,是先发送一个不知名报文,然后PC端返回一段比较长的报文,然后才会收到真实数据报文。

通过内存断点,目前发现PC端返回的断点可能是用来给真实收到的报文解密的。

具体调试方式如下:

直接在ws2_32.dll中查找recv函数,下函数断点。因为微信是tcp的,应该不是udp,

下内存断点,查看访问数据段的地方。(这里内存断点下在靠后的部分,前面部分是一些标示位,可能进不了加密段)

而后进入一个函数,偏移为100215A0,这里修改函数备注为procecv26

共有5个参数,分析可知第一个是收到的报文,第二个是解码后的报文,第三个作为功能标示位,让函数进入不同的功能块。第四和第五个参数用来生成秘钥,用于后续加密。

调试发现第三个标识位功能大概如下:

1:处理收到的第一条通知报文吧,每次手机发消息给pc,都会现有一

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值