1.一種動態庫文件保護方法,其特征在于,由動態庫文件執行,包括:
在一應用程序調用一動態庫文件的一接口函數時,驗證所述應用程序是否為目標應用程序;
在驗證所述應用程序為所述目標應用程序時,將所述動態庫文件中至少作用于所述接口函數的一狀態變量的值由第一值設置為第二值;
在所述狀態變量為所述第一值時設置所述接口函數為不可被執行以及在所述狀態變量為第二值時設置所述接口函數為可被執行。
2.根據權利要求1所述的動態庫文件保護方法,其特征在于,所述狀態變量作用于所述動態庫文件中的多個接口函數。
3.根據權利要求1所述的動態庫文件保護方法,其特征在于,所述狀態變量默認為所述第一值。
4.根據權利要求1~3任意一項所述的動態庫文件保護方法,其特征在于,所述目標應用程序具有一預設私鑰;其中,驗證所述應用程序是否為目標應用程序包括:
生成一個隨機數發送至所述應用程序;
接收所述應用程序使用一私鑰對所述隨機數加密得到的密文;
使用與所述預設私鑰相對應的一預設公鑰對所述密文進行解密并判斷是否解密得到所述隨機數;
在得到所述隨機數時判斷所述應用程序為所述目標應用程序,否則,判斷所述應用程序不是所述目標應用程序。
5.根據權利要求1~3任意一項所述的動態庫文件保護方法,其特征在于,所述目標應用程序具有一預設驗證信息;其中,驗證所述應用程序是否為目標應用程序包括:
接收所述應用程序發送的一驗證信息,并比對所述驗證信息是否與所述預設驗證信息一致;
在所述驗證信息與所述預設驗證信息一致時判斷所述應用程序為所述目標應用程序,否則,判斷所述應用程序不是所述目標應用程序。
6.根據權利要求1~3任意一項所述的動態庫文件保護方法,其特征在于,其中,驗證所述應用程序是否為目標應用程序包括:
獲取所述應用程序的包名以及數字簽名,并判斷所述應用程序的包名以及數字簽名是否與所述目標應用程序的包名以及數字簽名一致;
在所述應用程序的包名以及數字簽名與所述目標應用程序的包名以及數字簽名一致時判斷所述應用程序為所述目標應用程序,否則,判斷所述應用程序不是所述目標應用程序。
7.一種動態庫文件保護裝置,其特征在于,設置在動態庫文件之中,包括:
身份驗證模塊,用于在一應用程序調用一動態庫文件文件的一接口函數時,驗證所述應用程序是否為目標應用程序;
變量設置模塊,用于在驗證所述應用程序為所述目標應用程序時,將所述動態庫文件中至少作用于所述接口函數的一狀態變量的值由第一值設置為第二值;
執行設置模塊,用于在所述狀態變量為所述第一值時設置所述接口函數為不可被執行以及在所述狀態變量為第二值時設置所述接口函數為可被執行。
8.根據權利要求7所述的動態庫文件保護裝置,其特征在于,所述狀態變量作用于所述動態庫文件中的多個接口函數。
9.根據權利要求7所述的動態庫文件保護裝置,其特征在于,所述狀態變量默認為所述第一值。
10.根據權利要求7~9任意一項所述的動態庫文件保護裝置,其特征在于,所述目標應用程序具有一預設私鑰;其中,驗證所述應用程序是否為目標應用程序包括:
生成一個隨機數發送至所述應用程序;
接收所述應用程序使用一私鑰對所述隨機數加密得到的密文;
使用與所述預設私鑰相對應的一預設公鑰對所述密文進行解密并判斷是否解密得到所述隨機數;
在得到所述隨機數時判斷所述應用程序為所述目標應用程序,否則,判斷所述應用程序不是所述目標應用程序。