windows moblie 5.0在托管程序中实现短信接收和拦截

曾经尝试只用.net cf 在手机(windows moblie 5.0)中实现短信的接收,而同时拦截手机本身的短信提示,代码如下:

private void Form1_Load(object sender, EventArgs e) {

interceptor = new MessageInterceptor(); interceptor.InterceptionAction = InterceptionAction.NotifyAndDelete; interceptor.MessageReceived += new MessageInterceptorEventHandler(interceptor_MessageReceived); }

void interceptor_MessageReceived(object sender, MessageInterceptorEventArgs e) { SmsMessage msg = e.Message as SmsMessage; this.txtMessage.Text =”发件人:”+msg.From.Address +”,内容:” +msg.Body +”时间:”+msg.Received.ToString(“yyyy年MM月dd日 MM时mm分ss秒”)

}

上述程序是通过在窗体加载时委托一个拦截短信事件,虽然实现我想要的功能,但有个确定,当应用程序不处于被激活的状态,就无效了。后来在ms的网站上找到一份资料:Receiving SMS Messages Inside a Managed Application,可以来实现我想要的这个功能,原理简单来说是修改手机的注册表,手机短信程序启动后加载dll文件,把拦截规则注入,然后通过.net cf 程序来获得拦截的短信。本质上说,不是“拦截”,只是把短信直接删除到“废件箱”,仿佛“拦截”了 实现条件:

1、安装Windows Mobile 5.0 Pocket PC SDK

2、 开发工具 vs2005

3、安装实例程序:http://www.microsoft.com/downloads/details.aspx?FamilyId=98CCF3D4-DB7C-4A7D-A323-53BBDBBE0420&displaylang=en

方法:

1、用vs ++ 2005 打开实例程序中的Mapirule(在D:\Program Files\.NET Compact Framework Samples\Receiving SMS Messages\Code\Mapirule中,假定你的安装目录是D:\Program Files),在这个提供的c++中只实现了“短信内容中”包含“zzz”字符的短信拦截,我修改了一下,可以实现对所有短信的拦截: 源代码 :mapirule.cpp

不过要这个c++的项目编译通过,并生成一个setup文件,还必须安装一个微软提供的一个证书文件,在

安装Windows Mobile 5.0 Pocket PC SDK后会在D:\Program Files\Windows CE Tools\wce500\Windows

Mobile 5.0 Pocket PC SDK\Tools 下有个SDKSamplePrivDeveloper.pfx,直接双击安装,安装过程很简

单(安装过程中有个提示需要输入密码,不必理会,直接点下一步就可以了),这个证书是ms对开发者

用作测试用的,有效期到2009年。编译通过后,在手机上运行setup.exe文件,安装完成后注意一定要重

启手机。

2.编写net cf程序 :参考(D:\Program Files\.NET Compact Framework Samples\Receiving SMS

Messages\Code\CaptureSMS) 源文件:SMSListener.cs 源文件:frmHProcess.cs

上述程序,改造一下,可以拦截垃圾短信 环境:在vs2005+windows mobile 5.0 +多普达818测试通过。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏鸡蛋君

防止暴力破解,请更换SSH默认端口

1362
来自专栏张善友的专栏

SimpleMembershipProvider 和 OAuth

ASP.NET MVC 4带了一个新的Membership 系统,Jon Galloway 写了一篇很详细的博客《SimpleMembership, Membe...

18310
来自专栏后端云

Collectd 和 InfluxDB 的部署和使用

$ sudo apt-get update $ sudo apt-get upgrade $ sudo reboot

1235
来自专栏菩提树下的杨过

FckEditor 2.6.4升级手记

说是升级,其实就是把原来的版本替换掉 1.先到www.fckeditor.net上下载fckeditor(html/js包)和fckeditor.net(专用...

1997
来自专栏黑白安全

内网提权中常用命令

C:\Users\thel3l> systeminfo | findstr /B /C:"OS Name" /C:"OS Version" OS Name: M...

622
来自专栏玄魂工作室

实战-如何获取安卓iOS上的微信聊天记录、通过Metasploit控制安卓

在这篇文章中我们将讨论如何获取安卓、苹果设备中的微信聊天记录,并演示如何利用后门通过Metasploit对安卓设备进行控制。文章比较基础、可动手性强,有设备的童...

4899
来自专栏技术博客

Asp.Net Web API 2第十七课——Creating an OData Endpoint in ASP.NET Web API 2(OData终结点)

  很久没更新博客了,加上刚过年,现在准备重新开战,继续自己的学习之路。本文已同步到Web API2系列文章中http://www.cnblogs.com/ae...

622
来自专栏前端新视界

构建具有用户身份认证的 React + Flux 应用程序

React 的生态系统很大,为了解决 React 中比较困难的问题,你可以选择多种模块。大多数实际的 React 应用程序都有一些共同的需求,这些需求主要包括状...

1030
来自专栏SDNLAB

网络操作系统VyOS安装与初步使用

前言 VyOS是一个基于Debian的网络操作系统,是Vyatta的社区fork。通过这套系统,能在x86平台提供路由,防火墙和VPN的功能。本文就对它的安装进...

42610
来自专栏散尽浮华

[原创]CI持续集成系统环境---部署gerrit环境完整记录

开发同事提议在线上部署一套gerrit代码审核环境,废话不多说,部署gerrit的操作记录如下: 提前安装好java环境,mysql环境,nginx环境 测试系...

2489

扫码关注云+社区