手机撒谎软件之实现

来源:互联网 发布:淘宝美容师工服 编辑:程序博客网 时间:2024/05/19 03:19

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

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

首先讲一下现在手机的平台,主要平台为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  

原创粉丝点击