iOS****

您所在的位置:网站首页 微信骰子点数控制插件怎么用 iOS****

iOS****

2024-07-13 00:11| 来源: 网络整理| 查看: 265

前言

本文将介绍探索微信骰子控制点数的过程,并开源代码。本插件可以做到控制骰子点数和石头剪刀布的结果。

内容

众所周知,微信全局收发消息调用的是CMessageMgr类的- (void)AddMsg:(id)arg1 MsgWrap:(id)arg2函数,该函数arg1为收信人的微信id,arg2为消息CMessageWrap类的对象。如此说来我们只要拼接正确的CMessageWrap对象即可。

探索CMessageWrap类 class-dump 得到CMessageWrap.h 使用MonkeyDev断点观察arg2

1.参考 2.全世界都在用MonkeyDev,我们用MonkeyDev编写代码hook并断点- (void)AddMsg:(id)arg1 MsgWrap:(id)arg2.

CHDeclareClass(CMessageMgr); CHMethod(2, void, CMessageMgr, AsyncOnAddMsg, id, arg1, MsgWrap, id, arg2) { CHSuper(2, CMessageMgr, AsyncOnAddMsg, arg1, MsgWrap, arg2); } CHConstructor{ CHLoadLateClass(CMessageMgr); CHClassHook(2, CMessageMgr, AsyncOnAddMsg, MsgWrap); }

首先发送文字,探索最简单的CMessageWrap对象用到哪些字段,得:

wrap.m_uiMessageType = 1;//文字:1,表情:47 wrap.m_nsFromUsr = @"发信人微信id"; wrap.m_nsToUsr = @"收信人微信id"; wrap.m_uiCreateTime = date;//时间戳 wrap.m_uiStatus = 1;//固定1

以上为微信发消息必备字段。接下来,我们发一个石头剪刀布的表情,得到更多字段:

wrap.m_nsEmoticonMD5 = @"F790E342A02E0F99D34B316547F9AEAB";//猜拳md5 wrap.m_uiGameContent = 3;//猜拳内容 wrap.m_uiGameType = 1;//猜拳:1,骰子:2 wrap.m_uiEmoticonType = 1;//固定1

得到这些字段后,我么调用- (void)AddEmoticonMsg:(NSString *)arg1 MsgWrap:(CMessageWrap *)arg2;发送表情测试,发现每次的结果都是'布',由此可见,猜拳和骰子的结果不是由服务端控制,而是由发送的时刻即确定,所以我们可以控制结果。修改入参值不难得出: 1:m_nsEmoticonMD5:@"F790E342A02E0F99D34B316547F9AEAB",m_uiGameType:1,m_uiGameContent:1剪刀 2石头 3布

2:m_nsEmoticonMD5:@"9E3F303561566DC9342A3EA41E6552A6",m_uiGameType:2,m_uiGameContent:4-9为结果1-6

插件

WCGameEmoji,越狱非越狱都支持,越狱设备,修改源码里ip直接build到手机上。非越狱设备请自行build,注入,重签名打包。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3