System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及信息安全領域,特別涉及一種可執行文件的文件生成方法、一種可執行文件的文件運行方法、一種可執行文件的文件生成裝置、一種可執行文件的文件運行裝置、一種電子設備、一種非瞬時計算機可讀存儲介質、以及一種計算機程序產品。
技術介紹
1、源代碼中除了包括用于提供應用服務的可執行代碼之外,還可以包括與可執行代碼一起混編在源代碼中的常量信息。其中,常量信息的信息明文內容可以間接地反應出實現應用服務所需要的一些技術關鍵信息,并且,這些技術關鍵信息是不希望被披露的,因此,為了避免這些技術關鍵信息通過剖析(profiling)常量信息而被惡意獲取,可以對源代碼進行全局混淆處理,以對常量信息進行信息安全保護。
2、對源代碼的全局混淆處理可以提升對常量信息的獲取難度,但是,常量信息仍然是以明文形態完整地常態混編在源代碼中,因此,若采用諸如暴力枚舉等逆向解混淆方式,仍然可以從全局混淆后的源代碼中還原得到常量信息的全部信息明文內容和上下文關系。
3、從而,如何提升對源代碼的常量信息的信息安全保護的可靠性,成為現有技術中有待解決的技術問題。
技術實現思路
1、本申請的實施例提供一種可執行文件的文件生成方法、一種可執行文件的文件運行方法、一種可執行文件的文件生成裝置、一種可執行文件的文件運行裝置、一種電子設備、一種非瞬時計算機可讀存儲介質、以及一種計算機程序產品,有助于提升對源代碼的常量信息的信息安全保護的可靠性。
2、在本申請的一個實施例中,提供了一種可執行文件的文件
3、對常量大對象進行加密處理;其中,所述常量大對象的對象拓撲用于表征源代碼的常量信息,并且,所述加密處理用于將所述對象拓撲分層加密為多層嵌套密文;
4、利用所述源代碼和所述多層嵌套密文,生成可執行文件;其中,所述可執行文件被配置為:對所述多層嵌套密文中的對象密文執行匹配對象調用的局部解密還原,以及,將所述局部解密還原得到的還原內容在內存中的內存生命周期限制在對象調用的調用生命周期內。
5、在一些示例中,可選地,所述對象拓撲中的節點對象用于表征所述常量信息的信息明文內容;所述分層加密被具體配置為:將所述對象拓撲中的節點對象表征的信息明文內容加密為該節點對象的對象密文;按照所述對象拓撲中的節點對象之間的拓撲關系,將所述對象拓撲中的節點對象的對象密文逐層嵌套,并且,所述對象拓撲中的節點對象的對象密文在所述多層嵌套密文中的嵌套關系與所述拓撲關系匹配。
6、在一些示例中,可選地,所述加密處理還用于在所述分層加密之前對所述對象拓撲進行混淆處理;其中,所述對象拓撲中的節點對象包括根節點對象、枝節點對象以及葉子節點對象,所述混淆處理用于將所述對象拓撲中的葉子節點對象表征的信息明文內容替換為預先設定的偽裝明文內容。
7、在一些示例中,可選地,所述葉子節點對象表征的信息明文內容為所述常量信息的信息明文內容中的最小內容元素。
8、在一些示例中,可選地,所述對象拓撲中的節點對象包括根節點對象、枝節點對象以及葉子節點對象;所述分層加密被具體配置為:將所述對象拓撲中的葉子節點對象和枝節點對象的對象密文封裝為所述多層嵌套密文的內層密文,以及,所述分層加密還將所述對象拓撲中的根節點對象的對象密文封裝為所述多層嵌套密文的外層密文;所述可執行文件還被配置為:響應于所述可執行文件的運行啟動將所述多層嵌套密文的外層密文在內存中解密還原;所述對所述多層嵌套密文中的對象密文執行匹配對象調用的局部解密還原,包括:對所述多層嵌套密文中的內層密文執行匹配對象調用的局部解密還原。
9、在一些示例中,可選地,所述加密處理還用于:對所述對象拓撲中的葉子節點對象進行混淆處理;其中,所述分層加密是在所述混淆處理之后執行的,所述葉子節點對象表征的信息明文內容為所述常量信息的信息明文內容中的最小內容元素,所述混淆處理用于將所述葉子節點對象表征的信息明文內容替換為預先設定的偽裝明文內容,所述葉子節點對象的對象密文包括對所述偽裝明文內容的加密密文,并且,所述葉子節點對象的對象密文位于所述多層嵌套密文的最內層。
10、在一些示例中,可選地,所述對常量大對象進行加密處理,包括:對所述常量大對象進行序列化處理;對所述序列化處理得到的序列化對象信息進行加密處理。
11、在一些示例中,可選地,所述利用所述源代碼和所述多層嵌套密文,生成可執行文件,包括:通過對所述源代碼和所述多層嵌套密文進行編譯,生成所述可執行文件。
12、在一些示例中,可選地,所述通過對所述源代碼和所述多層嵌套密文進行編譯,生成所述可執行文件,包括:利用所述多層嵌套密文生成頭文件;對所述源代碼和所述頭文件進行編譯,生成可執行文件。
13、在本申請的另一個實施例中,提供了一種可執行文件的文件運行方法,包括:
14、響應于在可執行文件的運行過程中接收到的對象調用請求,對多層嵌套密文執行局部解密還原;其中,所述多層嵌套密文是對常量大對象的對象拓撲進行分層加密得到的,所述對象拓撲用于表征所述可執行文件的源代碼的常量信息,并且,所述局部解密還原用于將所述對象調用請求指定的節點對象的對象密文在內存中解密還原;
15、響應于所述對象調用請求的調用完成,結束所述局部解密還原得到的還原內容在內存中的內存生命周期。
16、在一些示例中,可選地,所述對象拓撲中的節點對象的對象密文在所述多層嵌套密文中的嵌套關系與所述拓撲關系匹配,所述對象拓撲中的節點對象用于表征所述常量信息的信息明文內容,并且,所述對象拓撲中的每個節點對象的對象密文是通過對該節點對象表征的信息明文內容加密得到的。
17、在一些示例中,可選地,所述對象拓撲中的節點對象包括根節點對象、枝節點對象以及葉子節點對象,所述多層嵌套密文的外層密文為所述對象拓撲中的根節點對象的對象密文,并且,所述多層嵌套密文的內層密文包括所述對象拓撲的葉子節點對象和枝節點對象的對象密文;所述運行方法還包括:響應于所述可執行文件的運行啟動,將所述多層嵌套密文的外層密文在內存中解密還原;所述局部解密還原被具體配置為對所述對象調用請求指定的所述葉子節點對象或所述枝節點對象的對象密文執行解密還原。
18、在一些示例中,可選地,所述葉子節點對象表征的信息明文內容為所述常量信息的信息明文內容中的最小內容元素。
19、在一些示例中,可選地,所述葉子節點對象的對象密文位于所述多層嵌套密文的最內層,并且,所述葉子節點對象的對象密文在內存中解密還原得到的還原內容為替代信息明文內容的偽裝明文內容。
20、在一些示例中,可選地,所述多層嵌套密文是通過對所述常量大數據的序列化對象信息進行加密處理得到的,并且,任意節點對象的對象密文在內存中的解密還原還包括對還原內容的反序列化處理。
21、在一些示例中,可選地,所述響應于所述對象調用請求的調用完成,結束所述局部解密還原得到的還原內容在內存中的內存生命周期,包括:響應本文檔來自技高網...
【技術保護點】
1.一種可執行文件的文件生成方法,其特征在于,包括:
2.根據權利要求1所述的文件生成方法,其特征在于,
3.根據權利要求2所述的文件生成方法,其特征在于,
4.根據權利要求3所述的文件生成方法,其特征在于,
5.一種可執行文件的文件運行方法,其特征在于,包括:
6.根據權利要求5所述的文件運行方法,其特征在于,
7.根據權利要求6所述的文件運行方法,其特征在于,
8.一種可執行文件的文件生成裝置,其特征在于,包括:
9.一種可執行文件的文件運行裝置,其特征在于,包括:
10.一種電子設備,其特征在于,包括處理器,所述處理器用于執行如權利要求1至4中任一項所述的文件生成方法、以及如權利要求5至7中任一項所述的文件運行方法中的至少之一。
11.一種非瞬時計算機可讀存儲介質,其特征在于,所述非瞬時計算機可讀存儲介質存儲指令,所述指令在由處理器執行時使得所述處理器執行如權利要求1至4中任一項所述的文件生成方法、以及如權利要求5至7中任一項所述的文件運行方法中的至少之一
12.一種計算機程序產品,其特征在于,包括計算機可執行指令,所述計算機可執行指令在被處理器執行時實現如權利要求1至4中任一項所述的文件生成方法、以及如權利要求5至7中任一項所述的文件運行方法中的至少之一。
...【技術特征摘要】
1.一種可執行文件的文件生成方法,其特征在于,包括:
2.根據權利要求1所述的文件生成方法,其特征在于,
3.根據權利要求2所述的文件生成方法,其特征在于,
4.根據權利要求3所述的文件生成方法,其特征在于,
5.一種可執行文件的文件運行方法,其特征在于,包括:
6.根據權利要求5所述的文件運行方法,其特征在于,
7.根據權利要求6所述的文件運行方法,其特征在于,
8.一種可執行文件的文件生成裝置,其特征在于,包括:
9.一種可執行文件的文件運行裝置,其特征在于,包括:
10.一種電子設備,其特...
【專利技術屬性】
技術研發人員:請求不公布姓名,請求不公布姓名,請求不公布姓名,
申請(專利權)人:上海壁仞科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。