android so劫持,防劫持SDK
防劫持SDK
一、產品簡介
防劫持SDK是具備防劫持兼防截屏功能的SDK,可有效防范惡意程序對應用進行界面劫持與截屏的惡意行為。
二、iOS版本
2.1 環境要求條目說明兼容平臺iOS 8.0+
開發環境XCode 4.0 +
CPU架構armv7, arm64, i386, x86_64
SDK依賴libz, libresolv, libc++
2.2 SDK接入
2.2.1 DxAntiHijack獲取
從頂象技術官網下載SDK或者向銷售人員直接獲取,下面是SDK的目錄結構
DXhijack_xxx_xxx_xxx_debug.zip 防劫持debug 授權集成庫 DXhijack_xxx_xxx_xxx_release.zip 防劫持release 授權集成庫解壓DXhijack_xxx_xxx_xxx_xxx.zip 文件,得到以下文件DXhijack 文件夾DXhijack.a 已授權靜態庫
Header/DXhijack.h 頭文件
dx_auth_license.description 授權描述文件
DXhijackiOS.framework 已授權framework 集成庫
2.2.2 將SDK接入XCode
2.2.2.1 導入靜態庫及頭文件
將SDK目錄(包含靜態庫及其頭文件)直接拖入工程目錄中,或者右擊總文件夾添加文件。 或者 將DXhijackiOS.framework 拖進framework存放目錄
2.2.2.2 添加其他依賴庫
在項目中添加 libc++.tbd 庫,選擇Target -> Build Phases,在Link Binary With Libraries里點擊加號,添加libc++.tbd
2.2.2.3 添加Linking配置
在項目中添加Linking配置,選擇Target -> Build Settings,在Other Linker Flags里添加-ObjC配置
2.3 DxAntiHijack使用
2.3.1 方法及參數說明@interface DXhijack : NSObject
+(void)addFuzzy; //后臺模糊效果
+(void)removeFuzzy;//后臺移除模糊效果
@end
2.3.2 使用示例
在對應的AppDelegate.m 文件中頭部插入#import "DXhijack.h"
//在AppDelegate.m 文件中applicationWillResignActive 方法調用增加
- (void)applicationWillResignActive:(UIApplication *)application {
[DXhijack addFuzzy];
}
//在AppDelegate.m 文件中applicationDidBecomeActive 方法調用移除
- (void)applicationDidBecomeActive:(UIApplication *)application {
[DXhijack removeFuzzy];
}
2.4 問題錯誤匯總錯誤碼錯誤描述-1000 , -1101授權失敗,請聯系頂象客服人員
-1102試用版本已過期,請聯系頂象客服人員
-1103包名相關不正確,請校對包名信息是否跟生成庫提供的包名一致
三、Android版本
3.1 環境要求條目說明開發目標Android 4.0+
開發環境Android Studio 3.0.1 或者 Eclipse + ADT
CPU架構ARM 或者 x86
SDK三方依賴無
3.2 SDK接入
3.2.1 SDK獲取訪問頂象技術官網,注冊賬號
登錄控制臺,訪問“全流程端防控->安全鍵盤SDK”模塊
新增App,填寫相關信息
下載對應平臺SDK
3.2.2 SDK文件結構SDK目錄結構
dx-anti-hijack-${version}.jar Android jar包
armeabi, armeabi-v7a, arm64-v8a, x86 4個abi平臺的動態庫文件
3.2.3 Android Studio 集成
3.2.3.1 Android Studio導入jar, so
把dx-anti-hijack-x.x.x.jar, so文件放到相應模塊的libs目錄下
在該Module的build.gradle中如下配置:android{
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
repositories{
flatDir{
dirs 'libs'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
}
3.2.3.2 權限聲明
Android 5.0(不包含5.0)以下需要在項目AndroidManifest.xml文件中添加下列權限配置:
3.2.3.3 混淆配置-dontwarn *.com.dingxiang.mobile.**
-dontwarn *.com.mobile.strenc.**
-keep class com.security.inner.**{*;}
-keep class *.com.dingxiang.mobile.**{*;}
-keep class *.com.mobile.strenc.**{*;}
-keep class com.dingxiang.mobile.antihijack.** {*;}
3.3 DxAntiHijack 類使用
3.3.1 方法及參數說明
3.3.1.1 初始化
建議在Application的onCreate下調用/**
* 使用API前必須先初始化
* @param context
*/
public static void init(Context context);
3.3.1.2 反截屏功能/**
* 反截屏功能
* @param activity
*/
public static void DGCAntiHijack.antiScreen(Activity activity);
/**
* 反截屏功能
* @param dialog
*/
public static void DGCAntiHijack.antiScreen(Dialog dialog);
3.3.1.3 反劫持檢測/**
* 調用防劫持檢測,通常現在activity的onPause和onStop調用
* @return 是否存在被劫持風險
*/
public static boolean DGCAntiHijack.antiHijacking();
3.3.2 使用示例//使用反劫持方法
@Override
protected void onPause(){
boolean safe = DXAntiHijack.antiHijacking();
if(!safe){
Toast.makeText(getApplicationContext(), "App has entered the background", Toast.LENGTH_LONG).show();
}
super.onPause();
}
@Override
protected void onStop(){
boolean safe = DXAntiHijack.antiHijacking();
if(!safe){
Toast.makeText(getApplicationContext(), "App has entered the background", Toast.LENGTH_LONG).show();
}
super.onStop();
}
//使用反截屏方法
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DXAntiHijack.antiScreen(MainActivity.this);
}
3.4 問題錯誤匯總錯誤碼錯誤描述-1000 , -1101授權失敗,請聯系頂象客服人員
-1102試用版本已過期,請聯系頂象客服人員
-1103包名或簽名相關不正確,請校對包名/簽名信息是否跟生成庫提供的包名/簽名一致
其他設備運行在危險環境中,如注入、調試等環境
四、FAQ
總結
以上是生活随笔為你收集整理的android so劫持,防劫持SDK的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android签名 (二) 制作签名文件
- 下一篇: 好用的android剪辑软件,最好用的视