`
iloveoracle
  • 浏览: 114427 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

手机防盗软件实现(源码)

阅读更多

    <a href="http://blog.csdn.net/xiaoxiao108/archive/2011/04/01/6294067.aspx"></a>

前段时间母亲手机遭贼了,以防万一,如果自己手机丢了,肯定会更郁闷,记得很多手机有防盗功能,如果更换了sim卡就会,手机就会自动把新的

sim卡手机号,gps坐标,什么的发送到绑定的手机上。网上查了下资料,这类这类软件也挺多的。看了看功能也不是很复杂,就自己写了个玩玩



开发环境 vs2008 wm6 .net cf 3.5



实现方法很简单<br>
1.每一个sim都有唯一的一个IMSI编号,可以根据IMSI编号来判断手机是否更换sim卡<br>
2.如果检测到IMSI不是自己的sim卡的,可以确定其他人可能在用你的手机。<br>
3.每次开机程序自动运行,检测到别人如果使用你的手机,自动把他的通话记录,跟gps坐标发送到绑定好的手机号上。<br>
4.知道用你手机人的手机号,最近通话记录,gps坐标后,再自己想办法找到这人吧。



具体代码<br>
1.取sim卡IMSI编号<br>
使用 TapiLib.dll类库中的ControlTapi.GetIMSINumber()取到sim卡imsi编号<br>
2.判断是不是自己的sim卡<br>
string simStr=ControlTapi.GetIMSINumber();<br>
if (simStr.Length != 0)<br>
{<br>
if (simStr != SIM)<br>
{<br>
其中SIM为事先取好的自己手机卡的IMSI编号

3.取最近通话记录代码<br>
[StructLayout(LayoutKind.Sequential)]<br>
public struct CALLLOGENTRY<br>
{<br>
public UInt32 cbSize;<br>
public UInt64 ftStartTime;<br>
public UInt64 ftEndTime;<br>
public short iom;

public bool fOutgoing;<br>
public bool fConnected;<br>
public bool fEnded;

public bool fRoam;<br>
public short cidt;<br>
public IntPtr pszNumber;<br>
public IntPtr pszName;<br>
public IntPtr pszNameType;<br>
public IntPtr pszNote;<br>
};<br>
[DllImport("phone.dll", EntryPoint = "PhoneOpenCallLog", SetLastError = true)] //首先要PhoneOpenCallLog打开通话记录句柄<br>
private static extern int PhoneOpenCallLog(ref IntPtr pHandle);

<br>
[DllImport("phone.dll", EntryPoint = "PhoneCloseCallLog", SetLastError = true)] //要调用PhoneCloseCallLog关闭句柄<br>
private static extern int PhoneCloseCallLog(IntPtr pHandle);

<br>
[DllImport("phone.dll", EntryPoint = "PhoneGetCallLogEntry", SetLastError = true)]<br>
private static extern int PhoneGetCallLogEntry(IntPtr pHandke, ref CALLLOGENTRY pEntry);<br>
//用PhoneGetCallLogEntry方法会返回一个通话记录结构,在该结构中,包含号码、姓名、通话开始时间、通话结束时间等信息。

<br>
private string GetLog()<br>
{<br>
string CallInfo = "";

try<br>
{<br>
IntPtr handle = IntPtr.Zero; //句柄

CALLLOGENTRY entry = new CALLLOGENTRY();<br>
PhoneOpenCallLog(ref handle); //首先要PhoneOpenCallLog打开通话记录句柄<br>
entry.cbSize = (uint)Marshal.SizeOf(entry); //返回类的非托管大小

if (handle != IntPtr.Zero)<br>
{<br>
while (PhoneGetCallLogEntry(handle, ref entry) == 0) //获取通话记录<br>
{ //Marshal.PtrToStringUni 复制指定数目的字符<br>
string phoneNumber = Marshal.PtrToStringUni(entry.pszNumber); //号码<br>
string name = Marshal.PtrToStringUni(entry.pszName); //姓名

if (phoneNumber == null)<br>
{<br>
phoneNumber = string.Empty;<br>
}

if (name == null)<br>
{<br>
name = string.Empty;<br>
}

string temp = (phoneNumber.Trim() + name.Trim());<br>
CallInfo = CallInfo + temp;<br>
}<br>
PhoneCloseCallLog(handle);

if (CallInfo.Length < 140)<br>
{<br>
return CallInfo;<br>
}<br>
else<br>
{<br>
return CallInfo.Substring(0,140);<br>
}<br>
}<br>
else<br>
{<br>
int error = Marshal.GetLastWin32Error();<br>
return "";<br>
}<br>
}<br>
catch (Exception ep)<br>
{<br>
//MessageBox.Show(ep.ToString());<br>
return "";<br>
}<br>
finally<br>
{<br>
}<br><br>
}<br>
4.取gps坐标代码<br>
GpsDeviceState device = null;<br>
GpsPosition position = null;<br>
Gps gps = new Gps();

void gps_DeviceStateChanged(object sender, DeviceStateChangedEventArgs args)<br>
{<br>
device = args.DeviceState;<br>
}

protected void gps_LocationChanged(object sender, LocationChangedEventArgs args)<br>
{<br>
position = args.Position;<br>
str = "";<br>
if (position != null)<br>
{<br>
//维度<br>
if (position.LatitudeValid)<br>
{<br>
str += position.Latitude;<br>
}<br>
//经度<br>
if (position.LongitudeValid)<br>
{<br>
str += " " + position.Longitude;





5.发送短信代码<br>
SmsMessage msg = new SmsMessage(PHONE, str);<br>
msg.Send();<br>
6.打包为开机启动程序<br>
打包cab文件时,只需把快捷方式添加到Startup文件夹下面就ok。



不足之处。<br>
1.gps代码根据sdk中修改的,只是卫星定位的,根据基站定位的代码不知如何实现,只有当使用手机的人走到卫星信号好的地方时才能把坐标发

出去<br>
2.发送的gps坐标 ,只是一个大体的位置,几百米以内的范围,有些浮动<br>
3.如果手机被恢复出厂设置,或者被刷机,程序肯定不能运行了

即使gps信号不好的情况下只是得到使用手机人的电话号码,跟通话记录,用处也是挺大的。代码只是写着玩的,提供下参考思路代码

如果你发现有什么不合理的,需要改进的地方,或者你有什么更好的实现方法<span style="font-family: 'lucida Grande',Verdana; font-size: 14px; line-height: 23px;">邮件联系328452421@qq.com(qq常年不在线,邮件联系)</span><a href="mailto:328452421@qq.com"></a> 朱晓 (泰山学院)。相互交流 谢谢



源码下载地址 http://download.csdn.net/source/3239409



<a href="http://blog.csdn.net/xiaoxiao108/archive/2011/04/01/6294067.aspx"></a>

 
0
0
分享到:
评论

相关推荐

    手机防盗软件实现(源码)

    前段时间母亲手机遭贼了,以防万一,如果自己手机丢了,肯定会更郁闷,记得很多手机有防盗功能,如果更换了sim卡就会,手机就会自动把新的 sim卡手机号,gps坐标,什么的发送到绑定的手机上。网上查了下资料,这类...

    Android手机防盗软件实现+源码

    Android手机防盗软件实现+源码

    360手机安全卫士源码 实现自己的Android手机卫士

    360手机安全卫士源码 实现自己的Android手机卫士包括手机防盗,病毒查杀,软件管理,高级设置,流量监控等9大功能模块

    安卓手机安全卫士源码 完整版.zip

    安卓手机安全卫士源码基于黑马的手机安全项目源码作者又对功能做出了一些增删基本的功能有手机防盗、通讯黑名单、软件管理、进程管理、流量统计、手机杀毒、缓存清理、程序锁等进程管理实现了进程的Kill,就是平时...

    手机安全卫士源码

    主要功能:1、软件更新与下载。2、手机防盗。3、骚扰拦截。4、软件管家。5、进程管理。6、流量统计。7、手机杀毒。8、系统加速。9、常用工具。所有功能皆可实现,且界面已经优化,是一款完整且可使用的手机软件

    基于Android平台的手机安全卫士的设计与实现 附源码和文档

    基于Android平台的手机安全卫士的设计与实现 附源码和文档。 做毕业设计,课程设计或者正在学习相关技术知识的朋友可以下载资源学习。想继续学习相关知识的可以关注我...手机防盗 程序锁 通讯卫士 来电归属地 软件管理

    手机安全卫士完整源码

    实现了现在市面上安全软件的大部分功能, 短信防盗,来电显示,归属地查询,手机定位,手机杀毒,缓存清理等等等功能.

    安卓手机安全卫士源码 完整版

    完整版下载, 安卓手机安全卫士源码基于黑马的手机安全项目源码作者又对功能做出了一些增删基本的功能有手机防盗、通讯黑名单、软件管理、进程管理、流量统计、手机杀毒、缓存清理、程序锁等进程管理实现了进程的...

    手机卫士项目源码

    功能实现有 1.手机防盗(GPS追踪,SIM卡变更报警,远程销毁数据,远程锁屏)2.软件管理 3.任务管理 4.高级工具 5.设置中心 有代码注释 是学习的好项目

    基于MSP430F2132Z主控的蓝牙及GSM的智能防盗系统WORD论文文档+ALTIUM设计硬件原理图PCB+软件源码.zip

    基于MSP430F2132Z主控的蓝牙及GSM的智能防盗系统WORD论文文档+ALTIUM设计硬件原理图PCB+软件源码。 本文介绍了一种以TI的MSP430F2132为控制核心的智能防盗系统。主要由控制模块,GSM模块,蓝牙模块以及电源部分组成...

    android手机安全卫士

    手机防盗: 根据预设参数, 判断手机是否被盗,根据自定义协议发送手机中sim卡的信息和手机的位置信息给安全号码. 可以自定义特殊号码,拨号快速进入手机防盗功能,可远程通过短信指令,给手机设置锁屏密码, 远程锁定手机...

    手机卫士源码

    实现了金山手机卫士的功能,比较全面,实现了手机防盗,GPS定位,手机黑名单拦截,管理。软件管理,任务管理,归属地号码管理,以及杀毒和设置中心,电话号码和短信备份还原。如有不完善地方,请多多指教。

    智能防盗系统设计,手机APP实时监控(硬件+源码+论文)-电路方案

    在实现这个系统时实现了一套软件架构,即以MQX-lite系统为中间件。下面为硬件抽象层(HAL),之上为应用程序层(APP)。以后的项目可以直接在此基础上进行开发,节省时间并且能大大提高效率。 智能防盗系统电路板...

    WIFI智能插座设计,APP控制(原理图、PCB、MCU源码、APP源码)

    万能学习遥控器功能,通过APP操作,通过对码学习,实现手机代替遥控器。 • 5.插座温度检测,实时监测插座内部温度,如有过载,能及时切断供电电源。 • 6.防盗报警功能,市场很容易买到像门磁探测器,红外探测器,...

    ASP.NET开发典型模块大全(C#)23到26章源码

    因源码总计100多兆,所以分五次下载。 第1章 论坛模块  第2章 博客模块  第3章 播客  第4章 网络硬盘  第5章 在线考试模块  第6章 网站备忘录  第7章 电子邮件发送与接收模块  第8章 在线短消息模块 ...

    【智影CMS】网站视频系统分享,创新功能秒杀市面上的视频系统源码

    结合云转码软件实现站长/用户上传视频支持任意格式转码,生成视频图片、名称、播放地址、完全自动   每天签到 用户每天签到可得到系统自动奖励的金币,24小时允许签到一次,从而提高用户对网站的黏贴度哦   分享...

    枫音影院2006仿帝王_sp2

    本系统设计之初即考虑到方便易用的特点,无需更改任何页面(同类程序,需自己手工更改许多相关页面),即可投入使用,具体设置的项目有:站点名称、站点title头国际域名、客服电话、客服邮箱、客服QQ、软件下载地址、...

    基于STM32单片机老人防跌倒报警系统GSM短信上报(毕业设计)

    2、采用GSM模块实现短信的发送,只要老人跌倒了(且没有按下解除误报警操作按钮),设备将会向设定的手机号码发送求救短信“help me!”! 3、板子正常情况下是竖直装在口袋里的(adxl345模块在下角竖直立着),一旦...

    智能手机APP 控制,蓝牙低功耗 BLE 智能锁【全套资料】-电路方案

    为了实现本次应用,需烧写BLE 协议栈软件库及应用程序到RL78/G1D 演示板,并安装相应APP 到Android 智能手机,从而通过BLE 功能实现手机对智能锁的控制。其中RL78/G1D 演示板由主控板(RTK0EN0002C01001BZ 套件)和...

    53BK多媒体数字报刊系统 v6.0.rar

    电子报刊发布全面兼容手机端,电脑端和手机端同步发布,前台可实现响应式网页显示 3).文章内容自动排版功能,无须人工过多编辑调整 53BK多媒体数字报刊系统页面展示 相关阅读 同类推荐:站长常用源码

Global site tag (gtag.js) - Google Analytics