精华内容
下载资源
问答
  • 微信协议

    千次阅读 2019-10-18 13:31:09
    安卓微信的api,个人微信开发API协议,微信 ipad sdk,微信ipad协议,微信web版接口api,微信网页版接口,微信电脑版sdk,微信开发sdk,微信开发API,微信协议,微信接口文档sdk,替代微信ipad协议的api接口,网页...

    安卓微信的api,个人微信开发API协议,微信 ipad sdk,微信ipad协议,微信web版接口api,微信网页版接口,微信电脑版sdk,微信开发sdk,微信开发API,微信协议,微信接口文档sdk,替代微信ipad协议的api接口,网页个人微信api分享
    1、基础消息类型
    1、客户端发送的心跳包HeartBeatReq = 1001; 
    2、消息接收确认回复(接收或拒绝接收)MsgReceivedAck = 1002; 
    3、错误单独提升为一种消息类型Error = 1003; 
    4、通用任务执行结果通知TaskResultNotice = 1025; 
    2、设备客户端授权类消息
    1、设备(手机客户端、客服客户端)获取通信token请求与响应DeviceAuthReq = 1010; 
    设备(手机客户端、客服客户端)获取通信token响应DeviceAuthRsp = 1011;
    2、设备授权后退出(仅用于服务端内部)DeviceExitNotice = 1012; 
    3、账号强制下线通知 AccountForceOfflineNotice = 1013; 
    3、手机客户端上传的通知类消息
    1、手机客户端微信上线通知 WeChatOnlineNotice = 1020; 
    2、手机客户端微信下线通知 WeChatOfflineNotice = 1021; 
    3、微信个人号新增好友通知FriendAddNotice = 1022;
    4、微信个人号移除好友通知FriendDelNotice = 1023; 
    5、微信好友发来聊天消息通知FriendTalkNotice = 1024; 
    6、手机上回复好友的聊天消息通知WeChatTalkToFriendNotice = 1026; 
    7、有好友请求添加好友的通知FriendAddReqeustNotice = 1027; 
    8、手机上发送了朋友圈通知CircleNewPublishNotice = 1031; 
    9、手机上删除朋友圈返回通知CircleDelNotice = 1032; 
    10、手机检测到有人点赞/取消点赞通知CircleLikeNotice = 1033; 
    11、手机检测到有人评论/删除朋友圈通知CircleCommentNotice = 1034; 
    12、消息标记为已读PostMessageReadNotice = 1035; 
    13、群聊新增通知ChatRoomAddNotice = 1037; 
    14、群聊信息变更通知ChatRoomChangedNotice = 1042;
    15、群聊删除通知返回ChatRoomDelNotice = 1041; 
    16、联系人标签新增,修改通知ContactLabelAddNotice = 1038; 
    17、联系人标签删除通知ContactLabelDelNotice = 1044; // 联系人标签删除通知
    18、新增公众号通知BizContactAddNotice = 2038; // 新增公众号通知
    19、手机端推送当前sdk的安装版本通知PostDeviceInfoNotice = 2027; 
    4、服务端、客服客户端发给设备的指令类消息(sdk咨询微信836869520)
    1、给好友发消息任务TalkToFriendTask = 1070; 
    返回聊天执行结果TalkToFriendTaskResultNotice = 1028; 
    2、发送朋友圈任务及结果返回PostSNSNewsTask = 1071; 
    返回发送朋友圈数据结果PostSNSNewsTaskResultNotice = 1073; 
    3、删除朋友圈任务与结果返回DeleteSNSNewsTask = 1074; 
    返回通用任务执行结果
    4、主动添加好友任务及返回结果AddFriendsTask = 1072; 
    返回通用任务执行结果
    5、接受好友请求任务及返回结果AcceptFriendAddRequestTask = 1075; 
    返回通用任务执行结果
    6、群发消息任务WeChatGroupSendTask = 1076; 
    返回通用任务执行结果
    7、执行养号动作命令任务WeChatMaintenanceTask = 1077; 
    返回通用任务执行结果
    8、养号任务停止任务及返回结果PostStopWeChatMaintenanceTask = 1100; 
    返回通用任务执行结果
    9、清粉任务及返回结果PostFriendDetectTask = 1095; 
    返回:每隔一段时间手机端回传检测清粉好友数PostFriendDetectCountNotice = 2028; 
    10、终止清粉任务及返回结果PostStopFriendDetectTask = 1096; 
    返回通用任务执行结果
    11、请求聊天图片或视频消息的详细内容任务与结果返回RequestTalkDetailTask = 1078; 
    返回聊天图片或视频消息的详细内容结果RequestTalkDetailTaskResultNotice = 1029; 
    12、要求手机上传当前微信二维码任务及返回PullWeChatQrCodeTask = 1079; 
    返回手机端微信的二维码PullWeChatQrCodeTaskResultNotice = 1030; 
    13、触发手机推送好友列表任务及结果返回TriggerFriendPushTask = 1080; 
    返回一:手机端推送好友列表(分页,每页100)FriendPushNotice = 2026;
    返回二:手机端推送标签列表
    14、触发手机推送朋友圈列表任务及结果返回TriggerCirclePushTask = 1081; 
    返回手机朋友圈数据(分页,每页20)CirclePushNotice = 2029; 
    15、朋友圈评论删除任务及结果返回CircleCommentDeleteTask = 1082; 
    朋友圈评论删除任务反馈 CircleCommentDeleteTaskResultNotice = 1083; 
    16、朋友圈评论回复任务及结果返回CircleCommentReplyTask = 1084; 
    朋友圈评论回复反馈CircleCommentReplyTaskResultNotice = 1085; 
    17、通知手机将某个聊天窗口置为已读TriggerMessageReadTask = 1086; 
    无返回
    18、消息撤回任务RevokeMessageTask = 1087; 
    返回通用任务执行结果
    19、转发消息任务ForwardMessageTask = 1088;
    返回通用任务执行结果
    20、通知手机推送历史聊天记录任务及返回TriggerHistoryMsgPushTask = 1089; 
    返回历史消息(分页,每页50)HistoryMsgPushNotice = 2033; 
    21、获取群聊二维码任务及结果返回PullChatRoomQrCodeTask = 1090; 
    返回群二维码PullChatRoomQrCodeTaskResultNotice = 1043;
    22、朋友圈点赞任务及结果返回PostMomentsPraiseTask = 1098; 
    返回朋友圈点赞数量PostMomentsPraiseCountNotice = 2030; 
    23、停止朋友圈点赞任务PostStopMomentsPraiseTask = 1099; 
    返回通用任务执行结果
    24、修改联系人备注任务ModifyFriendMemoTask = 1101; 
    返回通用任务执行结果
    25、领取红包或转账收钱任务及返回TakeLuckyMoneyTask = 1200; 
    返回收钱任务执行结果TakeMoneyTaskResultNotice = 1039; 
    26、获取指定好友朋友圈任务及返回PullFriendCircleTask = 1201; 
    返回手机朋友圈数据CirclePushNotice = 2029; 
    27、获取朋友圈的图片任务及返回PullCircleDetailTask = 1202; 
    返回朋友圈图片上传信息CircleDetailNotice = 1040; 
    28、单条朋友圈点赞任务CircleLikeTask = 1203; 
    返回通用任务执行结果
    29、触发手机推送群聊列表任务及结果返回TriggerChatroomPushTask = 1210; 
    返回一:手机端推送群聊列表(分页,每页2个)ChatroomPushNotice = 2031; 
    返回二:群成员(陌生人)信息列表(分页,每页100)ChatRoomMembersNotice = 2034; 
    30、请求具体群聊的详细信息任务RequestChatRoomInfoTask = 1211; 
    返回ChatRoomAddNotice 群聊新增通知
    31、获取联系人详细信息任务及返回
    (不一定是好友,如群聊成员)RequestContactsInfoTask = 1212; 
    返回联系人信息ContactsInfoNotice = 1036; 
    32、群聊管理任务及返回ChatRoomActionTask = 1213; 
    返回通用任务执行结果
    返回群聊通知类返回结果
    33、群内加好友任务AddFriendInChatRoomTask = 1214;
    返回通用任务执行结果
    34、通讯录加好友任务AddFriendFromPhonebookTask = 1215; 
    返回通用任务执行结果
    35、删除好友任务及返回DeleteFriendTask = 1216;  
    返回通用任务执行结果
    微信个人号移除好友通知
    36、发红包任务及返回  
    github地址https://www.wuliaokankan.cn/url301/138.html

    SendLuckyMoneyTask = 1217; 返回:通用任务执行结果,成功ErrMsg=sendId
    37、获取聊天消息的原始内容(主要是xml内容)任务及返回RequestTalkContentTask = 1218; 
    返回聊天消息的原始内容RequestTalkContentTaskResultNotice = 1219; 
    38、转发消息内容任务及返回ForwardMessageByContentTask = 1220; 
    返回通用任务执行结果
    39、群主通过入群申请任务及返回ChatRoomInviteApproveTask = 1221;
    返回通用任务执行结果
    40、设置联系人标签任务及返回ContactLabelTask = 1224; // 设置联系人标签
    返回联系人标签新增,修改通知;
    返回通用任务执行结果
    41、删除联系人标签任务及返回ContactLabelDeleteTask = 1225; // 删除联系人标签
    返回通用任务执行结果
    返回联系人标签删除通知
    42、语音消息转文字命令及返回VoiceTransTextTask = 1226; // 语音消息转文字
    返回:通用任务执行结果,成功ErrMsg=文字内容
    43、查找微信联系人任务及返回FindContactTask = 1227; // 查找微信联系人
    返回查找微信联系人结果
    FindContactTaskResult = 1228; // 查找微信联系人结果
    44、同意加入群聊命令及返回AgreeJoinChatRoomTask = 1229; // 同意加入群聊
    返回通用任务执行结果
    45、清空聊天记录任务及返回ClearAllChatMsgTask= 1230; // 清空聊天记录
    返回通用任务执行结果
    46、聊天界面发送朋友验证任务及返回(别人把你删掉了,你发消息会出现一个发送朋友验证的链接,此处有用到)
    返回通用任务执行结果
    47、获取会话列表任务及返回TriggerConversationPushTask = 1232; // 会话列表推送
    返回聊天会话列表(分页)ConversationPushNotice = 2035; // 会话列表
    48、微信设置(改昵称,头像)任务及返回WechatSettingTask = 1233; // 微信设置:改昵称,头像
    返回通用任务执行结果
    49、获取加好友请求列表任务及返回结果PullFriendAddReqListTask = 1234; //获取加好友请求列表
    返回请求加好友列表FriendAddReqListNotice = 2036; // 加好友请求列表
    50、获取公众号列表任务及结果返回TriggerBizContactPushTask = 1235; // 获取公众号列表
    返回公众号列表BizContactPushNotice = 2037; // 公众号列表推送
    51、获取时间段内的所有聊天消息msgSvrId及结果返回TriggerChatMsgIdsPushTask = 1251;
    52、名片加好友任务及结果返回AddFriendNameCardTask = 1236; // 名片加好友
    返回通用任务执行结果
    53、根据msgSvrId获取聊天消息及结果返回RequestTalkMsgTask = 1252;  // 根据msgSvrId获取聊天消息
    返回RequestTalkMsgTaskResultNotice = 1253;  
    5、服务端通知执行的命令 微信sdk
    1、微信账号登出命令WechatLogoutTask = 1222;
    无返回;微信退出会触发微信离线通知(WeChatOfflineNoticeMessage)
    2、手机操作指令(重启手机等)PhoneActionTask = 1223; // 手机操作指令
    返回:通用任务执行结果,(上传本地文件:ErrMsg=文件url)
    3、通知手机客户端软件升级UpgradeDeviceAppNotice = 1094; 
    无返回
    4、服务端删除设备通知手机端PostDeleteDeviceNotice = 1097; 
    无返回
    安卓微信的api,个人微信开发API协议,微信 ipad sdk,微信ipad协议,微信web版接口api,微信网页版接口,微信电脑版sdk,微信开发sdk,微信开发API,微信协议,微信接口文档sdk,替代微信ipad协议的api接口,网页个人微信api分享


    展开全文
  • ipad微信协议 安卓微信协议

    千次阅读 2019-06-17 18:21:08
    ipad微信协议,安卓-ipad-协议 ipad微信协议,集成api 1、基础消息类型 安卓-ipad-协议, 1、客户端发送的心跳包 安卓-ipad-协议 HeartBeatReq = 1001; ipad微信协议,集成api ipad微信协议,集成api 2、消息接收确认...

    ipad微信协议,安卓-ipad-协议
    ipad微信协议,集成api
    1、基础消息类型
    安卓-ipad-协议,
    1、客户端发送的心跳包
    安卓-ipad-协议
    HeartBeatReq = 1001;
    ipad微信协议,集成api
    ipad微信协议,集成api
    2、消息接收确认回复(接收或拒绝接收)

    MsgReceivedAck = 1002;

    3、错误单独提升为一种消息类型

    Error = 1003;
    2、设备客户端授权类消息

    1、设备(手机客户端、客服客户端)获取通信token请求

    DeviceAuthReq = 1010;

    2、设备(手机客户端、客服客户端)获取通信token响应

    DeviceAuthRsp = 1011;

    3、设备授权后退出(仅用于服务端内部)

    DeviceExitNotice = 1012;

    4、账号强制下线通知

    AccountForceOfflineNotice = 1013;
    3、手机客户端上传的通知类消息

    1、手机客户端微信上线通知

    WeChatOnlineNotice = 1020;

    2、手机客户端微信下线通知

    WeChatOfflineNotice = 1021;

    3、微信个人号新增好友通知

    FriendAddNotice = 1022;

    4、微信个人号移除好友通知

    FriendDelNotice = 1023;

    5、微信好友发来聊天消息

    FriendTalkNotice = 1024;

    6、任务执行结果通知

    TaskResultNotice = 1025;

    7、手机上回复好友的聊天消息

    WeChatTalkToFriendNotice = 1026;

    8、有好友请求添加好友的通知

    FriendAddReqeustNotice = 1027;

    9、手机端向服务
    HeartBeatReq = 1001;

    2、消息接收确认回复(接收或拒绝接收)

    MsgReceivedAck = 1002;

    3、错误单独提升为一种消息类型

    Error = 1003;
    2、设备客户端授权类消息

    1、设备(手机客户端、客服客户端)获取通信token请求通知聊天执行结果

    TalkToFriendTaskResultNotice = 1028;

    10、图片或视频消息的详细内容结果

    RequestTalkDetailTaskResultNotice = 1029;

    11、上传手机客户端上微信的二维码

    PullWeChatQrCodeTaskResultNotice = 1030;

    12、手机上发送了朋友圈通知

    CircleNewPublishNotice = 1031;

    13、手机上删除朋友圈通知

    CircleDelNotice = 1032;

    14、手机检测到有人点赞/取消点赞通知

    CircleLikeNotice = 1033;

    15、手机检测到有人评论/删除朋友圈通知

    CircleCommentNotice = 1034;

    16、消息标记为已读

    PostMessageReadNotice = 1035;

    17、联系人信息上传
    HeartBeatReq = 1001;

    2、消息接收确认回复(接收或拒绝接收)

    MsgReceivedAck = 1002;

    3、错误单独提升为一种消息类型

    Error = 1003;
    2、设备客户端授权类消息

    1、设备(手机客户端、客服客户端)获取通信token请求

    ContactsInfoNotice = 1036;

    18、群聊新增通知

    ChatRoomAddNotice = 1037;

    19、联系人标签新增,修改通知

    ContactLabelAddNotice = 1038;

    20、收钱任务执行结果通知

    TakeMoneyTaskResultNotice = 1039;

    21、朋友圈图片上传

    CircleDetailNotice = 1040;

    22、群聊删除通知

    ChatRoomDelNotice = 1041;

    23、群聊信息变更通知

    ChatRoomChangedNotice = 1042;

    24、群二维码

    PullChatRoomQrCodeTaskResultNotice = 1043;
    4、服务端、客服客户端发给设备的指令类消息

    HeartBeatReq = 1001;

    2、消息接收确认回复(接收或拒绝接收)

    MsgReceivedAck = 1002;

    3、错误单独提升为一种消息类型

    Error = 1003;
    2、设备客户端授权类消息

    1、设备(手机客户端、客服客户端)获取通信token请求
    1、给好友发消息任务

    TalkToFriendTask = 1070;

    2、发送朋友圈任务

    PostSNSNewsTask = 1071;

    3、主动添加好友任务

    AddFriendsTask = 1072;

    4、发送朋友圈任务后数据回传

    PostSNSNewsTaskResultNotice = 1073;

    5、删除朋友圈
    HeartBeatReq = 1001;

    2、消息接收确认回复(接收或拒绝接收)

    MsgReceivedAck = 1002;

    3、错误单独提升为一种消息类型

    Error = 1003;
    2、设备客户端授权类消息

    1、设备(手机客户端、客服客户端)获取通信token请求

    DeleteSNSNewsTask = 1074;

    6、客户端或者服务端接受好友请求通知

    AcceptFriendAddRequestTask = 1075;

    7、群发消息任务

    WeChatGroupSendTask = 1076;

    8、执行养号动作命令

    WeChatMaintenanceTask = 1077;

    9、请求图片或视频消息的详细内容

    RequestTalkDetailTask = 1078;

    10、服务端主动要求手机上传当前登录的微信二维码

    PullWeChatQrCodeTask = 1079;

    11、触发手机推送好友列表任务

    TriggerFriendPushTask = 1080;

    12、触发手机推送朋友圈列表任务

    TriggerCirclePushTask = 1081;

    13、朋友圈评论删除任务

    CircleCommentDeleteTask = 1082;

    HeartBeatReq = 1001;

    2、消息接收确认回复(接收或拒绝接收)

    MsgReceivedAck = 1002;

    3、错误单独提升为一种消息类型

    Error = 1003;
    2、设备客户端授权类消息

    1、设备(手机客户端、客服客户端)获取通信token请求
    14、朋友圈评论删除任务反馈

    CircleCommentDeleteTaskResultNotice = 1083;

    15、朋友圈评论回复任务

    CircleCommentReplyTask = 1084;

    16、朋友圈评论回复反馈

    CircleCommentReplyTaskResultNotice = 1085;

    17、通知手机将某个聊天窗口置为已读

    TriggerMessageReadTask = 1086;

    18、消息撤回

    RevokeMessageTask = 1087;

    19、转发消息

    ForwardMessageTask = 1088;

    20、通知手机推送聊天记录

    TriggerHistoryMsgPushTask = 1089;

    21、获取群聊二维码

    PullChatRoomQrCodeTask = 1090;
    5、服务端通知执行的命令

    1、服务端通知pc客户版本升级

    UpgradeAppNotice = 1093;

    2、通知手机客户端软件升级

    UpgradeDeviceAppNotice = 1094;

    3、清粉任务

    PostFriendDetectTask = 1095;

    4、终止清粉任务

    PostStopFriendDetectTask = 1096;

    5、删除设备通知

    PostDeleteDeviceNotice = 1097;

    6、朋友圈点赞任务

    PostMomentsPraiseTask = 1098;

    7、停止朋友圈点赞任务

    PostStopMomentsPraiseTask = 1099;

    8、养号任务停止

    PostStopWeChatMaintenanceTask = 1100;

    9、修改备注任务

    ModifyFriendMemoTask = 1101;

    10、领取红包或转账

    TakeLuckyMoneyTask = 1200;

    11、获取指定好友朋友圈

    PullFriendCircleTask = 1201;

    12、获取朋友圈图片

    PullCircleDetailTask = 1202;

    13、单条朋友圈点赞任务

    CircleLikeTask = 1203;

    14、触发手机推送群聊列表

    TriggerChatroomPushTask = 1210;

    15、请求具体群聊的详细信息

    RequestChatRoomInfoTask = 1211;

    16、获取联系人详细信息(不一定是好友,如群聊成员)

    RequestContactsInfoTask = 1212;

    17、群聊管理

    ChatRoomActionTask = 1213;

    18、群内加好友

    AddFriendInChatRoomTask = 1214;

    19、通讯录加好友

    AddFriendFromPhonebookTask = 1215;

    20、删除好友

    DeleteFriendTask = 1216;

    21、发红包

    SendLuckyMoneyTask = 1217;

    22、获取聊天消息的原始内容(主要是xml内容)

    RequestTalkContentTask = 1218;

    23、返回聊天消息的原始内容

    RequestTalkContentTaskResultNotice = 1219;

    24、转发消息内容

    ForwardMessageByContentTask = 1220;
    6、手机端主动发出的交互类消息

    1、手机端推送好友列表

    FriendPushNotice = 2026;

    2、手机端推送当前安装版本

    PostDeviceInfoNotice = 2027;

    3、手机端回传检测清粉好友数

    PostFriendDetectCountNotice = 2028;

    4、手机回传朋友圈数据

    CirclePushNotice = 2029;

    5、手机回传朋友圈点赞数量

    PostMomentsPraiseCountNotice = 2030;

    9、手机端推送群聊列表

    ChatroomPushNotice = 2031;

    7、手机端推送标签列表

    ContactLabelInfoNotice = 2032;

    8、推送历史消息

    HistoryMsgPushNotice = 2033;

    9、群成员(陌生人)信息

    原文:https://blog.csdn.net/qq_28571977/article/details/89282412

    展开全文
  • 易语言 微信协议

    2017-07-15 15:08:45
    易语言 微信协议
  • 仓库仅为示例代码,仅供参考学习,最新版微信协议基于微信8.x内核,C#开发 C#版本为自主研发,微信8.0内核,非市面流行的7.x,联系方式不再这里放,以免有广告嫌疑。 仓库地址:...

    这是我在github上看到的,应该是目前的最新版本了,代码及供学习交流。

    仓库仅为示例代码,仅供参考学习,最新版微信协议基于微信8.x内核,C#开发

    C#版本为自主研发,微信8.0内核,非市面流行的7.x,联系方式不再这里放,以免有广告嫌疑。

     

    仓库地址:https://github.com/wechat-apis/wechat-go

     

     

    展开全文
  • 法国学者Georges Bossert和Frédéric Guihéry开发,以及PDF香港中文大学微信协议分析论文
  • WEB微信协议

    2016-01-30 16:43:49
    最详细的WEB微信协议,需要的自己下载,里面包含了WEB微信最详细的接口协议!
  • 易语言微信协议源码最新2018,基于最新的微信协议 实现了发送消息,接受消息,获取好友列表,群列表等
  • C#微信协议源码DEMO

    2018-11-16 16:57:55
    C#微信协议源码DEMO,暂时一些基本信息,扫码登录、用户、通讯录等一些普通信息
  • 网页版微信协议源码
  • 网页版微信协议源码
  • 微信协议

    千次阅读 2018-12-19 19:00:09
    一、查资料         网上没找到SDK可以分析,关于微信安卓协议的文章也比较少,...微信协议简单调研笔记>帖子里提到微信使用长短链接结合的网络通讯方式以及基于sync k...

    一、查资料
            网上没找到SDK可以分析,关于微信安卓协议的文章也比较少,比较有用的是<微信交互协议和加密模式研究>,这篇论文里介绍了微信使用RSA2048与AES-CBC-128结合的加密算法以及使用protobuf编码格式传输数据;<微信协议简单调研笔记>帖子里提到微信使用长短链接结合的网络通讯方式以及基于sync key的消息同步机制;<基于TLS1.3的微信安全通信协议mmtls介绍>详细讲解了类似于https中TLS作用的mmtls协议;<微信安卓客户端逆向分析>通过举例拦截聊天记录详细演示了安卓微信客户端分析的过程.

    二、准备工作
            工具除了安卓反编译常用打包解包软件以及查看java代码的软件,还可以用XSearch方便在大量smali汇编文件中快速搜索字符串,Wireshark用于抓包,Android Studio动态调试smali汇编代码,IDA静态分析so文件,WinHex用于编辑二进制文件.
           微信底层使用自家开源的跨平台通讯库mars,该库包含xlog模块,详尽记录了微信几乎所有主要函数调用流程,开启log可以极大地方便动态分析,研究mars库也有助于理解微信与服务器交互流程.
           由于mmtls无法中间人攻击,所以抓包无法获取短链接HTTP通讯的明文数据;考虑到兼容性微信允许在不使用mmtls的情况下通讯,所以关闭mmtls有助于协议分析.
           由于长链接含有包头不利于分析,考虑到稳定性微信允许在不使用长链接的情况下通讯,所以禁用长链接有利于协议分析.

    三、二次打包客户端
            微信允许非官方签名的客户端运行,但是会校验签名并上报异常数据.最近因使用非官方客户端封号的风控策略越来越严格,运行二次打包客户端时要做好被封号准备,或者使用XP插件Hook代码,或者patch掉获取软件签名的代码或者禁掉上传异常数据的封包,总之这不是本文的重点.如果反编译工具直接打包失败,可以只重新编译dex文件,然后替换到原来的apk中.
           从mars库的Xlog文档中可以知道setConsoleLogOpen接口负责开启控制台log,在反汇编代码中搜索这句代码的调用"->setConsoleLogOpen",找到XLogSetup.smali文件直接修改Lcom/tencent/mars/xlog/Xlog;->setConsoleLogOpen的调用参数即开启log.搜索getLogLevel最终可以在Lcom/tencent/mm/sdk/platformtools/下面找到输出Log等级的定义,从6改为0即可打印所有等级的log.logcat里可以通过"MicroMsg""mars"两个tag来分别过滤java层和native层的log.
           运行开启Log的客户端,过滤tag为"mmtls"的日志,可以找到"Java_com_tencent_mars_mm_MMLogic_setMmtlsCtrlInfo"函数打印的log:

    1
    I/mars::mmext(12496): [com_tencent_mars_mm_MMLogic_Java2C.cc, Java_com_tencent_mars_mm_MMLogic_setMmtlsCtrlInfo, 299]:j_use_mmtls=1
           从函数名可以猜出这是java调用jni控制开启mmtls的接口,在反汇编代码中搜索";->setMmtlsCtrlInfo"找到调用的代码,修改参数为0关闭mmtls.
           从mars库中可以看出,长链接使用mars/stn/src/longlink.cc文件的LongLink::__RunConnect函数连接服务器,解压apk搜索字符串"longlink.cc"可知mars库编译出的文件为libwechatnetwork.so,在二进制文件中结合IDA patch掉该函数返回值可以禁用长链接;从mars文档也可以看出上层需要调用mars::stn::MakesureLonglinkConnected();启用长链接,在smali代码中搜索调用";->makesureLongLinkConnected"的代码注释掉也可关闭长链接.

    四、抓包
            使用安卓模拟器或用手机连接电脑开启的wifi,运行二次打包处理的客户端,使用Wireshark工具即可抓到微信短链接的HTTP协议封包了.比如登录包可以抓到使用POST方法向/cgi-bin/micromsg-bin/manualauth 发送了1183字节长度的数据,数据是被加密的:

    <微信安卓客户端逆向分析>文章中提到数据是被libMMProtocalJni.so这个库加密的,使用IDA查看该库的jni接口:

    可以看到"Java_com_tencent_mm_protocal_MMProtocalJni_pack"很可能是封包加密的接口,在smali反汇编代码中搜索调用该接口的代码"MMProtocalJni;->pack"如下:

    根据log tag"RemoteReq"以及"reqToBuf using protobuf ok"可以猜测这里就是protobuf明文加密封包的地方.接下来可以使用AS在smali这句代码上下断点观察参数与返回值,如果配置调试环境有困难,可以在smali代码中插log将参数与返回值打印并保存下来,方便后面分析.其中第二个参数类型是PByteArray,这是自定义的类型,需要打印的字节数组为该对象的value成员变量;使用Log.d在控制台打印时默认有4000字节的长度限制,超过的部分无法输出,插入log时注意将长log拆分多行输出.

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31
    #参数1:logtag,参数2:需要打印的bytes
    .method public static logX(Ljava/lang/String;[B)V
        .locals 8
        .prologue
        if-eqz p1, :cond_1
        #如果参数p1是PByteArray,要取其成员变量value
        #iget-object v1, p1, Lcom/tencent/mm/pointers/PByteArray;->value:[B
        move-object v1, p1
        #使用平台自带的将bytes转成string的函数,每个版本混淆函数名略有不同
        invoke-static {v1}, Lcom/tencent/mm/sdk/platformtools/bh;->bp([B)Ljava/lang/String;
        move-result-object v1
        invoke-virtual {v1}, Ljava/lang/String;->length()I
        move-result v2
        const v4, 0x0
        #超过4000字节长度的log,分行输出
        const v3, 0xfa0
        :goto_0
        if-ge v4, v2, :cond_1
        move v5, v4
        add-int/2addr v5, v3
        if-le v5, v2, :cond_0
        move v5, v2
        :cond_0
        invoke-virtual {v1, v4, v5}, Ljava/lang/String;->substring(II)Ljava/lang/String;
        move-result-object v6
        invoke-static {p0, v6}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
        move v4, v5
        goto :goto_0
        :cond_1
        return-void
    .end method

    作者:IT随笔
    来源:CSDN
    原文:https://blog.csdn.net/qq_21051503/article/details/79746742
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 微麒麟微信协议

    2013-04-30 16:33:19
    微麒麟微信协议
  • 微信演示 微信协议Demo源码:包括ipad,mac,pc三套,仅用于研究学习,不保证可以使用
  • 易语言微信ipad协议源码最新2018,基于最新的微信协议 实现了发送消息,接受消息,获取好友列表,群列表等
  • 利用Wireshark软件对微信协议的分析

    热门讨论 2013-11-01 12:13:50
    利用Wireshark软件对微信协议的分析,详细分析了微信协议应答的过程
  • 微信学习开发体验版.微信协议,微信控件,微信开发,Delphi,非公众号
  • 软件介绍: 最新更新发布的易语言微信协议源码,源码基于最新的微信协议,能够实现消息发送接收,信息获取,获得好友列表及群列表等功能。
  • 微信协议开发Demo,支持A16\62,欢迎大家一起学习讨论。 需要点击免费key按钮 ,获取免费key 哈!
  • 浙江大学城市学院 计算机网络实验 浙江大学城市学院实验报告 课程名称 计算机网络实验 实验项目名称 大作业 微信协议分析用wireshark等抓包软件 学生姓名 专业班级 学号 指导老师 日期 注意 实验报告文档文件名为...
  • 微信协议7.0.14

    2020-10-25 22:04:38
    代码从其他人csdn账号下载的,反编译了核心库Wechat.Protocol,已经附上了源码,截至2020-10-25号仍然可以使用。代码仅供学习,商业纠纷或账号被封后果与我无关。
  • 微信协议接口,ipad协议最新版 1、入群欢迎语 2、指定群管理员 3、群管理统计(活跃度、发言数、总人数、邀请数、退出数等) 4、群管理员踢人、群消息警告 5、群关键词回复,群智能客服 6、建群、拉人功能接口 7、多群...
  • 微信协议简单调研笔记

    千次阅读 2016-03-15 10:31:03
    微信可调研点很多,这里仅仅从协议角度进行调研,会涉及到微信协议交换、消息收发等。所谓“弱水三千,只取一瓢”吧。 杂七杂八的,有些长,可直接拉到最后看结论好了。 一。微信协议概览 微信传输协议,...
  • 使用wireshark抓包软件分析微信协议 计算机网络大作业 超级详细- -,不服找我,写了好久
  • 微信mac协议,可实现微信80%功能;支持62数据登录、扫码登录、收发朋友圈、查看朋友圈、微信建群、微信拉人进群、微信公众号阅读、微信消息收发、微信附近的人定位、微信添加好友、微信红包接收、微信防撤回、分享小...
  • pidgin-wechat, 用于网页微信协议的pidgin插件 关于pidgin微信pidgin-wechat 是 pidgin/libpurple 协议插件,它基于网页微信,支持基本的消息接收和图片接收。屏幕截图 插件生成你可以使用 cargo 来构建它。cargo ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 101,389
精华内容 40,555
关键字:

微信协议