System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于程序編譯,尤其是用于信創適配的跨cpu架構二進制文件語義分割及實體識別方法。
技術介紹
1、現有的二進制可執行文件解析方法為:按照elf文件結構或者pe文件結構通過邏輯解析二進制文件的格式,提取出其中的指令、數據和元數據。解析出文件頭、段表和符號表,以及指令等信息內容。這一步驟需要對elf或者pe文件結構有深入的了解,而且該類基于規則的解析方法有很多限制,特別是對于信創以及新的指令架構方面。
2、而目前現有技術存在的問題為:
3、(1)基于規則的方法,對人要求比較高,實現難度大,效率低下。
4、(2)只能處理符合規范的elf或者pe文件,對于格式不規范或被混淆的文件無能為力。
5、(3)新的cpu結構或者指令集擴充修改工具很麻煩。
6、(4)難以適應新的文件格式或變種,需要手動更新解析規則。
7、(5)對軟件技術能力要求比較高,門檻高,普通人不會,阻礙生態發展,開發和維護成本高。
技術實現思路
1、本專利技術的目的在于克服現有技術的不足,提出用于信創適配的跨cpu架構二進制文件語義分割及實體識別方法,通過ai模型實現elf文件解析的自動化,可以大幅提升行業的工作效率,減少人工成本;ai模型可以快速響應和處理大量文件,適應快速變化的行業需求,有利于信創生態的發展。
2、本專利技術解決其技術問題是采取以下技術方案實現的:
3、用于信創適配的跨cpu架構二進制文件語義分割及實體識
4、步驟1、數據采集及標注;
5、步驟2、將數據進行裝載并進行預處理;
6、步驟3、構建二進制文件段節分類模型,并通過二進制文件段節分類模型對裝載數據進行分類處理;
7、步驟4、將分類后的數據輸入至段節裝載模塊進行處理;
8、步驟5、將段節裝載模塊處理的數據分別輸入至bin-parser模型和glove向量嵌入,bin-parser模型輸出的結果結合glove向量嵌入生成的glove模型訓練語料庫,輸出語義分割和標注文本。
9、而且,所述步驟1的具體實現方法為:采集多樣化的arm和x86,risc-v二進制文件,其中包括應用程序、庫和操作系統二進制文件;這些文件作為輸入文件,利用pyelftools工具自動標注elf文件中的關鍵語義單元和實體,包括函數、變量、段、操作碼、操作數、符號表和字符表。
10、而且,所述步驟2的具體實現方法為:利用pyelftools工具解析收集到的二進制文件,根據二進制文件的結構,提取所需部分內容:
11、步驟2.1、解析elf文件:使用pyelftools解析elf文件,提取各部分的詳細信息;
12、步驟2.2、生成標注數據:為每個部分生成詳細的標注數據,包括每個字節的標簽;
13、步驟2.3、保存標注數據:將標注數據保存為json格式,便于后續使用。
14、而且,所述步驟3中構建的二進制文件段節分類模型包括:1維卷積層,池化層,lstm層,全連接層和最終全連接層,其中,輸入經過卷積層和relu激活函數,然后通過池化層,輸入經過lstm層,取最后一個時間步的輸出,lstm的輸出經過全連接層和relu激活函數;將全局信息與局部特征結合,經過最終的全連接層,輸出分類結果,分類結果elf文件構成的分類編碼。
15、而且,所述步驟4包括以下步驟:
16、步驟4.1、二進制文件段節分類模型結果轉換:從二進制文件段節分類模型拿到處理結果,根據處理結果計算出每個段節的開始位置以及偏移量大小;
17、步驟4.2、二進制數據讀取:按照二進制格式從上面取得的開始位置和偏移量讀取該部分二進制數據;
18、步驟4.3、數據分發:把讀出數據分別分發給glove向量嵌入和bin-parser模型。
19、而且,所述步驟5中glove向量嵌入的處理方法為:利用libelf庫讀取并解析elf文件,進行類似分詞的動作,整理成用作訓練的單獨函數調用以及代碼段構建語料庫;利用指令集規范以及abi規范建立二進制和指令集的映射,并且構建glove的共現矩陣;利用搜集的預料信息訓練glove模型,glove模型保存反應二進制文件語義的詞嵌入向量;保存glove模型為文件。
20、本專利技術的優點和積極效果是:
21、本專利技術首先采用二進制文件段節分類模型把大的二進制文件進行識別和區域劃分,解決大文件長序列的處理,然后采用類似transformer技術,針對指令集,架構規范,cpu層面abi規范以及底層abi接口規范(libc,glibc,libc++,libstdc++等),elf文件結構規范等信息通過大數據量進行模型訓練,訓練出encoder模型,encoder用于讀入源cpu架構的elf文件信息以及輔助信息,通過encoder模型采集的二進制語義信息進行二進制文件的語義標注和實體識別。本專利技術基于ai的elf、pe文件解析方法可以推動新工具和平臺的開發,提升行業整體技術水平;同時ai模型的靈活性使其可以應用于多個領域,如網絡安全、逆向工程、軟件分析等,促進跨領域的技術融合和創新,有利于信創生態發展;本專利技術通過ai模型實現elf文件解析的自動化,可以大幅提升行業的工作效率,減少人工成本;ai模型可以快速響應和處理大量文件,適應快速變化的行業需求,有利于信創生態的發展。
本文檔來自技高網...【技術保護點】
1.用于信創適配的跨CPU架構二進制文件語義分割及實體識別方法,其特征在于:包括以下步驟:
2.根據權利要求1所述的用于信創適配的跨CPU架構二進制文件語義分割及實體識別方法,其特征在于:所述步驟1的具體實現方法為:采集多樣化的ARM和x86,RISC-V二進制文件,其中包括應用程序、庫和操作系統二進制文件;這些文件作為輸入文件,利用pyelftools工具自動標注ELF文件中的關鍵語義單元和實體,包括函數、變量、段、操作碼、操作數、符號表和字符表。
3.根據權利要求1所述的用于信創適配的跨CPU架構二進制文件語義分割及實體識別方法,其特征在于:所述步驟2的具體實現方法為:利用pyelftools工具解析收集到的二進制文件,根據二進制文件的結構,提取所需部分內容:
4.根據權利要求1所述的用于信創適配的跨CPU架構二進制文件語義分割及實體識別方法,其特征在于:所述步驟3中構建的二進制文件段節分類模型包括:1維卷積層,池化層,LSTM層,全連接層和最終全連接層,其中,輸入經過卷積層和ReLU激活函數,然后通過池化層,輸入經過LSTM層,取最后一個
5.根據權利要求1所述的用于信創適配的跨CPU架構二進制文件語義分割及實體識別方法,其特征在于:所述步驟4包括以下步驟:
6.根據權利要求1所述的用于信創適配的跨CPU架構二進制文件語義分割及實體識別方法,其特征在于:所述步驟5中GloVe向量嵌入的處理方法為:利用libelf庫讀取并解析ELF文件,進行類似分詞的動作,整理成用作訓練的單獨函數調用以及代碼段構建語料庫;利用指令集規范以及ABI規范建立二進制和指令集的映射,并且構建Glove的共現矩陣;利用搜集的預料信息訓練Glove模型,Glove模型保存反應二進制文件語義的詞嵌入向量;保存Glove模型為文件。
...【技術特征摘要】
1.用于信創適配的跨cpu架構二進制文件語義分割及實體識別方法,其特征在于:包括以下步驟:
2.根據權利要求1所述的用于信創適配的跨cpu架構二進制文件語義分割及實體識別方法,其特征在于:所述步驟1的具體實現方法為:采集多樣化的arm和x86,risc-v二進制文件,其中包括應用程序、庫和操作系統二進制文件;這些文件作為輸入文件,利用pyelftools工具自動標注elf文件中的關鍵語義單元和實體,包括函數、變量、段、操作碼、操作數、符號表和字符表。
3.根據權利要求1所述的用于信創適配的跨cpu架構二進制文件語義分割及實體識別方法,其特征在于:所述步驟2的具體實現方法為:利用pyelftools工具解析收集到的二進制文件,根據二進制文件的結構,提取所需部分內容:
4.根據權利要求1所述的用于信創適配的跨cpu架構二進制文件語義分割及實體識別方法,其特征在于:所述步驟3中構建的二進制文件段節分類模型包括:1維卷積層,池化層,...
【專利技術屬性】
技術研發人員:薛超,唐波,李亞輝,王汝通,孫社賓,張開羽,籍文龍,
申請(專利權)人:天地偉業技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。