亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android編程之殺毒的實現原理及具體實例

2020-04-11 11:05:39
字體:
來源:轉載
供稿:網友

本文實例講述了Android殺毒的實現原理。分享給大家供大家參考,具體如下:

一個殺毒軟甲最核心的部分一個是病毒庫一個是殺毒引擎,病毒庫從服務器中獲得,殺毒引擎實際上是判斷程序中的包名和簽名是否匹配病毒庫中的包名和簽名,如果匹配則為病毒,界面使用幀動畫來顯示。

思路:

1.從服務器端把病毒的版本庫信息下載下來將解析的數據存放到List集合中
2.獲取到手機中所有應用程序的包名以及程序的簽名
3.將病毒庫匹配手機應用程序包名及簽名
4.用ScrollView標簽進行自動滾動顯示

關鍵代碼如下:

特洛伊木馬病毒庫的信息:

<?xml version="1.0" encoding="utf-8"?><list><virus> <name>tory.virus</name> <packname>cn.itcast.virus</packname> <description>惡意軟件,讀取用戶日志</description> <signature>3082020730820170a00302010202044ea7598f300d06092a864886f70d01010505003048310a30080603550406130131310a30080603550408130131310a30080603550407130131310a3008060355040a130131310a3008060355040b130131310a30080603550403130131301e170d3131313032363030353132375a170d3231313032333030353132375a3048310a30080603550406130131310a30080603550408130131310a30080603550407130131310a3008060355040a130131310a3008060355040b130131310a3008060355040313013130819f300d06092a864886f70d010101050003818d0030818902818100d915d7a98cde8bcd69b87ec5211012ace847de42129a71bf679a059c2c55e893bc0ea886874432ab8b9097724211df6769eacd3381ccac779ab7422d8101320b1e0b14e06ac8ee095b20e52cbe6163e10a87dc410b8a91fb73d53c5bdb4a22d1295c61e04b8f8b68c475e69c1754a1dc35745e7c6ae0275c2620b863b0d9ea8f0203010001300d06092a864886f70d01010505000381810038e1119fbb7104180fddba4bc8b2c275df63f0df418b7480d8eba2891da20d34d3d083cfed7bb3eb546863c76bc67cc93f2fa0e9377c470881c9a763c99cc035093184bb50f76e74155592eca3566a310af55e5fec19d6fdc1a74f226aef485f84389126e8e3f4b59fe2797cbfcac660b9f2cc81e6f3dcaa7cb2001ecc496a7b </signature></virus></list>

殺毒引擎:

/* * 殺毒引擎(下載病毒庫、獲取程序的包名及簽名并進行匹配) * (non-Javadoc) * @see android.app.Activity#onTouchEvent(android.view.MotionEvent) */@Overridepublic boolean onTouchEvent(MotionEvent event) { packagenames = new ArrayList<String>(); virusResult = new ArrayList<String>(); infos = new ArrayList<ApplicationInfo>(); animationDrawable.start();//播放掃描病毒的動畫 new Thread(){  @Override  public void run() {   try {    URL url = new URL("http://192.168.1.168:8080/virus.xml");    HttpURLConnection conn = (HttpURLConnection) url.openConnection();    InputStream is = conn.getInputStream();    //從服務器解析病毒庫并獲取到病毒庫的集合    virusbeans = VirusInfo.getVirusInfos(is);    TaskInfo taskInfo = new TaskInfo(KillVirusActivity.this); //實例化包資源管理器    //獲取到當前手機里面所有的包名    infos = pm.getInstalledApplications(0);    for(ApplicationInfo info : infos ){     packagenames.add(info.packageName);    }    int count=0;    // 殺毒引擎 根據病毒庫 比對當前系統里面的程序包名 簽名進行 殺毒    StringBuilder sb = new StringBuilder();    for(String packname : packagenames){     sb.append("正在掃描 "+ packname);     sb.append("/n");     Message msg = new Message();     msg.what = SCANNING;     msg.obj = sb;     handler.sendMessage(msg);     //檢查當前的packname 和對應簽名 是不是跟病毒庫里面的信息一樣     for(VirusBean virusbean : virusbeans){      if(packname.equals(virusbean.getPackname())&&        taskInfo.getAppSignature(packname).equals(virusbean.getSignature()))      {       virusResult.add(packname);//添加一個病毒      }     }     count ++;//記錄病毒的總數    }    Message msg = new Message();    msg.what = SCANNING_FINISH;    msg.obj = count;    handler.sendMessage(msg);   } catch (Exception e) {    e.printStackTrace();   }  } }.start(); return super.onTouchEvent(event);}

顯示病毒掃描信息:

Handler handler = new Handler(){ @Override public void handleMessage(Message msg) {  super.handleMessage(msg);  switch (msg.what) {  case SCANNING:   StringBuilder sb = (StringBuilder) msg.obj;   tv_killvirus_info.setText(sb.toString());   sv.scrollBy(0, 25);//每次增加都會自動向下移動畫面   break;  case SCANNING_FINISH:   int i = (Integer) msg.obj;   StringBuilder sb1 = new StringBuilder();   sb1.append("掃描完畢 共掃描 "+ i+ " 個程序");   if(virusResult.size()>0){    sb1.append("發現病毒 /n");     for(String packname : virusResult){      sb1.append("病毒名"+ packname);      sb1.append("/n");     }    }    tv_killvirus_info.setText(sb1.toString());    animationDrawable.stop();   break;  } }};

獲取到程序的簽名:

/* * 獲取程序的簽名 */public String getAppSignature(String packname){  try {   PackageInfo packinfo =pm.getPackageInfo(packname, PackageManager.GET_SIGNATURES);   //獲取到所有的權限   return packinfo.signatures[0].toCharsString();  } catch (NameNotFoundException e) {   e.printStackTrace();   return null;  }}

顯示掃描的文件頁面并自動滾動:

<ScrollViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@id/iv_killvirus_am"android:id="@+id/sv_killvirus"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/tv_killvirus_info"></TextView></ScrollView>

希望本文所述對大家Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人精品a视频一区www| 亚洲级视频在线观看免费1级| 欧美亚洲另类视频| 亚洲国产欧美久久| 久久精品国产亚洲一区二区| 欧美色欧美亚洲高清在线视频| 亚洲午夜未满十八勿入免费观看全集| 久久久久国产视频| 日韩av中文字幕在线免费观看| 久久亚洲精品国产亚洲老地址| 色综合久久88色综合天天看泰| 亚洲日本aⅴ片在线观看香蕉| 久久国产精品影视| 欧美久久精品午夜青青大伊人| 亚洲全黄一级网站| 中文字幕在线日韩| 91美女福利视频高清| 欧美一乱一性一交一视频| 亚洲精品国产精品国自产观看浪潮| 精品女厕一区二区三区| 黑人巨大精品欧美一区二区免费| 午夜伦理精品一区| 日韩精品视频免费在线观看| 黄色成人av在线| 国产精品99久久久久久久久| 久久久久久国产精品| 亚洲一区二区免费| 欧洲日本亚洲国产区| 国产精品久久久久不卡| 成人中心免费视频| 亚洲国产精品久久精品怡红院| 91网在线免费观看| 91精品国产综合久久香蕉的用户体验| 国产精品成人一区二区三区吃奶| 久久精品视频免费播放| 久久久久亚洲精品成人网小说| 日韩欧美在线播放| 国产91色在线|| 欧美视频裸体精品| 国产精品成人一区二区三区吃奶| 国产一区二区三区免费视频| 亚洲国产成人久久综合一区| 国产成人精品久久亚洲高清不卡| 91久久国产综合久久91精品网站| 九九视频这里只有精品| 国产精品一区二区三区毛片淫片| 精品国产一区二区在线| 一区二区三区亚洲| 日韩精品在线影院| 91影院在线免费观看视频| 亚洲在线一区二区| 久久久999精品视频| 精品香蕉在线观看视频一| 亚洲欧美一区二区三区在线| 欧美视频在线看| 欧美老女人性视频| 51ⅴ精品国产91久久久久久| 狠狠爱在线视频一区| 日日狠狠久久偷偷四色综合免费| 国产综合久久久久久| 亚洲精品第一页| 亚洲精品视频免费| 国产91色在线免费| 久久久久久噜噜噜久久久精品| 国产精品自拍视频| 国产免费一区二区三区在线能观看| 欧美老女人性视频| 色哟哟网站入口亚洲精品| 国产成人高潮免费观看精品| 日韩精品视频在线观看网址| 激情成人在线视频| 亚洲国产精品999| 欧美性xxxx18| 欧美精品免费播放| 欧美体内谢she精2性欧美| 国产精品福利在线| 97精品在线观看| 日韩在线视频线视频免费网站| 亚洲男人天堂久| 欧美精品在线极品| 亚洲女成人图区| 欧美日韩一区二区在线播放| 亚洲欧美制服综合另类| 2019中文字幕在线观看| 欧美—级高清免费播放| 亚洲第一区在线观看| 亚洲精品福利在线| 欧美国产乱视频| 日韩www在线| 国产精品视频在线观看| 欧美天堂在线观看| 欧美日韩精品在线观看| 亚洲乱亚洲乱妇无码| 国产精品久久一区| 日本久久久久久久久久久| 国产精品久久av| 欧美日韩国产色| 国产精品免费网站| 92裸体在线视频网站| 国产九九精品视频| 最近2019年中文视频免费在线观看| 97免费视频在线| 成人免费视频网址| 日韩最新在线视频| 亚洲高清色综合| 亚洲第一视频网站| 日韩激情第一页| 成人性生交大片免费观看嘿嘿视频| 亚洲色图激情小说| www.亚洲男人天堂| 国产精品户外野外| 91情侣偷在线精品国产| 国产精品亚洲欧美导航| 国产精品视频久久| 国产在线拍偷自揄拍精品| 国产精品视频26uuu| 亚洲性生活视频在线观看| 亚洲成色www8888| 欧美裸体男粗大视频在线观看| 日韩黄色高清视频| 欧美一区二粉嫩精品国产一线天| 伊人青青综合网站| 九九热最新视频//这里只有精品| 国产亚洲精品日韩| 中文.日本.精品| 欧美成人精品在线视频| 亚洲成人av资源网| 亲爱的老师9免费观看全集电视剧| 国产91精品久久久久久| 日本精品视频在线播放| 欧美日韩在线视频一区| 欧美大尺度电影在线观看| www.国产精品一二区| 成人在线激情视频| 国产精品青青在线观看爽香蕉| 一级做a爰片久久毛片美女图片| 欧美日韩综合视频| 欧美激情手机在线视频| 45www国产精品网站| 欧美视频一区二区三区…| 国产精品日韩在线播放| 国产自摸综合网| 精品一区二区三区四区| 日韩成人在线观看| 国产一区二区欧美日韩| 中文字幕欧美日韩在线| 国产成人亚洲精品| 在线观看久久久久久| 久久久久久12| 成人激情视频在线观看| 亚洲japanese制服美女| 久久久国产成人精品| 国产69精品久久久久9999| 亚洲男人天堂视频| 国产视频福利一区| 欧美裸体xxxx| 亚洲在线观看视频网站| 色天天综合狠狠色| 久久久91精品国产| 欧美性精品220| 国产精品爽黄69| 国产精品露脸自拍| 欧美一乱一性一交一视频| 欧美在线观看网址综合|