12 2012 档案
摘要:2012年即将过去,据《2012年第3季度中国手机安全市场监测报告》显示,中国手机安全市场累计用户数累计已达2.98亿,安全行业价值进一步显露。回顾2012年,移动安全市场颠覆性创新不断,对手机安全的定义也在不断改写,生态与格局已经发生了诸多改变,这一年,恶意扣费类病毒利润超贩毒、谷歌曝短信欺诈漏洞、病毒捆绑热门应用传播加速,病毒总数井喷式增长,手机安全防御体系进一步建立,站在2012年的尾端,移动安全市场的变化预示着2013年的变革与趋势。 变化之一:病毒井喷 移动安全产业成基础保障 从腾讯移动安全实验室的季度手机安全报告看出,2011年全年截获25404个病毒软件包。2012年第二季度..
阅读全文
摘要:简介: 由于工作的需要,Android手机病毒越来越多,以后会成为手机病毒的主流。之前没接触过android,网上很多android 资料都是要去培训机构,我上学的时候也去过3G培训机构,其实培训里面,说的都很好,其实主要还是在于自己学。网上说学android前需学习java。不学习看不懂android,我计划接下来自学java。CSDN上下了表。我把它分为9方面学习.学完之后再看Android应该就容易了。1. 搭建环境,这有一份Android开发环境详细教程,网上下的。很详细,搭建好后,使用Eplise就可以开始学习了.http://www.cnblogs.com/xiaojinma/ad
阅读全文
摘要:数量目前病毒主要在Symbian系统,以后主要在Android系统.以下是2011年 腾讯移动实验室全年的手机病毒关键的几大类。以便日后借鉴。原文出自【比特网】,原文链接:http://soft.chinabyte.com/os/80/12247580.shtml概要:手机移动应用疯狂增长的背后是手机病毒的全面来袭,各类病毒高度活跃。移动互联网的持续发展,商业模式在摸索中前进,手机病毒也在手机应用渠道传播中获益,并进一步助长了手机病毒黑色产业的发展。Android平台病毒增长开始进入迅猛发展期。平台病毒类型分布Symbian平台截获被植入病毒软件包数16521个,其中诱骗欺诈占42%、资费消耗
阅读全文
摘要:中国移动11月监测发现“伪系统扩展”、“伪视频”、“扣费歪歪”、“伪幻影风暴”、“流量大盗”、“系统扣费插件”、“伪OS文件管理”、“伪PC套件驱动”、“广告王木马”、“伪SIS包装”、“扣费大力士”、“流量壁纸”和“伪游戏中心”等十三款新型手机病毒,造成客户手机后台自动联网并下载手机应用、不知情订购业务、无法正常接收10086短信、消耗CPU资源、强制关闭安全软件、手机话费无故减少等,严重侵害客户权益。中国移动10月监测发现“扣费无间道”、“伪权限管理”、“伪移动插件”、“ 扣费耍宝”、“伪网络服务”、“伪手机杀毒”、“伪系统应用程序”、“伪手机软件升级”、“伪系统升级”和“短信蠕虫”等十款
阅读全文
摘要:“耗电行者”“耗电行者”可以伪装成“财急送”、“任意号码显示”等应用,骗用户安装,用户手机感染后,它会在手机黑屏时,自动往SD卡里下载恶意软件,开始流氓推广,平均每天能下载3到5次,一个推广文件大小就3MB-6MB,大量消耗手机上网流量,平均每天能白白耗费30MB流量。 2012-05-28
阅读全文
摘要:4月17日消息,近期,中国移动监测发现“伪系统杀毒”、“捆绑恶魔”和“伪软件管家”等六款新型手机病毒,造成客户后台自动联网、点播手机游戏类业务、发送垃圾短信并屏蔽10086短信提醒,严重侵害客户权益。 中国移动介绍,手机感染这些病毒出现的症状有以下几种: 一、手机无故自动下载并且安装应用程序; 二、手机预存话费无故减少,甚至出现欠费停机;三、无法正常接收运营商下发的10086短信;四、不知情订购业务; 五、不知情向其他手机发送大量垃圾短信; 六、手机上网数据流量异常增加。 中国移动提醒广大用户:如您的手机上出现以上症状,很有可能已感染手机病毒,您可登录中国移动应用商场(Mobile Mar..
阅读全文
摘要:影响系统:Symbian S60 (3rd FP1 device、3rd、5th)病毒描述: 该病毒是”aishenghuo”家族病毒变种。病毒安装成功后自动运行于后台。病毒在运行过程中获取用户IMEI、IMSI号码,并联网上传到远端服务器。病毒在运行过程中向外发送垃圾短信(13510334969)。病毒存在远程控制端,通过接收远程控制指令完成特定行为。病毒会常驻手机内存,消耗用户手机CPU资源。病毒危害:病毒在运行过程中获取用户IMEI、IMSI号码,并联网上传到远端服务器,窃取用户隐私。病毒在运行过程中向外发送垃圾短信(13510334969),给用户造成一定的经济损失。病毒存在远程控制端
阅读全文
摘要:影响系统:Symbian S60 (3rd、5th)病毒描述: 该病毒安装成功后自动运行于后台。病毒在运行过程中获取用户IMEI、IMSI号码,并联网上传到远端服务器。病毒在运行过程中访问远程服务器中获取订购任务网址,并访问网址进行恶意订购。病毒在运行过程中屏蔽10086发送的回执短信。病毒会常驻手机内存,消耗用户手机CPU资源。病毒危害:病毒在运行过程中获取用户IMEI、IMSI号码,并联网上传到远端服务器,窃取用户隐私。病毒在运行过程中访问远程服务器中获取订购任务网址,并访问网址进行恶意订购。具有恶意扣费行为。病毒在运行过程中屏蔽10086发送的回执短信,造成系统破坏,同时使用户无法及时收
阅读全文
摘要:据国外媒体报导,Android系统无疑已经成为时下全世界最热门的行动设备操作系统。Android于2007年11月推出测试版并于随后升级至Android1.5,该版系统支持虚拟键盘、用户字典、桌面小插件以及影片录制等功能。在这之后,Android大家族又陆续增加了Android1.6、Android2.0、Android2.2和Android2.3等成员。Android在智能手机操作系统市场站稳脚跟之后又开始谋划进军平板计算机市场,Android3.0堪称专为平板计算机所量身打造,后来又出现的Android4.0和Android4.1在此基础上又进一步改善了功能和运行环境。日前有国外媒体对20
阅读全文
摘要:形容变化太快,我们喜欢用“三十年河东,三十年河西”来表达。但在智能手机操作系统版图里,变化之快,只能说“三年河东,三年河西”,让人彻底震撼的是市场机构预测到2015年曾为诺基亚立下汗马功劳的智能手机操作系统symbian(塞班)将彻底退出市场。且不说在苹果iphone的ios和谷歌android推出来之前,诺基亚symbian操作系统的一枝独秀,独步天下。单从刚过去的2010年来看,虽然symbian在呈现下滑趋势,但还是以37.6%的市场份额傲视群雄,成为无可争议的冠军;而android以落后15个百分点的悬殊差距位居亚军;季军黑莓和第四名苹果ios旗鼓相当,分别为16%和15.7%。今天被
阅读全文
摘要:有时候, 事情,道理大家都很清楚,就是做不到.影响的客观因素很多:生活环境,自己的态度,自己的...,通过哈佛图书馆的二十条训言常常反省自己.最起码做好自己的事情.不管以后成功不成功,珍惜现在,努力吧!哈佛图书馆的二十条训言: 1.此刻打盹,你将做梦;而此刻学习,你将圆梦。 2.我荒废的今日,正是昨日殒身之人祈求的明日。 3.觉得为时已晚的时候,恰恰是最早的时候。 4.勿将今日之事拖到明日。 5.学习时的苦痛是暂时的,未学到的痛苦是终生的。 6.学习这件事,不是缺乏时间,而是缺乏努力。 7.幸福或许不排名次,但成功必排名次。 8.学习并不是人生的全部。但既然连人生的一部分―――...
阅读全文
摘要:苹果创始人史蒂夫·乔布斯(Steve Jobs):把每一天都当成生命中的最后一天在我17岁的时候,我读到了一句箴言,差不多是这样的:“如果你把每一天都当作生命中的最后一天去生活的话,那么终有一天你会发现自己是正确的。”这句话给我留下了深刻的印象,从那时算起的33年以来,我每天早晨都会对着镜子问自己:“如果今天是我生命中的最后一天,我还会做自己今天即将要做的事吗?”当答案连续多次都是“不”时,我就知道自己需要做些改变了。——斯坦福大学,2005年微软创始人比尔·盖茨(Bill Gates):你的能力越大,人们对你的期望也就越大我的母亲在我被哈佛大学录取的那一天曾经感到非常骄傲
阅读全文
摘要:1. 异步事件 Symbian OS 中异步函数最显著的特征是拥有TRequestStatus& 类型的参数. 异步函数本身不提供服务,提供服务的是其他程序,所谓的服务提供者.基本原理: 应该程序调用异步函数时指向服务提供者发送一个请求,发送完毕后函数调用返回,应用程序继续执行的同时,服务提供者会处理该请求,处理完毕后服务器提供者向应用程序发送一个异步事件,接收到事件后应用程序才能知道请求的服务是否完成. Symbain OS 推荐的处理异步事件的方法有两种,: 第一种是使用信号量机制User::WaitForRequest()静态函数等待异步服务器完成. ...... TReques
阅读全文
摘要:1) GRPS接入方式: CMNET和CMWAP是中国移动GPRS网络的两个不同APN(Access Point Name接入点名称)。CMNET提供了NAT服务,使用该服务的手机可以直接访问internet。CMWAP只提供了WAP代理和HTTP代理,手机上网能访问的范围有限,接入时只能访问GPRS网络内的IP(10,*,*,*)。因此CMWAP主要用于手机WAP上网,CMNET则是用于PC,笔记本电脑,PDA等设备实现GPRS上网。两者手机上网的方式没有差别,如此划分是中国移动对手机上网服务对象的定位不同,所以他们的应用范围和资费标准不同。 2) CMNET和CMWAP区别: A:...
阅读全文
摘要:恶意代码,可能运行过程中屏蔽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
阅读全文
摘要:移动互联网恶意代码在用户不知情或者未授权情况下,在移动终端系统中安装,运行以达到不正当目的,或违反国家相关法律法规行为的可执行文件,代码模块或代码片段.移动互联网恶意代码样本存放在移动互联网恶意代码的文件实体形态,其可以是独立的恶意代码载体文件.被感染型恶意代码感染后的文件对象,也可以是非文件载体恶意代码的文件镜像(包括但不限于引导性恶意代码的文件镜像,内存恶意代码的文件镜像).要求:认定标准命名规则描述格式认定标准当一个可运行于移动终端上的程序具有以下一种或者多种属性,可判定为移动互联网恶意代码.(1) 恶意扣费在用户不知情或未授权的情况下,通过隐蔽执行,欺骗用户点击等手段.订购各类收费业务
阅读全文
摘要:// 根据短信的内容进行拦截在这个里面是拦截以"##"开头的短信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
阅读全文
摘要:1. PC(程序计数器) = windows 中 EIP解析: 处理器要执行的程序(指令序列)都是以二进制代码序列方式预存储在计算机的存储器中,处理器将这些代码逐条地取到处理器中再译码、执行,以完成整个程序的执行。为了保证程序能够连续地执行下去,CPU必须具有某些手段来确定下一条取指指令的地址.程序计数器(PC)正是起到这种作用,所以通常又称之为‘指令计数器’。CPU总是按照PC的指向对指令序列进行取指、译码和执行,也就是说,最终是PC 决定了程序运行流向。故而,程序计数器(PC )属于特别功能寄存器范畴,不能自由地用于存储其他运算数据.在程序开始执行前,将程序指令序列的起始地址,即程序的第一
阅读全文
摘要:--------------声明观察器类 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()->
阅读全文
摘要:准备:1. IDA2. Nokia PC 套件 :下载地址:http://nds1.nokia.com/files/support/global/phones/software/Nokia_PC_Suite_7_1_18_0_chi_sc_web.exe3. SISContents工具病毒样本压缩包截图第一步: 使用Nokia提供的解压工具SISContents打开上图包如下图第二步: 单击解包文件,解开压缩包,同时查看文件信息,注意文件安装路径.通过上图获取信息:程序名称: 橙阅图书程序安装路径: c:/!:\sys\bin\MoLibrary.exe (!表示可能其他盘符).可疑的文件:1
阅读全文
摘要:目前,许多手机病毒使用URL都采用Base64编码加密下载地址,下面我们了解一下Base64编码.The Base64 Alphabet:索引对应字符索引对应字符索引对应字符索引对应字符0A17R34i51z1B18S35j5202C19T36k5313D20U37l5424E21V38m5535F22W39n5646G23X40o5757H24Y41p5868I25Z42q5979J26a43r60810K27b44s61911L28c45t62+12M29d46u63/13N30e47v(pad)=14O31f48w15P32g49x16Q33h50yBase64编码的算法是:1. 把3个
阅读全文
摘要:ARM 处理器寻址方式寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式,ARM处理器有9种基本寻址方式.1. 寄存器寻址 操作数的值在寄存器中,指令中的地址码字段指出的是寄存器编码,指令执行时直接取出寄存器值操作. 例子: MOV R1, R2 ;R2 -> R1 SUB R0,R1,R2 ;R0 = R1 - R22. 立即寻址 立即寻址指令中的操作码字段后面的地址码部分就是操作数本身,也就是说,数据就包含在指令中,取出指令也就取出了立即使用的操作数(立即数). 例子:SUBS R0,R0,#1 ;R0 = R0 - 1MOV R0,#0xff00 ;R0 = 0xf
阅读全文
摘要:常用的 arm 指令集第一类: 数据处理指令解析:数据处理指令可分为数据传送指令、算术逻辑运算指令和比较指令等数据传送指令用于在寄存器和存储器之间进行数据的双向传输。算术逻辑运算指令完成常用的算术与逻辑的运算,该类指令不但将运算结果保存在目的寄存器中,同时更新CPSR中的相应条件标志位。比较指令不保存运算结果,只更新CPSR中相应的条件标志位。详细分析:数据处理指令:1、MOV指令MOV 指令的格式为:MOV{条件}{S} 目的寄存器,源操作数MOV指令可完成从另一个寄存器、被移位的寄存器或将一个立即数加载到目的寄存器。其中S选项决定指令的操作是否影响CPSR中条件标志位的值,当没有S时指令不
阅读全文
摘要:扣费、跑流量、展示广告、偷隐私卖资料是恶意代码四大收益方式揭秘一:谁在制作恶意代码?据网秦林宇称,恶意代码最大的“恶意”在于其破坏行为是强制的、隐蔽的且存在极多后续隐患。比如扣费上,通过小额多次的方式来降低用户感知,通过屏蔽且自动回复业务确认短信让用户无法察觉。截至2012年3月,仅广东移动全省就监测发现了手机恶意软件共977种,其中“屏蔽10086短信类”恶意软件235种。那么,已形成四大收益模式的恶意代码,到底是谁在幕后制作?“黑客个人可以制作,有些企业和组织也在做恶意代码。”Warren称,这类属于专职的黑客,其目的是获得各种收益。恶意代码其实是一段带有恶意行为的数字编码(计算机语言),
阅读全文
摘要:安全管家2012年上半年手机安全分析报告近日,专业手机杀毒软件企业安全管家,发布了《2012年上半年度手机安全行业分析报告》。报告中对拦截的手机病毒数量、危害方式、病毒发展趋势等,进行了详细的分析和描述。一、2012年上半年手机病毒概况2012年1月-6月,安全管家通过移动云安全中心,共发现手机恶意软件33930款,其中安卓平台发现26580款手机恶意软件,塞班平台发现7350款。安卓平台相比去年同期增势猛劲,而塞班平台则出现下降趋势。二、塞班平台2012年上半年手机病毒特征2012上半年,塞班平台病毒危害特征与去年相比变化不大,主要集中在数据破坏、资费消耗、恶意扣费、恶意传播这四大大类。数.
阅读全文
摘要:一 数据类型**************************************************************************************************十进制二进制十六进制 000000100011200102300113401004501015601106701117810008910019101010A 111011B 121100C 131101D 141110E 151111F 161,000010D B H十进制的2 2D二进制的2 0010B十六进制2 2H***********************************
阅读全文
摘要:1. 把你的虚拟网卡VMnet8设置为自动获得IP、自动获得DNS服务器,启用。2. 把你虚拟机中操作系统的“本地连接”也设置为自动获得IP、自动获得DNS服务器(在虚拟机中,右键“本地连接”-双击“Internet 协议”,看看是不是自动的吧!固定IP的也在这里改!) 3.当然是将虚拟机的上网方式选为NAT咯。 右键你要设置的虚拟机选“设置”(因为有的不止虚拟一台),在“硬件”中选“以太网”, 将右边的网络连接改为NAT-确定。 4.点菜单栏里的“编辑”-选“虚拟网络设置”,先将“自动桥接”给去掉(去掉钩钩),再选“DHCP”开启DHCP服务,点“开始”-应用,再按同样的方法开启“NAT”的
阅读全文
摘要:修改访问权限使用CreateRemoteThread植入DLL时,必须应用程序的权限。插入的程序每次操作目标进程的虚拟空间,调用CreateRemoteThread 的时候,都先调用OpenProcess打开这个进程,将PROCESS_ALL_ACCESS 标志作为参数传递,得到这个进程最大的访问权限。所有受限的进程都是操作系统的一部分,普通的应用程序不应该有权去操作OS。要访问,调用的进程必须有调试的特权。逻辑描述:(1) 获取进程的访问令牌的句柄(OpenProcess(PROCESS_ALL_ACCESS,FALSE, dwProcessID)来打获得任意进程的句柄.并且指定了所有的访问
阅读全文
摘要:问:什么是网络安全? 答:网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭到破坏、更改、泄露,系统可以连续可靠正常地运行,网络服务不被中断。 问:什么是计算机病毒? 答:计算机病毒(Computer Virus)是指编制者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。 问:什么是木马? 答:木马是一种带有恶意性质的远程控制软件。木马一般分为客户端(client)和服务器端(server)。客户端就是本地使用的各种命令的控制台,服务器端则是要给别人运行,只有运行过服务器端的计算机才能够完全受控。木
阅读全文
摘要:OLLYDBG 附加到一个正在运行的进程上----------------------------------------------------------------------------------------------------------------原理: (1)利用DebugActiceProcess 函数可以将调试器捆绑到一个正在运行的进程上,如果成功,就类似于CreateProcess创建的新进程。附加后程序会暂停到Ntdll.dll的DebugBreakpoint处,按F9或Shift + F9键程序调试.(2)如果隐藏进程,就不能用上面的附加方法了。Ollydbg 有
阅读全文
摘要:下面通过一个应用程序实例来说明在实际编程中如何处理键盘消息。#include <windows.h>#include <stdio.h>// 全局变量RECT rc; //记录滚屏的矩形区域int xChar, yChar; //文本输入点坐标WNDCLASSEX wnd; //窗口类结构变量char szAppName[] = "键盘消息监视程序"; //窗口类名//函数声明LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);BOOL MyRegisterClass(HINSTANCE hIns
阅读全文
摘要:虚拟内存的实现方法和过程:(1) 当一个应用程序被启动时,操作系统就创建一个新的进程,被给每个进程分配2GB的虚拟地址(不是内存,只是地址)(2) 虚拟内存管理器将应用程序的代码映射到那个那个应用程序的虚拟地址中的某个位置,并把当前所需要的代码读取到物理地址中(注意: 虚拟地址和应用程序代码的物理地址内存中的位置是没有关系的).(3) 如果使用动态链接库DLL,DLL 也被映射到进程的虚拟地址空间,在需要的时候才会被读到物理内存。(4) 其他项目(数据,堆栈等)的空间是从物理内存中分配的,并被映射到虚拟内存空间中。(5) 应用程序通过使用他的虚拟地址空间中的地址开始执行,然后虚拟内存管理器把每
阅读全文
摘要:我目前用的是VC++6.0含SP6中文版+英文版.VC6SP6.ISO (485 MB)Windows 2003 DDK.iso(230 MB) 其实别的版本DDK也可以的,我们要的是一些结构&头文件用来编译 知道名字后可以xunlei下把上面的安装好后Tools->Options->DirectoriesInclude files:D:\SOFTWARE\WINDDK\3790.1830\INC\DDK\W2KD:\SOFTWARE\WINDDK\3790.1830\INC\CRTD:\SOFTWARE\WINDDK\3790.1830\INC\WXPLibrary fi
阅读全文
摘要:一、瑞星产品安装在哪个目录了?目录里面的许多.EXE文件是做什么的? A:瑞星产品默认安装的目录是X:Program Files\rising下(X为系统安装分区),在这个文件夹下还有rav和rfw两个子文件夹。其中rav目录是瑞星杀毒软件所在目录,rfw目录为瑞星防火墙所在目录. 1.rav文件夹 这是瑞星杀毒软件文件夹,根目录下有以下文件(仅介绍主要可执行文件): (1)AddrBook.exe 瑞星短信通信地址簿,主要用于保存一些短信联系人的信息。 (2)CCenter.exe 瑞星信息中心,就是杀毒软件主界面右边的那个窗口。 (3)MakeDisk.exe 瑞星软件维护工具,如果您已经
阅读全文
摘要:#include <windows.h>#include <stdio.h>#define MAC_FILENAMELENOPATH 256void FindFileInDir(char* rootDir, char* strRet)//第一个参数是输入的目录名,第二个参数是存放所有文件的缓冲{ char fname[MAC_FILENAMELENOPATH]; ZeroMemory(fname, MAC_FILENAMELENOPATH); WIN32_FIND_DATA fd; ZeroMemory(&fd, sizeof(WIN32_FIND_DATA))
阅读全文
摘要:如果是32 位的OS,一般HANDLE 是一个4个字节,所以每次移动只能4个字节,速度表较慢,能不能更快呢?下面让我们看一下文件映射的优势。(1) (CreateFileMapping) 创建一个文件映射内核对象。(2) (MapViewofFile) 将一个文件映射对象映射到当前应用程序的地址空间。---------------------------------------------------------------------------------------------------------CreateFileMapping : 创建一个新的文件映射内核对象。HANDLE Cr
阅读全文
摘要:DirectX9.0 SDK 开发包版本较多,DirectX9.0b 版本之前的SDK 包基本是完整的, DirectX9.0c 版本的SDK 包大多是升级包,里面并未附带DirectShow 部分,故不能 单独使用。 微软DirectX9.0b SDK 完整包的下载地址: http://download.microsoft.com/download/b/6/a/b6ab32f3-39e8-4096-9445-d38e6675de8 5/dx90bsdk.exe 完整的安装过程: 1. 解压并运行dx90bsdk.exe,按默认设置完成资源文件的安装。 2. 用Visual C++编译Dire
阅读全文
摘要://---------------------------------------创建进程流程---------------------------------------------call kernel32!CreateProcessABOOL WINAPI CreateProcess(LPCTSTR lpApplicationName,LPTSTR lpCommandLine,LPSECURITY_ATTRIBUTES lpProcessAttributes,LPSECURITY_ATTRIBUTES lpThreadAttributes,BOOL bInheritHandles,DWO
阅读全文
摘要:1. BC++ 程序启动反汇编A1 A8534BB00 MOV EAX,DWORD PTR DS:[4B53A8]C1E0 02 SHL EAX,2A3 AC534B00 MOV DWORD PTR DS:[4B53AC],EAX57PUSH EDI51 PUSH ECX33C0 XOR EAX,EAXBF 88DA4C00 MOV EDI,BC++.004CDA88B9 C0358D00 MOV ECX,BC++.008D35C03BCF CMP ECX,EDX76 05 JBE SHORT BC++.004010242BCF SUB ECX,EDIFC CLD...............
阅读全文
摘要:1.什么是句柄. 句柄是应用程序建立或使用的对象所使用的一个唯一的整数值(通常是32位),Windows要使用各种各样的句柄来标识诸如应用程序实例,窗口,图标,菜单,输出设备,文件等对象. Windows是一个以虚拟内存为基础的操作系统,这种环境下,Windows内存管理器经常在内存中来回移动对象,依次满足各种应用程序的需要,对象被移动了,意味着地址就变.因此,Windows操作系统用一块内存地址,用来专门登记各种应用对象在内存中的地址变化,而这个地址(存储单元的位置)本身是不变的,Windows内存管理器在移动对象在内存的位置后,把对象新的地址告知这个句柄保存,这样我们只需记住这个句柄地址就
阅读全文
摘要:用户态轻松ntdll中的native api 调用方式一(一般方式):第一步:声明函数指针 比如我们需要调用NtCreateFile函数,那么我们就需要根据NtCreateFile的定义来声明一个相同类型的函数指针(这样做会让编译器比较高兴)typedefNTSTATUS(*MyNtCreateFile)(OUTPHANDLEFileHandle,INACCESS_MASKDesiredAccess,INPOBJECT_ATTRIBUTESObjectAttributes,//OUTPIO_STATUS_BLOCKIoStatusBlock,OUTPVOIDIoStatusBlock,INPL
阅读全文
摘要:用户、认证和对象安全Windows系统具有很完善的安全和认证机制,称作访问控制机制。程序的执行主体(线程)在访问对象(文件、事件等)时,系统会根据线程的“权限”和线程需要访问的对象所具有的访问控制列表(ACL)中的“安全描述符”是否匹配来进行认证,决定一个线程是否可以操作一个对象。1. 关于权限、访问控制列表、安全描述符等在安全认证中所依赖的数据结构,并重点讲解安全认证的过程A需要访问(Access)B,A就是访问的主体,B就是访问的客体。A的“访问令牌”和B的安全描述符共同决定了A是否可以访问B.访问的主体是进程。在系统中,线程才是程序执行的流程,因此只有线程才能操作对象。每个线程都是属于一
阅读全文
摘要:Wnndows 用户1.1 创建用户NetUserAdd API函数可以实现在系统中创建用户的功能,函数原型如下:NET_API_STATUS NetUserAdd( LPCWSTR servername, //用户的主机名,如果是本机设置为NULL DWORD level, //设置为1,2,3,4决定buf参数的结构 LPBYTE buf, //USER_INFO_1, USER_INFO_2, USER_INFO_3, USER_INFO_4 LPDWORD parm_err//);typedef struct _USER_INFO_1 { LPWSTR usri1_name; LPWS
阅读全文
摘要:1. 数据类型 LIST_ENTRY说明:内核使用该结构将所有对象维护在一个双向链表中。一个对象分属多个链表是很常见的, Flink 成员是一个向前链接指向下一个 LIST_ENTRY 结构, Blink 成员则是一个向后链接,指向前一个 LIST_ENTRY 结构。通常情况下,这些链表都成环形,也就是说,最后一个 Flink 指向链表中的第一个 LIST_ENTRY 结构,而第一个 Blink 指向最后一个。这样就很容易双向遍历该链表。如果一个程序要遍历整个链表,它需要保存第一个 LIST_ENTRY 结构的地址,以判断是否已遍历了整个链表。如果链表仅包含一个 LIST_ENTRY 结构,那
阅读全文
摘要:校验和(Checksum)PE的可选映像头(IMAGE_OPTION_HEADER)里面,有一个Checksum字段,是该文件的校验和,一般EXE文件可以使0,但一些重要的和系统DLL及驱动文件必须有一个校验和.Windows 提供了一个API函数MapFileAndCheckSum 测试文件的Checksum,它位于IMAGEHLP.DLL链接库里,其原型:ULONG MapFileAndCheckSum{ LPSTR FileName, // 文件名 LPDWORD HeaderSum, // 指向PE文件头的CheckSum LPDWORD new_checksum // 指向新计算出的
阅读全文
摘要:MFC 对话框工程中添加菜单(VC++ 6.0编译器)第一步:创建对话框资源和菜单资源.第二步:添加菜单到对话框中方法一:在创建的对话框中右键,在Menu选项选择自己的菜单ID如下图此时就可以了.方法二:不用方法一,直接添加代码完成上述功能.添加代码到DialogDlg ::OnInitDialog中CMenu *menu = new CMenu;menu ->LoadMenu(MAKEINTRESOURCE(IDR_MENU)); //IDR_MENU 菜单IDthis ->SetMenu(menu);或者Cmenu m_menu;m_menu.LoadMenu(IDR_MENU
阅读全文
摘要:本阶段目标:1 加深阅读调试器中的汇编代码的能力2 加深对Windows底层理解3 解决下层bug的能力.1 第一个实例: int main(int argc, char* argv[]){ return 0;}反汇编后:00401010 >|> 55 PUSH EBP00401011 |. 8BEC MOV EBP,ESP00401013 |. 83EC 40 SUB ESP,4000401016 |. 53 PUSH EBX00401017 |. 56 PUSH ESI00401018 |. 57 PUSH EDI00401019 |. 8D7D C0 LEA EDI,DWOR
阅读全文
摘要:用NtTerminateProcess真正终止进程.首先,要使用Native API,要对它进行声名:typedef DWORD (CALLBACK* NTTERMINATEPROCESS)(HANDLE,UINT);NTTERMINATEPROCESS NtTerminateProcess;HMODULE hNtdll = NULL; hNtdll = LoadLibrary( "ntdll.dll" ); //从ntdll.dll里获取函数 if ( !hNtdll ) { printf( "LoadLibrary( NTDLL.DLL ) Error:%d\
阅读全文
摘要:如何判断操作系统是64位还是32位 64位Wnidows 里面有个叫Wow64的模拟器技术,可以使32位的程序在64位Windows上运行。当你想在程序里面针对32b位/ 64位系统执行不同代码的时候, 需要判断操作系统是32位还是64位。 使用 Windows API函数 GetNativeSystemInfo 可以获得这个信息。代码示例:SYSTEM_INFO si;GetNativeSystemInfo(&si);if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 || si.wProcessorArchit
阅读全文
摘要:批处理制作教程 批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。在无盘运用及Hack入侵过程中,经常都会用到。一.简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。 语法 echo [{on off}] [message] Sample:@echo off / echo hello world 在实际应用中我们会把这条命令和重定向符号(也
阅读全文
摘要:通过PsGetCurrentProcess函数来获取当前调用驱动的进程的EPROCESS结构的地址.EPROCESS结构的0x174偏移处存放着进程名.思路如下:驱动程序的加载函数DriverEntry是运行在System进程中的.(1) 通过PsGetCurrentProcess可以获取System进程的内核EPROCESS结构的地址,(2) 从该地址开始寻找"System"字符串.(3) 找到了便是EPROCESS的进程名存放的偏移处,得到进程名在EPROCESS结构的偏移后,(4) 进程调用驱动的时候,就可以直接在该偏移处获取当前进程名.代码如下:DWORD GetP
阅读全文
摘要:目录1 基础知识:. 21.1结构框图... 21.2 快照函数... 22 Heap Walking解析... 32.1 Heap Walking定义... 32.2 Heap Walking常用函数... 42.3 实例... 43 Process Walking 解析... 53.1 PROCESSENTRY32定义... 53.2 Process Walking 常用函数... 63.3 Process Walking 实例... 64 Thread Walking 解析... 74.1 THREADENTRY32定义... 74.2 Thread Walking常用的函数... 84
阅读全文
摘要:动态加载DLL的方法与注意的问题动态加载DLL的方法:1. 生成dll过程:把生成的.DLL文件复制到测试工程DLLTest目录下。这里假设该.DLL文件为add.dll,主要代码是:// .h中声明Extern “C” _declspec(dllexport)int add(int x, int y)// .cpp 中实现extern "C" int add(int x, int y){ return x + y;}2.使用1生成的dll:在DLLTest工程中添加DllTest.cpp文件.首先使用LoadLibrary("add.dll")加载ad
阅读全文
摘要:“偷取者”(Trojan/Win32.BHO.anbp)威胁级别:★★该病毒为木马类,病毒运行后衍生病毒文件到系统目录下,并删除自身。修改注册表,添加启动项,以达到随机启动的目的。病毒的dll文件随IEXPLORER.EXE进程的启动而启动,进行劫持浏览器,键盘记录等相关病毒行为。主动连接网络,开启本地端口,下载相关病毒文件信息。该病毒通过恶意网站、其它病毒/木马下载传播,可以进行劫持浏览器,键盘记录,盗取用户敏感信息。“修改者木马”(Trojan/Win32.StartPage.aggp[Dropper]) 威胁级别:★★该病毒为木马类,病毒运行后遍历进程,查找杀软相关进程并关闭;删除桌面上
阅读全文
摘要:一、windows系统的引导过程如下:1、电源自检程序开始运行2、主引导记录被装入内存,并且程序开始执行3、活动分区的引导扇区被装入内存4、NTLDR从引导扇区被装入并初始化5、将处理器的实模式改为32位平滑内存模式6、NTLDR开始运行适当的小文件系统驱动程序。小文件系统驱动程序是建立在NTLDR内部的,它能读FAT或NTFS。7、NTLDR读boot.ini文件8、NTLDR装载所选操作系统二、NTLDR在引导过程中扮演的角色:NTLDR一般存放于C盘根目录下,是一个具有隐藏和只读属性的系统文件。它的主要职责是解析Boot.ini文件。如果你对它的理解还不是很清楚,那么下面我们就以Wind
阅读全文
摘要:1、首先安装DDKWizard官方网页:http://ddkwizard.assarbad.net/从官方网页下载这三个重要的文件:DDKBUILD.BAT、 DDKBUILD.CMD、DDKWIZARD_SETUP。EXE在WDK7600安装目录新建一个bat 目录,用来保存bat与cmd两个文件,再安装DDKWIZARD_SETUP.EXE。2、VS2008中相关配置在系统环境变量中添加一条记录:PathE:\WinDDK\bat (刚刚从DDKWizard下载保存的两个文件对应的路径)WXPBASE E:\WinDDK\7600.16385.0 (这条记录貌似可以不需要)再打开VS200
阅读全文
摘要:标准库vector类型使用需要的头文件:#include <vector>。vector 是一个类模板。不是一种数据类型,vector<int>是一种数据类型。Vector的存储空间是连续的,list不是连续存储的。一、定义和初始化vector< typeName > v1; //默认v1为空,故下面的赋值是错误的v1[0]=5;vector<typeName>v2(v1); 或v2=v1;vector<typeName>v2(v1.begin(), v1.end());//v2是v1的一个副本,若v1.size()>v2.si
阅读全文
摘要:STL 中map的用法详解Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的。下面举例说明什么是一对一的数据映射。比如一个班级中,每个学生的学号跟他的姓名就存在着一一映射的关系,这个模型用map可能轻易描述,很明显学号用int描述,姓名用字符串描述(本篇文章中不用cha
阅读全文
摘要:1.打印软件监视日志const DWORD dwBufferSize = MAX_PATH * 2;TCHAR szMoudleFileName[dwBufferSize] = {0};GetModuleFileName(0, szMoudleFileName, dwBufferSize);_tcscat_s(szMoudleFileName, dwBufferSize, _T("\\MyProcessViewer.log"));VERIFY( g_Log.Open( szModuleFileName ));2. IsUserAnAdmin 查看用户权限是否是管理员权限in
阅读全文
摘要:1 VC中TabControl控件使用方法 (1) 添加Tab Control控件并在Property属性中设置ID为IDC_TAB,添加变量m_tabctrl,类型为CTabCtrl。 (2) 在对话框的初始化函数OnInitDialog里面添加如下代码: m_tabctrl.InsertItem(0, "memo0");//添加参数一选项卡 m_tabctrl.InsertItem(1, "memo1"); //添加参数二选项卡 (3) 在对话框中添加两个对话框资源,设置好ID,属性设置为style:Child,Border为None,再适当调整宽度
阅读全文
摘要:// 管理驱动程序#ifndef _CDRIVER_H_#define _CDRIVER_H_#include <winsvc.h> // 使用SCM函数 class CDriver{public:/** 参数: pszDriverpath 为驱动所在的目录,pszLinkName 为符号连接名字* 功能: 试图创建和打开服务*/ CDriver(LPCTSTR pszDriverPath, LPCTSTR pszLinkName); virtual ~CDriver();// 属性 // 此驱动是否可用 virtual BOOL IsValid(){return (m_hSCM
阅读全文
摘要:// 挂钩指定模块hMod对MessageBoxA的调用BOOL SetHook(HMODULE hMod);// 定义MessageBoxA函数原型typedef int (WINAPI *PFNMESSAGEBOX)(HWND, LPCSTR, LPCSTR, UINT uType);// 保存MessageBoxA函数的真实地址PROC g_orgProc = (PROC)MessageBoxA;void main(){// 调用原API函数::MessageBox(NULL, "原函数", "HookDemo", 0);// 挂钩后再调用SetH
阅读全文
摘要:01.用ZwQueryVirtualMemory枚举进程模块 02.枚举进程模块通常可以使用诸如:CreateToolhelp32Snapshot,Module32First,Module32Next 等"Tool Help Functions"接口来实现, 并且这也是最通用的方法(从Win95就开始支持了), 但是今天我们要介绍的是ntdll.dll导出的未文档化接口ZwQueryVirtualMemory,。相比前面所介绍的方法,该方法可以检测出隐藏的模块(类似IceSword)。 03.我们先来看下这个接口的原型: 04. 05.//-----------------
阅读全文
摘要:1.VS2008提示无法打开包括文件:“afxcontrolbars.h//功能区和控件条的 MFC支持 以前用了vs2008SP1写的程序,现在用没有SP1的vs2008编译引起的 解决方法: 把#include <afxcontrolbars.h>注掉,后面加了一行 #define CWinAppEx CWinApp2. VC6.0#include<map>之后使用map容器报一大堆警告 解决方法是在 #include <map>之前加#pragma warning(disable:4786)3. Visual C++ 中fatal error C108
阅读全文
摘要:-------------------*.h-------------------------------#pragma onceclass CRemThreadInjector{public:CRemThreadInjector(LPCTSTR pszDllName);~CRemThreadInjector();// 注入DLL到指定的进程空间BOOL InjectModuleInto(DWORD dwProcessId);// 从指定的进程空间卸载DLLBOOL EjectModuleFrom(DWORD dwProcessId);protected:char m_szDllName[MA
阅读全文