防劫持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相关推荐

  1. Android登录界面防劫持提醒处理

    Android登录界面防止被劫持,目前没有好的反劫持方法,只能提醒用户登陆界面被劫持,具体实施如下: 涉及到的工具类: import android.app.ActivityManager; impo ...

  2. Android 界面防劫持

    目录 一.什么是页面劫持 二.页面劫持常用攻击手段 三.如何防范页面劫持 3.1 用户方面 3.2 开发者方面 四.参考 一.什么是页面劫持 界面劫持是指在Android系统中,恶意软件通过监控目标软 ...

  3. APP界面防劫持,处于后台时弹窗提示

    当程序处于后台时弹窗提醒,防止其他APP界面劫持 1. 实现对APP所有Activity生命周期的监控 顶层activity中onStope方法被执行,则认为程序处于后台.由于Activity被销毁或 ...

  4. 一文看懂设备指纹如何防篡改、防劫持

    一定程度上,设备指纹之于人的重要意义不亚于身分证. 为什么这么说? 大多数人可能都有过这样的经历: 刷短视频时,只要我们点赞了某个视频,那么下一次再刷视频时,系统就会推荐更多类似的视频:当你在某个购物 ...

  5. 网站域名服务器加密,网站域名利用https防劫持方法

    原标题:网站域名利用https防劫持方法 公共 DNS.HttpDNS 的部署成本过高,并且具有一定的技术门槛,在面对无孔不入的 DNS 劫持时有时候其实有点力不从心. 那么如何简单有效低成本的加强域 ...

  6. 网站app被劫持怎么办?HTTPDNS阿里云域名防劫持, DNSPod 移动解析服务 D+

    网站app被劫持怎么办?HTTPDNS阿里云域名防劫持, DNSPod 移动解析服务 D+ HTTPDNS_移动开发_域名解析_域名防劫持-阿里云 https://www.aliyun.com/pro ...

  7. 网站app被劫持怎么办?dns被劫持,域名被劫持,HTTPDNS阿里云域名防劫持, DNSPod移动解析防劫持服务D+...

    网站app被劫持怎么办?dns被劫持,域名被劫持 HTTPDNS阿里云域名防劫持, DNSPod移动解析防劫持服务D+ 垄断,就是鸡国的毒瘤. 域名被中移动劫持了,mlgb!! 关于互联网流量劫持分析 ...

  8. APP风控SDK之Android APP防作弊SDK解决方案

     推荐阅读 ​Android APP防作弊SDK解决方案 APP防代理抓包 APP防Fiddler抓包 APP防Burp Suite抓包 移动安全和Web安全 kali渗透测试环境搭建 Web安全|d ...

  9. 全球免费公共【 DNS 】解析服务器 IP 地址列表推荐 【解决无法上网+加速+防劫持】

    全球免费公共 DNS 解析服务器 IP 地址列表推荐 (解决无法上网/加速/防劫持)    基本上接触过网络相关知识的人应该多少都会听过 DNS 这个名词.因为DNS 它非常重要,在我们上网的过程中扮 ...

  10. Android Hook 实战--替换第三方sdk的类

    业精于勤荒于嬉,写文章练习表达能力,写代码练习基本工. 场景: 项目中调用了第三方sdk中的方法,此方法中关键日志被屏蔽,需要跟踪日志方可分析失败原因. 问题描述: 查看jar包的class,对应失败 ...

最新文章

  1. LeetCode刷题记录11——290. Word Pattern(easy)
  2. 在leangoo里怎么创建看板,更改看板名称?
  3. 用MathType编辑带点星号的流程
  4. 关闭linux远程桌面,[Linux]Ubuntu 16.04 远程桌面(简单暴力)
  5. 基于InfluxDB+Grafana打造大数据监控利器--转
  6. CentOS7 安装NFS SSH免密码登陆
  7. 深入理解表单脚本系列第一篇——表单对象
  8. Python基础-佛祖镇楼
  9. 详解Transformer
  10. C# 将数据导出到Excel汇总(转)
  11. 计算机应用怎么写,计算机应用专业描述怎么写
  12. ad18 bell封装,AD元件库中常用元件
  13. 麻瓜编程python爬虫微专业_麻瓜编程·python实战·1-3作业:爬取租房信息
  14. Ragel入门1——简介
  15. 读书笔记--正面管教
  16. 设计模式——备份模式
  17. 华为月薪11万招前端工程师,看到要求我傻眼了!
  18. 智能硬件成在线教育救命稻草?
  19. 数据价值应用——数据分析
  20. 微信小程序——个人版微信小程序与企业版微信小程序区别

热门文章

  1. ob测试过程问题记录
  2. 伟大时刻:小米的命门
  3. 工作量统计系统 python_软件测试工作量统计新方法
  4. wpdec函数_小波包分解常用函数
  5. VSCode打开文件中文乱码
  6. matlab电阻电路的计算,Matlab电路原理应用——计算未知电阻
  7. hbase 基本命令
  8. html图片下载链接怎么弄_html 导入图片
  9. bt协议详解 DHT篇(上)
  10. 对DS证据理论的改进如yager、bayes、孙权、murphy的改进处理,及皮尔逊改进处理