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

函數(shù)調(diào)用信息的獲取方法及裝置、測試設(shè)備與流程

文檔序號(hào):11154832閱讀:來源:國知局

技術(shù)特征:

1.一種函數(shù)調(diào)用信息的獲取方法,其特征在于,包括:

在運(yùn)行待測試的程序的過程中,對(duì)所述程序中待調(diào)用的托管函數(shù)進(jìn)行編譯,得到非托管函數(shù),其中,所述非托管函數(shù)被允許直接運(yùn)行在中央處理器CPU上;

對(duì)所述非托管函數(shù)進(jìn)行鉤子hook操作,得到第一函數(shù)調(diào)用信息,其中,所述hook操作用于監(jiān)控所述非托管函數(shù)在運(yùn)行時(shí)的參數(shù)和返回值,所述第一函數(shù)調(diào)用信息至少包括:函數(shù)進(jìn)入時(shí)間、函數(shù)退出時(shí)間,函數(shù)返回值;

根據(jù)所述第一函數(shù)調(diào)用信息和所述托管函數(shù)的函數(shù)名生成第二函數(shù)調(diào)用信息,其中,所述第二函數(shù)調(diào)用信息中包括具有對(duì)應(yīng)關(guān)系的所述托管函數(shù)的函數(shù)名、函數(shù)進(jìn)入時(shí)間、函數(shù)退出時(shí)間,函數(shù)返回值;

輸出所述第二函數(shù)調(diào)用信息。

2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在對(duì)所述非托管函數(shù)進(jìn)行鉤子hook操作之后,且在根據(jù)所述第一函數(shù)調(diào)用信息和所述托管函數(shù)的函數(shù)名生成第二函數(shù)調(diào)用信息之前,還包括:

根據(jù)預(yù)先建立的對(duì)應(yīng)關(guān)系獲取與所述非托管函數(shù)的第一函數(shù)指針對(duì)應(yīng)的所述托管函數(shù)的第二函數(shù)指針;

通過所述第二函數(shù)指針查找到所述托管函數(shù)的所述函數(shù)名。

3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在對(duì)所述非托管函數(shù)進(jìn)行鉤子hook操作之后,且在根據(jù)預(yù)先建立的對(duì)應(yīng)關(guān)系獲取與所述非托管函數(shù)的第一函數(shù)指針對(duì)應(yīng)的所述托管函數(shù)的第二函數(shù)指針之前,還包括:

通過執(zhí)行所述hook操作得到的返回地址獲取所述非托管函數(shù)的匯編代碼;

根據(jù)所述匯編代碼獲取所述非托管函數(shù)的第一函數(shù)指針。

4.根據(jù)權(quán)利要求2所述的方法,其特征在于,在對(duì)所述程序中待調(diào)用的托管函數(shù)進(jìn)行編譯之后,且在根據(jù)預(yù)先建立的對(duì)應(yīng)關(guān)系獲取與所述非托管函數(shù)的第一函數(shù)指針對(duì)應(yīng)的所述托管函數(shù)的第二函數(shù)指針之前,還包括:

建立所述非托管函數(shù)的第一函數(shù)指針與所述托管函數(shù)的第二函數(shù)指針之間的所述對(duì)應(yīng)關(guān)系,其中,進(jìn)行所述編譯所需的參數(shù)包括所述托管函數(shù)的第二函數(shù)指針,進(jìn)行所述編譯之后所得到的返回值包括所述非托管函數(shù)的第一函數(shù)指針。

5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,對(duì)所述非托管函數(shù)進(jìn)行鉤子hook操作,得到第一函數(shù)調(diào)用信息包括:

使用預(yù)先定義的hook函數(shù)對(duì)非托管函數(shù)進(jìn)行所述hook操作,其中,所述預(yù)先定義的hook函數(shù)輸入?yún)?shù)包括:需要被hook操作的參數(shù),所述預(yù)先定義的hook函數(shù)輸出參數(shù)包括:所述托管函數(shù)運(yùn)行時(shí)的參數(shù)和返回值,所述預(yù)先定義的hook函數(shù),用于監(jiān)控所述非托管函數(shù)在運(yùn)行時(shí)的參數(shù)和返回值。

6.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,對(duì)所述程序中待調(diào)用的托管函數(shù)進(jìn)行編譯,得到非托管函數(shù)包括:

對(duì)所述程序中所有待調(diào)用的托管函數(shù)進(jìn)行編譯,得到對(duì)應(yīng)的非托管函數(shù)。

7.一種函數(shù)調(diào)用信息的獲取裝置,其特征在于,包括:

編譯單元,用于在運(yùn)行待測試的程序的過程中,對(duì)所述程序中待調(diào)用的托管函數(shù)進(jìn)行編譯;

第一確定單元,用于對(duì)所述托管函數(shù)編譯后得到非托管函數(shù),其中,所述非托管函數(shù)被允許直接運(yùn)行在中央處理器CPU上;

第二確定單元,用于對(duì)所述非托管函數(shù)進(jìn)行鉤子hook操作,得到第一函數(shù)調(diào)用信息,其中,所述hook操作用于監(jiān)控所述非托管函數(shù)在運(yùn)行時(shí)的參數(shù)和返回值,所述第一函數(shù)調(diào)用信息至少包括:函數(shù)進(jìn)入時(shí)間、函數(shù)退出時(shí)間,函數(shù)返回值;

生成單元,用于根據(jù)所述第一函數(shù)調(diào)用信息和所述托管函數(shù)的函數(shù)名生成第二函數(shù)調(diào)用信息,其中,所述第二函數(shù)調(diào)用信息中包括具有對(duì)應(yīng)關(guān)系的所述托管函數(shù)的函數(shù)名、函數(shù)進(jìn)入時(shí)間、函數(shù)退出時(shí)間,函數(shù)返回值;

輸出單元,用于輸出所述第二函數(shù)調(diào)用信息。

8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括:

第一獲取單元,用于根據(jù)預(yù)先建立的對(duì)應(yīng)關(guān)系獲取與所述非托管函數(shù)的第一函數(shù)指針對(duì)應(yīng)的所述托管函數(shù)的第二函數(shù)指針;

查找單元,用于通過所述第二函數(shù)指針查找到所述托管函數(shù)的所述函數(shù)名。

9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括:

第二獲取單元,用于通過執(zhí)行所述hook操作得到的返回地址獲取所述非托管函數(shù)的匯編代碼;

第三獲取單元,用于根據(jù)所述匯編代碼獲取所述非托管函數(shù)的第一函數(shù)指針。

10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括:

建立單元,用于建立所述非托管函數(shù)的第一函數(shù)指針與所述托管函數(shù)的第二函數(shù)指針之間的所述對(duì)應(yīng)關(guān)系,其中,進(jìn)行所述編譯所需的參數(shù)包括所述托管函數(shù)的第二函數(shù)指針,進(jìn)行所述編譯之后所得到的返回值包括所述非托管函數(shù)的第一函數(shù)指針。

11.根據(jù)權(quán)利要求7至10中任一項(xiàng)所述的裝置,其特征在于,所述第一確定單元包括:

操作模塊,用于使用預(yù)先定義的hook函數(shù)對(duì)非托管函數(shù)進(jìn)行所述hook操作,其中,所述預(yù)先定義的hook函數(shù)輸入?yún)?shù)包括:需要被hook操作的參數(shù),所述預(yù)先定義的hook函數(shù)輸出參數(shù)包括:所述托管函數(shù)運(yùn)行時(shí)的參數(shù)和返回值,所述預(yù)先定義的hook函數(shù),用于監(jiān)控所述非托管函數(shù)在運(yùn)行時(shí)的參數(shù)和返回值。

12.根據(jù)權(quán)利要求7至10中任一項(xiàng)所述的裝置,其特征在于,所述編譯單元,還用于對(duì)所述程序中所有待調(diào)用的托管函數(shù)進(jìn)行編譯,得到對(duì)應(yīng)的非托管函數(shù)。

13.一種測試設(shè)備,其特征在于,包括:

處理器;

用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;

其中,所述處理器,用于在運(yùn)行待測試的程序的過程中,對(duì)所述程序中待調(diào)用的托管函數(shù)進(jìn)行編譯,得到非托管函數(shù),對(duì)所述非托管函數(shù)進(jìn)行鉤子hook操作,得到第一函數(shù)調(diào)用信息,根據(jù)所述第一函數(shù)調(diào)用信息和所述托管函數(shù)的函數(shù)名生成第二函數(shù)調(diào)用信息,進(jìn)而輸出所述第二函數(shù)調(diào)用信息,其中,所述非托管函數(shù)被允許直接運(yùn)行在中央處理器CPU上,所述hook操作用于監(jiān)控所述非托管函數(shù)在運(yùn)行時(shí)的參數(shù)和返回值,所述第一函數(shù)調(diào)用信息至少包括:函數(shù)進(jìn)入時(shí)間、函數(shù)退出時(shí)間,函數(shù)返回值,所述第二函數(shù)調(diào)用信息中包括具有對(duì)應(yīng)關(guān)系的所述托管函數(shù)的函數(shù)名、函數(shù)進(jìn)入時(shí)間、函數(shù)退出時(shí)間,函數(shù)返回值。

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