如何将场测的部分 MMS,SMS 本地复现

来源:互联网 发布:商业源码网 编辑:程序博客网 时间:2024/06/05 00:44

转载自zuopiezi_809的博文:

如何将场测的部分 MMS,SMS 本地复现


MMS接收彩信为例。

一, 抓取TCP DUMP数据

1, 连接手机,在接收MMS前, adb shell tcpdump -i any -p -s 0 -w /data/capture.pcap (这个名字可以自己命名)

2, 收完彩信完毕后, adb pull /data/capture.pcap

3, 在adb 文件夹下 找到 capture.pcap .

二 替换代码:

 pduparser.java文件中, parse 函数 将 步骤1中抓取的数据替换


    public GenericPdu parse(){
        if (mPduDataStream == null) {
            return null;
        }

byte[] data = {(byte)0x8c, (byte)0x84, (byte)0x98, (byte)0x32, (byte)0x74, (byte)0x69,
(byte)0x64, (byte)0x63, (byte)0x6d, (byte)0x6d, (byte)0x73, (byte)0x36, (byte)0x31, (byte)0x34,
(byte)0x35, (byte)0x37, (byte)0x30, (byte)0x35, (byte)0x36, (byte)0x32, (byte)0x30, (byte)0x32,

 mPduDataStream = new ByteArrayInputStream(data);

三, 接收MMS

 提前准备好1彩信通知,接收 就执行了替换的代码。


SMS 同样也采用替换的方法

在SMSMessage.java文件中, parsePdu函数

替换 pdu

    Log.e(LOG_TAG, "   parsePdu   " + IccUtils.bytesToHexString(pdu));

pdu =  IccUtils.hexStringToBytes(替换的数据)
原创粉丝点击