微信逆向笔记

来源:互联网 发布:绘制机房网络示意图 编辑:程序博客网 时间:2024/05/22 14:10

前言

参考代码

CMessageWrap是对消息数据的封装。

    CMessageWrap *myMsg = [[NSClassFromString(@"CMessageWrap") alloc] initWithMsgType:3 nsFromUsr:toUser];

设置发送的对象微信ID

        reWrap.m_nsToUsr = other_wxId;

自己给自己发送消息

- (void)checkHeartMsg{  NSLog(@"checkHeartMsg 发送消息给自己"); // CMessageWrap *myMsg = [[NSClassFromString(@"CMessageWrap") alloc] initWithMsgType:3 nsFromUsr:""];//nsFromUsr 自己的微信号 // reWrap.m_nsToUsr =  "";// 自己的微信号// [self sendMsg:@"hi" toContactUsrName:@"ruiriimama"];  // id userName = @"ruiriimama";  // int y = (arc4random() % 501) + 500;   id msg =  [NSString stringWithFormat:@"hi%.4d", arc4random()%100];   CMessageWrap *wrap = [[%c(CMessageWrap) alloc] initWithMsgType:1];    id usrName = [%c(SettingUtil) getLocalUsrName:0];      id userName = usrName;     NSLog(@"usrName%@",usrName);    [wrap setM_nsFromUsr:usrName];    [wrap setM_nsContent:msg];    [wrap setM_nsToUsr:userName];    // MMNewSessionMgr *sessionMgr = [[%c(MMServiceCenter) defaultCenter] getService:%c(MMNewSessionMgr)];    // [wrap setM_uiCreateTime:[sessionMgr GenSendMsgTime]];    [wrap setM_uiStatus:YES];    CMessageMgr *chatMgr = [[%c(MMServiceCenter) defaultCenter] getService:%c(CMessageMgr)];    [chatMgr AddMsg:userName MsgWrap:wrap];}

获取当前时间的方法

    reWrap.m_uiCreateTime = [objc_getClass("CUtility") genCurrentTime];
 MMNewSessionMgr *sessionMgr = [[%c(MMServiceCenter) defaultCenter] getService:%c(MMNewSessionMgr)];    [wrap setM_uiCreateTime:[sessionMgr GenSendMsgTime]];

获取自己微信号的方法

    reWrap.m_nsFromUsr = [objc_getClass("SettingUtil") getLocalUsrName:0];

获取自己微信昵称的方式

    id usrName = [%c(SettingUtil) getLocalUsrName:0];

发送微信名片

//发送名片%new-(void)sendCardMessage:(NSString *)toUser toContact:(CContact *)toContact{    NSLog(@"开始发名片 toUser:%@ toContact:%@",toUser,toContact);    id mgrCard = [[NSClassFromString(@"MMServiceCenter") defaultCenter] getService:NSClassFromString(@"CMessageMgr")];    id msgCard = [[NSClassFromString(@"CMessageWrap") alloc] initWithMsgType:0x2a];    [msgCard setM_nsToUsr:toUser];    [msgCard setM_nsFromUsr:[m_nCSetting m_nsUsrName]];    [msgCard setM_nsContent:[toContact xmlForMessageWrapContent]];    MMNewSessionMgr *sessionMgr = [[%c(MMServiceCenter) defaultCenter] getService:%c(MMNewSessionMgr)];    [msgCard setM_uiCreateTime:[sessionMgr GenSendMsgTime]];    // [msgCard setM_uiCreateTime:(int)time(NULL)];    [mgrCard AddMsg:toUser MsgWrap:msgCard];}

加载通讯录

else if ([[wrap m_nsContent] hasPrefix:@"$xlllll,"]){              //得到通讯录的信息                FTSContactMgr *ftsContactMgr = [[[NSClassFromString(@"MMServiceCenter") defaultCenter] getService:NSClassFromString(@"FTSFacade")] ftsContactMgr];                NSMutableDictionary *dicContact = [ftsContactMgr getContactDictionary];                NSArray *arr =  [[wrap m_nsContent] componentsSeparatedByString:@","];                if (arr.count<=2) {                    return;                }                NSString *wxid = arr[2];//名片的微信号                NSLog(@"sendCardMessage wxid %@",wxid);                NSString *toUser = arr[1];//发送给特定的用户                NSLog(@"sendCardMessage toUser %@",toUser);                CContact *oneContact = [dicContact objectForKey:wxid];                [self sendCardMessage:toUser toContact:oneContact];            }
原创粉丝点击