随笔分类 - Symbian C++
Symbian OS 手机病毒相关的C++积累
摘要:1. 异步事件 Symbian OS 中异步函数最显著的特征是拥有TRequestStatus& 类型的参数. 异步函数本身不提供服务,提供服务的是其他程序,所谓的服务提供者.基本原理: 应该程序调用异步函数时指向服务提供者发送一个请求,发送完毕后函数调用返回,应用程序继续执行的同时,服务提供者会处理该请求,处理完毕后服务器提供者向应用程序发送一个异步事件,接收到事件后应用程序才能知道请求的服务是否完成. Symbain OS 推荐的处理异步事件的方法有两种,: 第一种是使用信号量机制User::WaitForRequest()静态函数等待异步服务器完成. ...... TReques
阅读全文
摘要:恶意代码,可能运行过程中屏蔽10086发送的回执短信,删除短信, 同时使用户无法及时收到扣费信息,给用户造成一定的经济损失.TMsvId* entryId = STATIC_CAST( TMsvId*, aArg2 ); if ( *entryId == KMsvSentEntryId ){ TMsvSelectionOrdering sort;sort.SetSorting(EMsvSortByDateReverse);sort.SetShowInvisibleEntries(ETrue); // we want to handle also the invisible entriesCMs
阅读全文
摘要:本文分析中有网易博客中摘录,病毒可能也会利用下面功能获取用户隐私.1.电话簿API也叫Contacts API,是SymbianOS的通信簿API在Series60上的实现.大部分通信簿引擎API与电话簿API是重复的,只有在电话簿API不能满足需要时才使用通信簿API.2.Symbian OS手机的通讯录采用文件方式存储。 每个Symbian OS手机都有一个默认的通讯录数据库,在os7.0s中存在为c:\system\data\Contacts.cdb,在os9.0s中存在为c:\private\100012a5\DBS_100065FF_Contacts.cdb。3.Symbian OS
阅读全文
摘要:// 根据短信的内容进行拦截在这个里面是拦截以"##"开头的短信void CMySms::SMSRead(){TBuf8<2> matchTag;_LIT8(KTag1,"##");matchTag.Copy(KTag1);iReadServer.Connect();//Opens a socket by creating a new subsession to the socket server.TInt err = iReadSocket.Open(iReadServer, KSMSAddrFamily, KSockDatagram, K
阅读全文
摘要:手机病毒可能会通过这些API函数获取用户IMSI IMEI,窃取用户隐私.-------------------------------------- MyTelephony.h--------------------#ifndef MYTELEPHONY_H#define MYTELEPHONY_H#include <e32base.h>#include <Etel3rdParty.h>class CMyTelephony : public CActive {public: static void GetIMSIL(TDes& aIMSI); static v
阅读全文
摘要:消息基本单位是条目Entry.--------------------------关键类-----------------------------------1. CMsvSession该类代表客户端(客户端MTM、用户接口MTM或者客户端消息应用程序)与消息服务器端的通讯通道。每一个客户端线程对应一个该类的实例,CMsvSession提供客户端能及时获取消息服务端消息的有效方式。一个消息客户端应用必须在正常使用任何MTM或CMsvEntry对象前,使用OpenSyncL()或者OpenASyncL()来新建一个session对象。2. CClientMtmRegistryRegistry掌握
阅读全文
摘要:1. Symbian短信操作 http://wiki.forum.nokia.com/index.php/SMS_Operations2. Symbian如何自启动 http://wiki.forum.nokia.com/index.php/How_to_autostart_an_application_on_boot_up_in_3rd-_Startup_List_Management_API3. Symbian在任务栏中隐藏程序 Hiding an application from the task listhttp://wiki.forum.nokia.com/index.php/TSS
阅读全文
摘要://获取手机IMEICTelephony ::GetSubscriberId() CTelephony ::GetPhoneId(TRequestStatus&, TDes8 &) CTelephony ::Version() CTelephony ::TPhoneIdV1::TPhoneIdV1(void) // 获取手机IMSI号码CTelephony::GetSubscriberId(TRequestStatus &,TDes8 &)RMobilePhone::TMobilePhoneSubscriberId iImsi;TRequestStatus iI
阅读全文
摘要:--------------声明观察器类 StateVarObserver.h-------------------------// Constantsconst TInt KUidBatteryBarsValue = 0x100052D3;const TUid KUidBatteryBars ={KUidBatteryBarsValue};// KUidChargerStatus defined in <sacls.h>// KUidNetworkStrength defined in <sacls.h>// monitoring the infoclass CSta
阅读全文
摘要:1. 定位当前程序,并将当前程序的优先级调高 SetOrdinalPosition01.TInt prio = 1001; //设置一个较高的值02.CEikonEnv::Static()->RootWin().SetOrdinalPosition(0, prio); //将当前程序的窗口组设计一个高的优先级,并置为同级最前2.将当前程序的窗口组设置为最前, 可与HandleForegroundEventL 配合使用,使当前程序使终处于最前(条件是优先级要有足够高,否则的话还是会被优先级更高的程序抢占)01.RWsSession ws = CEikonEnv::Static()->
阅读全文
浙公网安备 33010602011771号