当前位置:  编程技术>移动开发
本页文章导读:
    ▪病毒战场下的"四国争霸" 六款主流安全软件横评        病毒战场上的"四国争霸" 六款主流安全软件横评 从爱搞恶作剧的"小球"病毒,到通过邮件传播的"快乐时光",再到陈盈豪的CIH和蠕虫病毒"SQL杀手"。如果说这些曾在当时引起轩然大波的病毒你.........
    ▪ SharedPreferences-封存数据、在界面跳转时传递数值        SharedPreferences---保存数据、在界面跳转时传递数值注册界面: public class MainActivity extends Activity { EditText username, password; Button registration; SharedPreferences sp; Editor editor; String name; String pass; Intent in.........
    ▪ 史下最牛的10大计算机病毒       史上最牛的10大计算机病毒 自从病毒诞生起,病毒就成为我们电脑生活中的一个不得不提的部分,那么将来会不会有那么一天病毒会消失呢?也许这是一个已经知道答案的问题,或者是这个.........

[1]病毒战场下的"四国争霸" 六款主流安全软件横评
    来源: 互联网  发布时间: 2014-02-18
病毒战场上的"四国争霸" 六款主流安全软件横评

从爱搞恶作剧的"小球"病毒,到通过邮件传播的"快乐时光",再到陈盈豪的CIH和蠕虫病毒"SQL杀手"。如果说这些曾在当时引起轩然大波的病毒你没听说过,那证明你还年轻。可在06、07年交替之际发生的"熊猫烧香",你肯定不会忘记。短短一个多月,病毒蔓延全国,受害用户上百万,网上充斥着受害者的怨恨和咒骂。病毒的发展督促着杀毒软件的不断进步,如今,已形成腾讯电脑管家、金山、奇虎360和卡巴斯基等几大安全厂商。今天,我们就将展开几大厂商的主打产品的横评。

测试软件:

测试环境:

注:为保证测试的最大公平性,测试组在纯净的操作系统上安装待测杀毒软件,测试完一款后,重装系统,再安装第二款杀毒软件进行测试,以此类推。

第一部分:UI界面/安装/卸载

本轮测试分为两个部分。一是将对所评测软件的UI界面美观程度进行展示;二是对软件安装和卸载所花费的时间进行对比并建立表格。

电脑管家2合1杀毒版体检界面

360安全卫士UI

360杀毒

金山毒霸UI界面

卡巴斯基UI

安装/卸载情况一览:

点评:安装速度和UI界面是一款软件给人的第一印象,没有人是不"外协"的。而作为一款杀毒软件,查杀和防御病毒的反应速度更是重要。如果安装速度够快,相信总会冥冥之中给用户暗示点什么。金山毒霸以6.5秒夺魁,卡巴斯基"名副其实",1分11秒。

有些软件会在安装过程中捆绑第三方软件,可分为强制型和自愿型。强制型是在用户不知情的情况下安装,而自愿型则是用户可自行勾选。坏消息是,360安全卫士/杀毒和金山卫士/毒霸都有捆绑软件;好消息是,都可自主选择。

第二部分:病毒查杀和防御性能测试

本轮测试主要分四个部分:断网查杀能力测试/正常查杀能力测试/挂马网站防御能力测试/查杀速度。

断网/正常查杀病毒样本准备:我们准备了500个最新病毒,涉及各个病毒类型,制作成符合测试需求的标准病毒样本包,大小为254M。

断网查杀与正常查杀的区别:正常查杀是云查杀和本地查杀的结合。传统的断网查杀通常需要下载病毒库,然后依靠自己的电脑进行查杀。如果没有及时升级病毒库,就会出现最新病毒查不出的尴尬。而云查杀,则是加入了云端大型服务器端强大的病毒库引擎,并不断更新网络病毒库。这样便不惧怕时刻变化的病毒。而将原来放在客户端的分析能力转移到服务器端,也减轻了客户端的负担。

断网查杀能力测试结果:

小结:测试前,我们将参测的每款杀软的病毒库更新到最新(每次测试电脑系统中仅运行一款杀软)。从上面的测试结果中可以看到,杀毒率最高是卡巴斯基,电脑管家紧随其后,最低是360杀毒。

正常查杀测试结果:

小结:由以上两张图可以看出,断网和正常查杀的结果是有很大区别的。其中,腾讯电脑管家和金山毒霸表现普遍较好。

挂马网站防御测试:

小结:我们选取参测软件中的辅助类防御软件参加此项测试。可以看到电脑管家表现最好,其它两款并居第二。

查杀速度测试:

小结:腾讯管家的联网查杀速度最快,而金山毒霸的断网速度居首。360表现一般,卡巴斯基不幸垫底。查杀速度的测试所包含的不仅仅是扫描速度那么简单,因为对于病毒的查杀,包括了对病毒的分析过程,分析判断完毕,还需对病毒进行处理,因此全过程下来之后,能够完整地反映出杀软扫描速度的性能。

第三部分:杀毒软件自身性能测试

本轮测试分为两个部分:杀毒软件对硬盘读取的影响/动静态内存及CPU使用率占用测试。

本轮测试的项目,是杀毒软件对电脑运行速度影响的直接体现。

杀毒软件对硬盘读取的影响:

测试工具为HDTune.

重点在各杀毒软件运行扫描时,计算机硬盘的读取速度表现。这也反映着杀软在运作过程中对硬盘影响程度的强弱。

小结:理论上说,平均读取速度越快,杀毒软件对硬盘读取的影响就越小。360杀毒以8.4M/S的速度,凭略微优势胜出。360安全卫士和卡巴斯基分列二、三。金山毒霸表现差强人意。

动静态内存占用测试:

测试工具为Win 7资源监视器。

小结:360杀毒动态占用系统内存最小,金山卫士静态占用内存最小。电脑管家表现稳定,整体可居于第二位。卡巴斯基不幸中枪垫底。

动静态CPU使用率测试:

测试工具为Win 7资源监视器。

小结:360安全卫士当之无愧的居于第一,电脑管家表现也不错屈居第二。卡巴斯基难道就逃离不了速度的诅咒么?

横评总结:卡巴斯基作为杀毒界的老大哥,在病毒查杀的精准度方面宝刀未老,但查杀速度方面稍有欠缺,给电脑带来较大负担,也难怪用户抱怨"卡巴斯基卡死了!"。金山家族的病毒查杀方面表现中上,速度也让人满意,但卫士在防御方面还差强人意。腾讯电脑管家作为一款较年轻的安全软件,成长迅速。如今在业内首创安全软件2合1模式,使得一台电脑配"杀毒+卫士"两款软件成为历史。不过虽然是2合1,对系统的影响仍然很小。360家族的查杀和防御都一般,好在对系统资源的占用率较低,其实笔者觉得,它最该改进的还是信誉神马的。



    
[2] SharedPreferences-封存数据、在界面跳转时传递数值
    来源: 互联网  发布时间: 2014-02-18
SharedPreferences---保存数据、在界面跳转时传递数值
注册界面:
public class MainActivity extends Activity {
EditText username, password;
Button registration;
SharedPreferences sp;
Editor editor;
String name;
String pass;
Intent intent;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initControl();
        //得到SharedPreferences,会生成user.xml
        sp = this.getSharedPreferences("user", 0);
        editor = sp.edit();
        registration.setOnClickListener(new ButtonListener());
    }
    /**
     * 根据ID得到控件
     */
    private void initControl(){
     username = (EditText) findViewById(R.id.username);
     password = (EditText) findViewById(R.id.password);
     registration = (Button) findViewById(R.id.registration);
    }
    
    /**
     * 按钮的监听类
     * @author symbolDelia
     *
     */
    private class ButtonListener implements OnClickListener{

@Override
public void onClick(View v) {
name = username.getText().toString();
pass = password.getText().toString();
//下面三行是将数据写入user.xml中
editor.putString("username", name);
editor.putString("password", pass);
editor.commit();
Toast.makeText(MainActivity.this, "注册成功", Toast.LENGTH_SHORT).show();
//写入xml之后,将EditText设为空
username.setText("");
password.setText("");
//跳转页面
intent = new Intent();
intent.setClass(MainActivity.this, Land.class);
startActivity(intent);
}
    
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/username"
        tools:context=".MainActivity" />

    <EditText
        android:id="@+id/username"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="15dp"
        android:layout_toRightOf="@+id/textView1"
        android:ems="10"
        android:hint="@string/username"
        android:inputType="text"
         >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/textView1"
        android:layout_below="@+id/username"
        android:layout_marginTop="24dp"
        android:text="@string/password" />

    <EditText
        android:id="@+id/password"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView2"
        android:layout_alignBottom="@+id/textView2"
        android:layout_alignLeft="@+id/username"
        android:ems="10"
        android:inputType="textPassword"
        android:hint="@string/password"
         />

    <Button
        android:id="@+id/registration"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView2"
        android:layout_below="@+id/password"
        android:layout_marginLeft="24dp"
        android:layout_marginTop="40dp"
        android:text="@string/registration" />

</RelativeLayout>



登陆页面:

public class Land extends Activity {
EditText username, password;
Button land;
String editname, editpass;
String name, pass;
SharedPreferences shared;
Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.land);
initControl();
//得到SharedPreferences,这里是得到之前的user.xml
shared = this.getSharedPreferences("user", 0);
//得到user.xml中username和password键的对应值
name = shared.getString("username", null);
pass = shared.getString("password", null);
//监听
land.setOnClickListener(new LandListener());
}
 /**
     * 根据ID得到控件
     */
private void initControl(){
username = (EditText) findViewById(R.id.landusername);
password = (EditText) findViewById(R.id.landpassword);
land = (Button) findViewById(R.id.land);
}
/**
     * 按钮的监听类
     * @author symbolDelia
     *
     */
private class LandListener implements OnClickListener{

@Override
public void onClick(View v) {
//得到EditText里的内容
editname = username.getText().toString();
editpass = password.getText().toString();
//比较EditText里的值是否与SharedPreferences中得到的值一样
if(editname.equals(name) && editpass.equals(pass)){
Toast.makeText(Land.this, "登陆成功", Toast.LENGTH_LONG).show();
intent = new Intent();
intent.setClass(Land.this, GetUserInformation.class);
startActivity(intent);
}else{
Toast.makeText(Land.this, "用户名或密码不不正确", Toast.LENGTH_LONG).show();
}
}
}
}

XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginRight="23dp"
        android:layout_marginTop="157dp"
        android:text="@string/username" />

    <EditText
        android:id="@+id/landusername"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView1"
        android:layout_alignBottom="@+id/textView1"
        android:layout_alignParentRight="true"
        android:ems="10"
        android:inputType="text"
        android:hint="@string/username"
         >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:text="@string/password" />

    <EditText
        android:id="@+id/landpassword"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView2"
        android:layout_alignBottom="@+id/textView2"
        android:layout_alignLeft="@+id/landusername"
        android:ems="10"
        android:inputType="textPassword" 
        android:hint="@string/password"/>

    <Button
        android:id="@+id/land"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/landpassword"
        android:layout_marginTop="70dp"
        android:layout_toRightOf="@+id/textView2"
        android:text="@string/land" />

</RelativeLayout>



获取用户信息页面:

public class GetUserInformation extends ListActivity {
SharedPreferences shared;
String username, password;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//得到SharedPreferences,这里是得到之前的user.xml
shared = this.getSharedPreferences("user", 0);
//得到user.xml中username和password键的对应值
username = shared.getString("username", null);
password = shared.getString("password", null);
//设置适配器
SimpleAdapter adapter = new SimpleAdapter(this, getData(), 
R.layout.getuserinformation, 
new String[]{"name", "pass"}, 
new int[]{R.id.getusername, R.id.getpassword}
);
setListAdapter(adapter);
}
//得到数据
private List<Map<String, String>> getData(){
List<Map<String, String>> datas = new ArrayList<Map<String, String>>();
Map<String, String> data = new HashMap<String, String>();
data.put("name", username);
data.put("pass", password);
datas.add(data);
return datas;
}
}

XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:id="@+id/getusername"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="25dp"
        android:layout_marginTop="20dp"
        android:text="@string/username" />

    <TextView
        android:id="@+id/getpassword"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/getusername"
        android:layout_alignBottom="@+id/getusername"
        android:layout_alignParentRight="true"
        android:layout_marginRight="50dp"
        android:text="@string/password" />

</RelativeLayout>


string.xml:

<resources>

    <string name="app_name">MySharedPreferences</string>
    <string name="hello_world">Hello world!</string>
    <string name="menu_settings">Settings</string>
    <string name="title_activity_main">MainActivity</string>
    <string name="username">用户名:</string>
    <string name="password">密 码:</string>
    <string name="registration">注册</string>
    <string name="getuserinformation">获取用户信息</string>
    <string name="land">登陆</string>
    <string name="registrationpage">注册界面</string>
    <string name="getuserinformationpage">获取用户信息界面</string>
    <string name="landpage">登陆界面</string>

</resources>

    
[3] 史下最牛的10大计算机病毒
    来源: 互联网  发布时间: 2014-02-18
史上最牛的10大计算机病毒

自从病毒诞生起,病毒就成为我们电脑生活中的一个不得不提的部分,那么将来会不会有那么一天病毒会消失呢?也许这是一个已经知道答案的问题,或者是这个问题永远没有答案也说不定,期待那一天吧,今天给大家献上史上最牛的10大计算机病毒,你是否曾经遇见过呢?

51CTO编辑推荐:史上最牛的五次黑客攻击

1. CIH(1998年)感染Win95/98中的可行性文件,这种病毒在Windows环境下传播,其实时性和隐蔽性都特别强,变种可以重写BIOS.大约在世界范围内造成了两千万到八千万美元的损失。

2. 梅利莎(Melissa,1999年)Melissa病毒是一种迅速传播的宏病毒,它作为电子邮件的附件进行传播,尽管Melissa病毒不会毁坏文件或其它资源,但是它可能会使企业或其它邮件服务端程序停止运行,因为它发出大量的邮件形成了极大的电子邮件信息流。1999年3月26日爆发,感染了 15%-20%的商业电脑,带来了三千万到六千万美元的损失。

3.爱虫(I love you,2000年)和Melissa一样通过电子邮件传播,而其破坏性要比Melissa强的多,可以删除本地部分图片和文本,大约造成了一千万到一千五百万美元的损失。

4. 红色代码(Code Red,2001年)Code Red是一种蠕虫病毒,本质上是利用了缓存区溢出攻击方式,使用服务器的端口80进行传播,而这个端口正是Web服务器与浏览器进行信息交流的渠道。与其它病毒不同的是,Code Red并不将病毒信息写入被攻击服务器的硬盘,它只是驻留在被攻击服务器的内存中。大约在世界范围内造成了二百八十万美元的损失。

5. SQL Slammer(2003年)Slammer是一款DDOS恶意程序,透过一种全新的传染途径,采取分布式阻断服务攻击感染服务器,它利用SQL Server弱点采取阻断服务攻击1434端口并在内存中感染SQL Server,通过被感染的SQL Server再大量的散播阻断服务攻击与感染,造成SQL Server无法正常作业或宕机,使内部网络拥塞。和Code Red一样,它只是驻留在被攻击服务器的内存中。大约在世界范围内造成了五十万台服务器当机,让韩国整个网络瘫痪了12个小时。

6. 冲击波(Blaster,2003年)冲击波病毒是利用微软公司在当年7月21日公布的RPC漏洞进行传播的,只要是计算机上有RPC服务并且没有打安全补丁的计算机都存在有RPC漏洞,该病毒感染系统后,会使计算机产生下列现象:系统资源被大量占用,有时会弹出RPC服务终止的对话框,并且系统反复重启,不能收发邮件、不能正常复制文件、无法正常浏览网页,复制粘贴等操作受到严重影响,DNS和IIS服务遭到非法拒绝等。这个病毒该是近期国内比较熟悉一个大范围影响的病毒了。大约造成了二百万到一千万美元的损失,而事实上受影响的电脑则是成千上万,不计其数。

7. 霸王虫(Sobig.F,2003年)这是Sobig蠕虫的第5个变种,具有非常强的感染能力,因此将会发生庞大的电子邮件传输,使全球各地的电子邮件服务器当机,由于其特性,还将会极其危险的泄漏本地数据。大约造成了五百万到一千万美元的损失,有超过一百万台电脑受感染。

8. 贝革热(Bagle,2004年)Bagle也被称为Beagle,是一种透过电子邮件散布的蠕虫病毒,它通过远程访问网站利用电子邮件系统进行散布,并在Windows系统建立backdoor,至今为止,这个蠕虫可能是程度最严重,传播范围最广泛的蠕虫病毒,其影响仍然处于上升趋势。目前已经造成了上千万美元的损失,而且仍然在继续。

 

9. MyDoom(2004年)该病毒采用的是病毒和垃圾邮件相结合的战术,可以迅速在企业电子邮件系统中传播开来,导致邮件数量暴增,从而阻塞网络。不管是病毒还是垃圾邮件,无论哪一样在去年都给用户造成了足够多的烦恼,而如今这两者的结合更是来势凶猛,再加上大多数用户对此并不知情,使得这种病毒的传播速度突破了原来的各种病毒的传播速度。根据MessageLabs调查公司的数据显示,在MyDoom病毒发作的高峰时刻,每10封邮件中就有一封被此种病毒感染,而对于前一年肆虐的Sobig病毒,每17封邮件中才会有一封邮件被感染。在其爆发最严重的时候,让全球的网络速度大幅度价低。

10. 震荡波(Sasser,2004年)震荡波病毒会在网络上自动搜索系统有漏洞的电脑,并直接引导这些电脑下载病毒文件并执行,因此整个传播和发作过程不需要人为干预。只要这些用户的电脑没有安装补丁程序并接入互联网,就有可能被感染。这样子的发作特点很像当年的冲击波,会让系统文件崩溃,造成电脑反复重启。目前已经造成了上千万美元的损失。


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
CSS属性参考手册 iis7站长之家
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3