国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種判斷混淆文件的方法和裝置與流程

      文檔序號:12600524閱讀:1143來源:國知局
      一種判斷混淆文件的方法和裝置與流程

      本發(fā)明涉及文件檢測領域,特別是涉及一種判斷混淆文件的方法和裝置。



      背景技術:

      可移植可執(zhí)行的文件可以輕而易舉的被反編譯,文件反編譯后可以看到文件的源代碼,導致源代碼泄漏。所以,為了保護源代碼不被他人獲取,工程技術人員通常使用混淆工具對文件進行混淆。軟件發(fā)布前,使用第三方工具進行反編譯,需要人眼查看反編譯后的源代碼進行判斷,來攔截那些沒有經(jīng)過混淆的文件。



      技術實現(xiàn)要素:

      基于此,有必要針對人眼查看反編譯后的源代碼的問題,提供一種判斷混淆文件的方法和裝置。

      一種判斷混淆文件的方法,包括:獲取可移植可執(zhí)行的文件列表;加載所述文件列表中各可移植可執(zhí)行的文件,獲得各文件對應的程序集;獲取所述程序集對應的類名稱;檢測所述類名稱是否包含預設的特殊字符,若所述類名稱包括預設的特殊字符,將對應的文件標記為已被混淆。

      一種判斷混淆文件的裝置,包括:文件獲取模塊、加載模塊、類名稱獲取模塊和檢測模塊;所述文件獲取模塊,用于獲取可移植可執(zhí)行的文件列表;所述加載模塊,加載所述文件列表中各可移植可執(zhí)行的文件,獲得各文件對應的程序集;所述類名稱獲取模塊,用于獲取所述程序集對應的類名稱;所述檢測模塊,用于檢測所述類名稱是否包含預設的特殊字符,若所述類名稱包括預設的特殊字符,將對應的文件標記為已被混淆,若所述類名稱不包括預設的特殊字符,將對應的文件標記為沒有被混淆。

      本發(fā)明通過獲取待檢測文件的類名稱,檢測所述類名稱字符串是否包含預設的特殊字符,自動判斷待檢測文件是否被混淆,不需要依賴人工判斷。

      附圖說明

      圖1為一實施例的一種判斷混淆文件的方法的示意性流程圖;

      圖2為另一實施例的一種判斷混淆文件的方法的示意性流程圖;

      圖3為另一實施例的一種判斷混淆文件的方法的示意性流程圖;

      圖4為一實施例的一種判斷混淆文件的裝置的示意性結構圖。

      具體實施方式

      為了更進一步闡述本發(fā)明所采取的技術手段及取得的效果,下面結合附圖及較佳實施例,對本發(fā)明的技術方案,進行清楚和完整的描述。

      圖1為一實施例的一種判斷混淆文件的方法的示意性流程圖。

      如圖1所示,一種判斷混淆文件的方法,包括:

      S101,獲取可移植可執(zhí)行的文件列表。

      作為一優(yōu)選實施例,可移植可執(zhí)行(PE)文件是微軟Windows操作系統(tǒng)上的程序文件;獲取的PE文件的文件格式符合CLI標準的托管程序集,包括部分的dll和exe格式。

      S102,加載所述文件列表中各可移植可執(zhí)行的文件,獲得各文件對應的程序集。

      S103,獲取所述程序集對應的類名稱。

      作為一優(yōu)選實施例,所述類名稱是實際代碼中的類名和類型名等。比如,程序集代碼中定義了:

      public class BusinessModule

      {

      ......

      }

      則獲取到的類名稱就是BusinessModule。

      S104,檢測所述類名稱是否包含預設的特殊字符,若所述類名稱包括預設的特殊字符,將對應的文件標記為已被混淆。

      作為一優(yōu)選實施例,檢測所述類名稱是否包含預設的特殊字符的步驟之后還包括:若所述類名稱不包括預設的特殊字符,將對應的文件標記為沒有被混淆。

      本實施例通過獲取待檢測文件的類名稱,檢測所述類名稱是否包含預設的特殊字符,自動判斷待檢測文件是否被混淆,不需要依賴人工判斷。

      圖2為另一實施例的一種判斷混淆文件的方法的示意性流程圖。

      如圖2所示,一種判斷混淆文件的方法,包括:

      S201,選擇一個待檢測的目錄或文件,過濾所述目錄或文件,獲取可移植可執(zhí)行的文件列表。

      作為一優(yōu)選實施例,自動對所述目錄或文件過濾,過濾掉除dll和exe后綴的文件,保留符合CLI標準的托管程序集的dll和exe后綴的文件。

      S202,加載所述文件列表中各可移植可執(zhí)行的文件,獲得各文件對應的程序集。

      作為一優(yōu)選實施例,自動加載所述文件列表中保留的文件,獲得各文件對應的程序集。

      S203,獲取所述程序集對應的類名稱。

      作為一優(yōu)選實施例,自動獲得各文件程序集對應的類名稱。

      S204,檢測所述類名稱是否包含預設的特殊字符;若是,執(zhí)行步驟S206,若否,執(zhí)行步驟S205。

      作為一優(yōu)選實施例,可以檢測類名稱字符串中是否包括Unicode不可打印字符,Unicode不可打印字符包括:\u0000~\u001F、\u007F和\u0080~\u009F等。

      S205,將對應的文件標記為沒有被混淆。

      作為一優(yōu)選實施例,若所述類名稱不包括預設的特殊字符,將對應的文件標記為沒有被混淆。

      S206,將對應的文件標記為已被混淆。

      作為一優(yōu)選實施例,若所述類名稱包括預設的特殊字符,將對應的文件標記為已被混淆。

      S207,將標記結果顯示出來。

      本實施例通過選擇一個待檢測的目錄或文件,獲取待檢測文件的類名稱,檢測所述類名稱是否包含預設的特殊字符,自動判斷待檢測文件是否被混淆,不需要人工查看源代碼。

      圖3為另一實施例的一種判斷混淆文件的方法的示意性流程圖。

      如圖3所示,一種判斷混淆文件的方法,包括:

      S301,選擇一個待檢測的目錄或文件。

      S302,過濾所述目錄或文件,獲取后綴名為dll和exe的文件列表。

      作為一優(yōu)選實施例,自動對所述目錄或文件過濾,過濾掉除dll和exe后綴的文件,保留符合CLI標準的托管程序集的dll和exe后綴的文件。

      S303,判斷所述文件列表是否為空,若文件列表不為空,執(zhí)行步驟S304,若文件列表為空,將標記結果顯示出來。

      作為一優(yōu)選實施例,顯示結果包括哪些文件已被混淆和哪些文件沒有被混淆。

      S304,從所述文件列表中取出一個文件。

      S305,加載所述文件獲取程序集。

      S306,獲取所述程序集對應的類名稱。

      S308,判斷所述類名稱是否包含預設的特殊字符,若所述類名稱不包含預設的特殊字符,執(zhí)行步驟S303,若所述類名稱包含預設的特殊字符,執(zhí)行步驟S309。

      S309,將對應的文件標記為已被混淆,返回執(zhí)行步驟S303。

      作為一優(yōu)選實施例,若所述類名稱包含預設的特殊字符,將對應的文件標記為已被混淆。

      本實施例依次讀取一個目錄下后綴名為dll和exe的文件,自動獲取待檢測文件的類名稱,檢測所述類名稱是否包含預設的特殊字符,可以同時自動判斷一個目錄下的所有文件是否被混淆了。

      圖4為另一實施例的一種判斷混淆文件的裝置的示意性結構圖。

      如圖4所示,一種判斷混淆文件的裝置,包括:文件獲取模塊101、加載模塊102、類名稱獲取模塊103和檢測模塊104;所述文件獲取模塊101,用于獲取可移植可執(zhí)行的文件列表;所述加載模塊102,加載所述文件列表中各可移植可執(zhí)行的文件,獲得各文件對應的程序集;所述類名稱獲取模塊103,用于獲取所述程序集的對應的類名稱,若所述類名稱不包括預設的特殊字符,將對應的文件標記為沒有被混淆;所述檢測模塊104,用于檢測所述類名稱是否包含預設的特殊字符,若所述類名稱包括預設的特殊字符,將對應的文件標記為已被混淆。

      作為一優(yōu)選實施例,所述判斷混淆文件的裝置還包括選擇模塊;所述選擇模塊,用于選擇一個待檢查的目錄或文件。

      作為一優(yōu)選實施例,所述判斷混淆文件的裝置還包括過濾模塊;所述過濾模塊,用于過濾所述目錄或文件,獲取可移植可執(zhí)行的文件列表。

      作為一優(yōu)選實施例,所述判斷混淆文件的裝置還包括顯示模塊;所述顯示模塊,用于將標記結果顯示出來。

      作為一優(yōu)選實施例,所述文件獲取模塊獲取的文件列表中文件的格式符合CLI標準的托管程序集。

      作為一優(yōu)選實施例,開發(fā)工程師在進行文件混淆時可以選擇使用Unicode不可打印字符進行混淆,測試工程師在拿到送測的安裝包,將其安裝后,使用所述判斷混淆文件的裝置選擇安裝包的安裝目錄,所述裝置會篩選目錄下的文件,過濾掉除dll和exe后綴的文件,然后遍歷該待驗證列表,對每一個文件加載并獲取其程序集,并獲取程序集對應的類名稱;如果發(fā)現(xiàn)文件的類名稱包括Unicode不可打印字符,比如\u0001、\u0002,就標記該文件被混淆了,否則標記該文件未被混淆。

      本實施例自動篩選目錄下的文件,過濾掉除dll和exe后綴的文件,獲取保留的文件對應的類名稱,并檢測所述類名稱字符串是否包含預設的特殊字符,來自動判斷待檢測文件是否被混淆,不需要依賴人工。

      以上所述實施例的各技術特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術特征所有可能的組合都進行描述,然而,只要這些技術特征的組合不存在矛盾,都應當認為是本說明書記載的范圍。

      以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。

      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1