亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

控制流圖的構建方法及裝置與流程

文檔序號:40381244發(fā)布日期:2024-12-20 12:03閱讀:4來源:國知局
控制流圖的構建方法及裝置與流程

本說明書實施例屬于計算機,尤其涉及一種控制流圖的構建方法及裝置。


背景技術:

1、對某個目標應用程序進行靜態(tài)分析的過程中,通常需要對目標應用程序構建其對應的控制流圖(control?flow?graph,cfg)。其中,對目標應用程序構建cfg的過程中,可以將對目標應用程序轉換得到的基本塊序列中的基本塊,作為節(jié)點直接加入cfg的點集合。

2、對目標應用程序所對應cfg的邊集合而言,通常難以在有向邊的完整度和時間開銷上達到平衡。例如,傳統(tǒng)的模式識別方法雖然無需執(zhí)行基本塊,然而卻難以完整的發(fā)現(xiàn)cfg所包含的全部有向邊,傳統(tǒng)的全局符號執(zhí)行方法可以完整的發(fā)現(xiàn)cfg所包含的全部有向邊,然而卻需要完整執(zhí)行目標應用程序所對應的整個基本塊序列,時間開銷極大。


技術實現(xiàn)思路

1、本發(fā)明的目的在于提供一種控制流圖的構建方法及裝置。

2、第一方面,提供了一種控制流圖的構建方法,所述方法包括:對目標應用程序所對應基本塊序列中的任意基本塊,當能夠基于所述基本塊的后n條指令確定所述基本塊所指向的第一基本塊的情況下,向所述目標應用程序所對應控制流圖的邊集合,加入由所述基本塊指向所述第一基本塊的有向邊,否則將所述基本塊加入特殊塊集合;對所述特殊塊集合中的任意特殊塊,根據(jù)已加入所述邊集合的有向邊,確定以所述特殊塊為終止節(jié)點的目標有向路徑,通過依次執(zhí)行屬于所述目標有向路徑的基本塊,確定所述特殊塊所指向的第二基本塊,并向所述邊集合加入由所述特殊塊指向所述第二基本塊的有向邊。

3、第二方面,提供了一種控制流圖的構建裝置,所述裝置包括:常規(guī)塊處理單元,配置為對目標應用程序所對應基本塊序列中的任意基本塊,當能夠基于所述基本塊的后n條指令確定所述基本塊所指向的第一基本塊的情況下,向所述目標應用程序所對應控制流圖的邊集合,加入由所述基本塊指向所述第一基本塊的有向邊,否則將所述基本塊加入特殊塊集合;特殊塊處理單元,配置為對所述特殊塊集合中的任意特殊塊,根據(jù)已加入所述邊集合的有向邊,確定以所述特殊塊為終止節(jié)點的目標有向路徑,通過依次執(zhí)行屬于所述目標有向路徑的全部基本塊,確定所述特殊塊所指向的第二基本塊,并向所述邊集合加入由所述特殊塊指向所述第二基本塊的有向邊。

4、第三方面,提供了一種計算機可讀存儲介質,其上存儲有計算機程序,當所述計算機程序在計算設備中執(zhí)行時,計算設備執(zhí)行第一方面中所述的方法。

5、本說明書實施例提供的技術方案中,對目標應用程序構建cfg的過程中,基本塊序列中的部分常規(guī)塊可以通過其自身的結構來快速發(fā)現(xiàn)并構建以常規(guī)塊為起始節(jié)點的有向邊;對于基本塊序列中的除常規(guī)塊外的特殊塊,通過執(zhí)行數(shù)量相對較少的基本塊即可發(fā)現(xiàn)并構建以特殊塊為起始節(jié)點的有向邊,從而有利于更加快速且完整的構建出目標應用程序所對應的cfg。



技術特征:

1.一種控制流圖的構建方法,所述方法包括:

2.根據(jù)權利要求1所述的方法,所述方法還包括:

3.根據(jù)權利要求2所述的方法,所述執(zhí)行環(huán)境包括基于棧的虛擬機;

4.根據(jù)權利要求1所述的方法,所述方法還包括:

5.根據(jù)權利要求1所述的方法,所述方法還包括:

6.根據(jù)權利要求1所述的方法,所述根據(jù)已加入所述邊集合的有向邊,確定以所述特殊塊為終止節(jié)點的目標有向路徑,包括:

7.根據(jù)權利要求6所述的方法,所述確定在開始執(zhí)行所述特殊塊時,所述特殊塊使用的棧所需滿足的目標深度下限,包括:

8.根據(jù)權利要6所述的方法,所述根據(jù)所述目標深度下限以及已加入所述邊集合的有向邊,確定以所述特殊塊為終止節(jié)點的目標有向路徑,包括:

9.根據(jù)權利要求6所述的方法,所述根據(jù)所述目標深度下限以及已加入所述邊集合的有向邊,確定以所述特殊塊為終止節(jié)點的目標有向路徑,包括:

10.一種控制流圖的構建裝置,所述裝置包括:

11.一種計算機可讀存儲介質,其上存儲有計算機程序,當所述計算機程序在計算設備中執(zhí)行時,計算設備執(zhí)行權利要求1-9中任一項所述的方法。


技術總結
一種控制流圖的構建方法及裝置,該方法包括:對目標應用程序所對應基本塊序列中的任意基本塊,當能夠基于基本塊的后N條指令確定基本塊所指向的第一基本塊的情況下,向目標應用程序所對應控制流圖的邊集合,加入由基本塊指向第一基本塊的有向邊,否則將基本塊加入特殊塊集合;對特殊塊集合中的任意特殊塊,根據(jù)已加入邊集合的有向邊,確定以特殊塊為終止節(jié)點的目標有向路徑,通過依次執(zhí)行屬于目標有向路徑的全部基本塊,確定特殊塊所指向的第二基本塊,并向邊集合加入由特殊塊指向第二基本塊的有向邊。

技術研發(fā)人員:楊金妮,周知遠,盧冶,朵曉東,徐鵬飛
受保護的技術使用者:螞蟻區(qū)塊鏈科技(上海)有限公司
技術研發(fā)日:
技術公布日:2024/12/19
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1