手机撒谎软件之实现

近日风行流氓软件,就连手机平台也加入了堕落的行列。现在俺就简单写一下这种手机上的流氓是如何欺骗人的。

手机撒谎软件主要功能:你正在外面干见不得人的事,这时候老爸打电话问你干啥呢,这个软件就发挥作用了,播放一段打篮球或者老师讲课的录音,这样你可怜的老爸就以为你在努力学习呢。唉。。。。

首先讲一下现在手机的平台,主要平台为Nokia下的Symbian开发,使用C++。

流氓的准备工作:

1.安装Nokia S60平台的开发sdk后,就可以进行 S60的应用开发。

2.去Nokia网站下载<Developing Series 60 Applications - A Guide for symbian OS c++ developers>一书的源代码。

3.打开vc。可以开始coding了

一些基本的S60开发常识我就不在这里罗嗦了。主要介绍一下功能实现:

首先需要进行来电的截获,这里可以参考上面介绍的配书源代码中的AnsPhone例子。

ok,现在当来电的时候,我已经可以抓住它了,下一步就是实现在线uplink的播放,可以有3种以上方法,这里只介绍一种比较简单清晰的实现:CMdaAudioPlayerUtility类

我们的播放,停止,都是通过CMdaAudioPlayerUtility来进行的。

首先我们封装一个自己的类,姑且叫做CAudioUplinkPlayer

class CAudioUplinkPlayer: public CBase,  public MMdaAudioPlayerCallback
{

...

........

void DoCrime(TDesc& filename);

//inherit frm MMdaAudioPlayerCallback

 void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& /*aDuration*/);
 void MapcPlayComplete(TInt aError);

private:
 CMdaAudioPlayerUtility *iMdaAudioPlayerUtility;

};

实现:

void DoCrime(TDesC& filename)

{

     iMdaAudioPlayerUtility = CMdaAudioPlayerUtility::NewFilePlayerL(filename,
  *this,80,(TMdaPriorityPreference)0x00060001);

}

MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& /*aDuration*/)
{

  iMdaAudioPlayerUtility ->PlayL();

}

 

MapcPlayComplete(TInt aError)
{

//播放完了 ;)

}

呵,简单的定义完以后,要注意一下实现的步骤,抓住来电以后首先通过调用DoCrime(audiofilename)来播放声音,调用NewFilePlayer 以后,将异步调用初始化,当fileplayer初始化完毕后,返回mapcinitcomplete函数,这时才能播放。

ok。流氓软件已经作完了。:)

那么怎么样才能防止它呢?答案就是:当老爸的给儿子买个S9.0的手机(Nokia3250/5500/N71/N73/N80/N9x/E50/E60/),S9.0的开发程序必须申请正式版的证书才能安装,这样从根本上Nokia就杜绝了病毒和恶意软件的运行。此外,有部分缺陷的手机也不能进行在线的uplink播放,例如UIQ的几款手机以及Nokia 6620 和Panasonic X700/X800  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值