<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦 > 學習電腦 > 電腦安全 > 病毒知識 >

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

        時間: 加城1195 分享

          電腦病毒看不見,卻無處不在,有時防護措施不夠或者不當操作都會導致病毒入侵。這篇文章主要介紹了Android編程之殺毒的實現原理及具體實例,結合實例形式分析了Android殺毒功能的原理與簡單實現技巧,需要的朋友可以參考下

          具體如下:

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

          思路:

          1.從服務器端把病毒的版本庫信息下載下來將解析的數據存放到List集合中

          2.獲取到手機中所有應用程序的包名以及程序的簽名

          3.將病毒庫匹配手機應用程序包名及簽名

          4.用ScrollView標簽進行自動滾動顯示

          關鍵代碼如下:

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

          tory.virus

          cn.itcast.virus

          惡意軟件,讀取用戶日志

          3082020730820170a00302010202044ea7598f300d06092a864886f70d010105050030483

          10a30080603550406130131310a30080603550408130131310a3008060355040713013131

          0a3008060355040a130131310a3008060355040b130131310a30080603550403130131301

          e170d3131313032363030353132375a170d3231313032333030353132375a3048310a3008

          0603550406130131310a30080603550408130131310a30080603550407130131310a30080

          60355040a130131310a3008060355040b130131310a3008060355040313013130819f300d

          06092a864886f70d010101050003818d0030818902818100d915d7a98cde8bcd69b87ec52

          11012ace847de42129a71bf679a059c2c55e893bc0ea886874432ab8b9097724211df6769

          eacd3381ccac779ab7422d8101320b1e0b14e06ac8ee095b20e52cbe6163e10a87dc410b8

          a91fb73d53c5bdb4a22d1295c61e04b8f8b68c475e69c1754a1dc35745e7c6ae0275c2620

          b863b0d9ea8f0203010001300d06092a864886f70d01010505000381810038e1119fbb710

          4180fddba4bc8b2c275df63f0df418b7480d8eba2891da20d34d3d083cfed7bb3eb546863

          c76bc67cc93f2fa0e9377c470881c9a763c99cc035093184bb50f76e74155592eca3566a3

          10af55e5fec19d6fdc1a74f226aef485f84389126e8e3f4b59fe2797cbfcac660b9f2cc81

          e6f3dcaa7cb2001ecc496a7b

          殺毒引擎:

          /*

          * 殺毒引擎(下載病毒庫、獲取程序的包名及簽名并進行匹配)

          * (non-Javadoc)

          * @see android.app.Activity#onTouchEvent(android.view.MotionEvent)

          */

          @Override

          public boolean onTouchEvent(MotionEvent event) {

          packagenames = new ArrayList();

          virusResult = new ArrayList();

          infos = new ArrayList();

          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;

          }

          }

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

          android:layout_width="wrap_content"

          android:layout_height="wrap_content"

          android:layout_below="@id/iv_killvirus_am"

          android:id="@+id/sv_killvirus"

          >

          android:layout_width="wrap_content"

          android:layout_height="wrap_content"

          android:id="@+id/tv_killvirus_info"

          >

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

          相關閱讀:2018網絡安全事件:

          一、英特爾處理器曝“Meltdown”和“Spectre漏洞”

          2018年1月,英特爾處理器中曝“Meltdown”(熔斷)和“Spectre” (幽靈)兩大新型漏洞,包括AMD、ARM、英特爾系統和處理器在內,幾乎近20年發售的所有設備都受到影響,受影響的設備包括手機、電腦、服務器以及云計算產品。這些漏洞允許惡意程序從其它程序的內存空間中竊取信息,這意味著包括密碼、帳戶信息、加密密鑰乃至其它一切在理論上可存儲于內存中的信息均可能因此外泄。

          二、GitHub 遭遇大規模 Memcached DDoS 攻擊

          2018年2月,知名代碼托管網站 GitHub 遭遇史上大規模 Memcached DDoS 攻擊,流量峰值高達1.35 Tbps。然而,事情才過去五天,DDoS攻擊再次刷新紀錄,美國一家服務提供商遭遇DDoS 攻擊的峰值創新高,達到1.7 Tbps!攻擊者利用暴露在網上的 Memcached 服務器進行攻擊。網絡安全公司 Cloudflare 的研究人員發現,截止2018年2月底,中國有2.5萬 Memcached 服務器暴露在網上 。

          三、蘋果 iOS iBoot源碼泄露

          2018年2月,開源代碼分享網站 GitHub(軟件項目托管平臺)上有人共享了 iPhone 操作系統的核心組件源碼,泄露的代碼屬于 iOS 安全系統的重要組成部分——iBoot。iBoot 相當于是 Windows 電腦的 BIOS 系統。此次 iBoot 源碼泄露可能讓數以億計的 iOS 設備面臨安全威脅。iOS 與 MacOS 系統開發者 Jonathan Levin 表示,這是 iOS 歷史上最嚴重的一次泄漏事件。

          四、韓國平昌冬季奧運會遭遇黑客攻擊

          2018年2月,韓國平昌冬季奧運會開幕式當天遭遇黑客攻擊,此次攻擊造成網絡中斷,廣播系統(觀眾不能正常觀看直播)和奧運會官網均無法正常運作,許多觀眾無法打印開幕式門票,最終未能正常入場。

          五、加密貨幣采礦軟件攻擊致歐洲廢水處理設施癱瘓

          2018年2月中旬,工業網絡安全企業 Radiflow 公司表示,發現四臺接入歐洲廢水處理設施運營技術網絡的服務器遭遇加密貨幣采礦惡意軟件的入侵。該惡意軟件直接拖垮了廢水處理設備中的 HMI 服務器 CPU,致歐洲廢水處理服務器癱瘓 。

          Radiflow 公司稱,此次事故是加密貨幣惡意軟件首次對關鍵基礎設施運營商的運營技術網絡展開攻擊。由于受感染的服務器為人機交互(簡稱HMI)設備,之所以導致廢水處理系統癱瘓,是因為這種惡意軟件會嚴重降低 HMI 的運行速度。


        編程殺毒相關文章:

        1.計算機病毒編寫語言是什么

        2.電腦病毒編寫方法介紹

        3.計算機病毒平時潛伏在哪里

        4.計算機病毒感染代碼

        5.計算機病毒自我復制怎么辦

        4040543 主站蜘蛛池模板: 久久五月丁香合缴情网| 韩国无码中文字幕在线视频| 国产人妻精品午夜福利免费 | japane欧美孕交se孕妇孕交| 在线中文字幕国产一区| 国产中文三级全黄| 国产精品线在线精品| 久久精品免费无码区| 鲁丝片一区二区三区免费| 中文字幕国产在线精品| 成年男女免费视频网站点播 | 亚洲a人片在线观看网址| 97在线精品视频免费| 亚洲va中文字幕欧美不卡| 精品一卡2卡三卡4卡乱码精品视频| 国产成人精品人人| 热久久这里只有精品99| 国产女同疯狂作爱系列| 一出一进一爽一粗一大视频| AV免费播放一区二区三区| 夜色福利站www国产在线视频| 国产亚洲精品午夜福利| 自拍自产精品免费在线| 午夜通通国产精品福利| 一个人看的www视频播放在线观看| 日韩精品一区二区三区日韩| 四虎影视库国产精品一区| 国产熟睡乱子伦午夜视频| 成人午夜看黄在线尤物成人| 国产精品店无码一区二区三区| 国产suv精品一区二区四| a在线亚洲男人的天堂试看| 色综合久久综合香蕉色老大| 久久精品丝袜高跟鞋| 一本色道久久—综合亚洲| 亚洲自偷自偷在线成人网站传媒| 中文字幕日韩国产精品| 姐姐6电视剧在线观看| 久久人妻无码一区二区三区av | 国产精品一区二区三区91| 福利网午夜视频一区二区|