微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > CC2541上微信的加密和解密

CC2541上微信的加密和解密

时间:10-02 整理:3721RD 点击:

CC2541上微信的加密和解密


CC2541连接微信有两种,一个是精简协议,一个是完整协议,精简协议没有身份验证和加解密,而且要使用特殊的 APK 来调试,完整版的 APK 就是使用微信,而且身份验证和加解密都需要,广播包和扫描返回包相同,但是特征值也不同。
CC2541 上微信的 IAR 工程中有一个 pb_example.c 和 pb_example.h
pb_example.h 中有以下两个函数
extern uint8_t Pack_Data(uint16 EmCmdIDData) ;
extern uint8_t UnPack_Data(uint8_t *buf, int buf_len) ;
uint8_t Pack_Data(uint16 EmCmdIDData) ;
文件加密打包副程式
回傳值:加密打包的結果
              PACK_OK                                        0
              回傳打包OK
              ERR_EMCMDID                             1
              回傳錯誤的命令號
              ERR_LEN                                         2
              回傳錯誤的長度
EmCmdIDData:
藍牙設備傳給微信或後台的命令號
             ECI_req_auth                                   10001
             登录包
             ECI_req_sendData                           10002
             蓝牙設備發送數據給微信或是廠商
             ECI_req_init                                    10003
             初始化包
產生數據:
             PackProtobufData[PACKLEN];
            打包好的數據包
            PackProtobufLen ;
            要送出的資料長度
uint8_t UnPack_Data(uint8_t*buf,int buf_len) ;
文件解密解包副程式
回傳值:解包的回傳值
             UNPACK_OK                                   0
             回傳解包 OK
             UNPACK_CONTINUOUS                     1
             回傳尚在解包表示資料未收完
             ERR_MAGICNUMBER                  2
             回傳錯誤的定長包頭第一筆資料
             ERR_BVER                                      3
             回傳錯誤的包格式版本號
             ERR_UNPACKLEN                         4
             回傳錯誤的資料長度
             PUSH_REC_DATA                          81
             回傳表示有收到微信或是廠商發送數據給藍牙設備
             PUSH_SWITCHVIEW                    82
             回傳表示進入或退出界面
             PUSH_SWITCHBACKGROUD            83
             回傳切換後台
*buf:解包解密的數據表
buf_len :要解包的資料長度
这两个函数不需要知道详细工作原理,只要知道它的作用是加密和解密就好了,但是要清楚地知道在哪里调用,什么时候调用。
ps:这都不知道你还干个屁啊。

高科技,智能技术性问题果然只要工程级别的人才了解啊

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top