android so劫持,防劫持SDK

2023-10-31

防劫持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的目录结构

e6c4f44e71aa5da77d26c74026ba3944.png

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目录结构

94d0112c5d38ed51c30323e47f2e3da8.pngdx-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目录下

fdc019797df8454ac77dd1fa5972e8d5.png在该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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android so劫持,防劫持SDK 的相关文章

  • SpringBoot 集成Dubbo 提示:java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy

    今天搭建SpringBoot 集成Dubbo 提示如下错误信息 java lang NoClassDefFoundError org apache curator RetryPolicy 原因 缺少curator框架依赖 pom xml 文
  • Ubuntu ndk 编译libx264

    ffmpeg android dlopen failed library libclang rt ubsan standalone aarch64 android so not found nkd 编译ffmpeg错误 clang is u
  • 用Word+ChatGPT一分钟搞定周报总结

    Office 的办公软件Word 是我们日常的文字工作的阵地 与ChatGPT的文字生成功能有天然的互补性 微软的Office365 Copilot已经集成了这个功能 但需要收费 我们可以使用现有的Word ChatGPT 手动来回Copy
  • VS Code 配置 MySQL 数据库环境

    1 Windows安装mysql link https blog csdn net ZHorcrux article details 130502249 2 使用 VS Code 连接 MySQL 数据库 link https blog c
  • 【代码随想录】Day57 动态规划17 (回文子串、最长回文子序列)

    第一题 力扣 LeetCode 官网 全球极客挚爱的技术成长平台 二维dp数组 从下往上 从左往右推 int countSubstrings string s vector
  • 爬虫之selenium开启无界面模式

    绝大多数服务器是没有界面的 selenium控制谷歌浏览器也是存在无界面模式的 又称之为无头模式 开启无界面模式的方法 实例化配置对象 options webdriver ChromeOptions 配置对象添加开启无界面模式的命令 opt
  • AutoDL跑pycharm代码

    参考文献 AutoDL帮助文档 Pycharm连接远程GPU服务器跑深度学习 哔哩哔哩 bilibili 环境包的安装在linux环境下载非常方便 安装apex 重点是将路径转换正确 参考文献 详解Apex的安装和使用教程 花开山岗红艳艳的
  • VIVADO关于VIO IP核(Virtual Input/Output)的使用

    平台 vivado2017 4 最近在验证一个单独的模块时 希望可以在线实时改变内部寄存器的值 经过分析发现 VIVADO的VIO可以完美解决我的这个问题 下面来看看官方介绍 VIO它可以实时监控和驱动FPGA内部的信号 输入和输出端口的数
  • Java EnumMap values()方法具有什么功能呢?

    转自 Java EnumMap values 方法具有什么功能呢 下文笔者讲述EnumMap values 方法的功能简介说明 如下所示 EnumMap values 方法的功能 返回一个Collection 此集合中存储EnumMap中的
  • 如何阅读英文文献,有哪些高效的方法或者辅助工具?

    每日一问 如何阅读英文文献 有哪些高效的方法或者辅助工具 Datawhale优秀回答者 追风者 方法 先是通读文献综述 理解专业术语和基本概念 起初时应以泛读为主 再研读自己研究领域的经典论文50篇 确定研究方向之后 要以精读为主 要做到边
  • 线性代数 计算机网络,计算机应用、计算机网络专业《线性代数》课程.doc

    2006级函授建筑工程 计算机应用 计算机网络专业 线性代数 课程 自 学 指 导 和 自 学 进 度 表 一 课程的目的 任务和要求 本课程是为培养建筑工程 计算机应用 计算机网络及工程等专业人才而设置的一门必修的重要基础理论课 作为信息
  • 【Redis】举例让你快速理解!Redis数据结构与命令(更新中)

    Redis 数据存内存 C语言实现 单线程架构 基于键值对 值可以为字符串 哈希 列表 集合 有序集合 键过期功能实现缓存 流水线功能减少网络开销 持久化 数据内存 gt 磁盘 主从复制 数据多副本 高可用 故障发现与自动转移 分布式 奇数
  • typescript 扩展第三方库类型,添加属性成员

    preface 之前在使用 axios 的时候 需要在 AxiosRequestConfig 中添加自定义属性 比如说 配置是否使用 loading 效果 配置 业务报错是否 自动提示 我选择了通过过 扩展接口 然后自定义了一个函数 在函数
  • 这才是CSDN最系统的网络安全学习路线(建议收藏)

    01 什么是网络安全 网络安全可以基于攻击和防御视角来分类 我们经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 无论网络 Web 移动 桌面 云等哪个领域 都有攻与防两面性 例如 Web 安全技
  • 华为hcip认证考试内容是什么?hcip认证有哪些方向

    HCIP不同方向考试的科目和内容不一样 有的需要考三门 如 HCNP Routing Switching 路由交换 HCNP Storage 存储 HCNP Security 安全 这三个方向 而其他的认证方向 有的只需要考一门的 少部分则
  • WordPress配置SMTP发送电子邮件(QQ邮箱)

    Wordpress通过PHP自带的mail函数实现电子邮件的发送成功率极低 现有的各类邮箱 例如QQ邮箱 新浪邮箱 163邮箱等 基本不支持PHP语言的mail函数实现的邮件发送 因此 需要配置基于SMTP协议的邮件发送环境 实现Wordp
  • 软件工程基础知识--软件项目管理

    软件项目管理是指软件生存周期中软件管理者所进行的一系列活动 其目的是在一定的时间和预设范围内有效地利用人力 资源 技术和工具 使软件系统或软件产品按原定计划和质量要求如期完成 一 软件项目管理涉及范围 二 软件项目估算 三 进度管理 四 软
  • AutoCAD 2021 for Mac(cad2021)中文版

    AutodeskAutoCAD 2021中文版目前已经正式发布了 CAD2021 全称为AutoCAD2021 这是目前Autodesk公司最新发布的一款非常好用且功能强大二维和三维CAD设计软件 同时该软件内置了专业强大的MEP MAP
  • Linux 之大数据定制篇-Shell 编程

    Linux 之大数据定制篇 Shell 编程 为什么要学习Shell 编程 Linux 运维工程师在进行服务器集群管理时 需要编写Shell 程序来进行服务器管理 对于JavaEE 和Python 程序员来说 工作的需要 你的老大会要求你编

随机推荐

  • 【音视频流媒体】1、图像YUV、视频编码H264、封装格式 FLV、网络协议RTSP 超详细介绍

    文章目录 一 从参数看视频图像 1 1 像素 1 2 分辨率 1 3 位深 1 4 stride 1 5 帧率 fps 帧 秒 1 6 码率 Kb s Mb s 二 颜色空间 YUV RGB YUV4 4 4 YUV4 2 2 YU16 或
  • Java jsp cannot be resolved to a type解决方法之一

    不要在一个文件夹下面建两个名字一样的包和类
  • 团队管理的四大挑战——招人篇

    团队管理的四大挑战 招人篇 招人篇 1 告诉 HR 你的团队需要什么样的人 2 尊重应聘者 3 你不需要套路 4 互补而不是趋同 5 如果犹豫 那么放弃 6 如何面试比你高阶的人 7 面试最重要的目的是识别风险 8 缺点易现 亮点难得 结语
  • 【chineseOCR】踩过的坑

    1 环境 ubuntu16 04 cuda10 tensorflow1 13 2 web py 0 40 dev0 这两个比较重要 不然会报好多奇怪的错 说明tensorflow必须1 13版本 低了不支持cudn10 高了chineseO
  • Android自定义轮播效果(优化)

    创作背景 本文是继上一篇 Android自定义轮播效果 优化问题而写 希望大家能有顺序的看 优化一 实现自动无线轮播 private class myPagerAdapter extends PagerAdapter Override pu
  • 【知识点】单片机USB转TTL模块的相关知识

    前言 USB转TTL模块的作用就是把电平转换到双方都能识别进行通信 单片机通信接口的电平逻辑和PC机通信接口的电平逻辑不同 PC机上的通信 接口有USB接口 相应电平逻辑遵照USB原则 还有DB9接口 九针口 相应电平逻辑遵照RS 232原
  • MFC的Brush与Pen的使用

    Brush的使用 void CMFCApplicationDlg OnBnClickedOk CDC pDC GetWindowDC CBrush brush1 Must initialize brush1 CreateSolidBrush
  • SonarQube代码质量检测的一点坑

    这里解决的问题有以下几点 1 之前用过sonarqube检测过代码的质量 因其自带的CFamily需要license 故在github上找到相关开源免费的C C 插件 针对特定的sonarqube版本都有相对应的sonar cxx c版本
  • 原生js实现导航条动画

    原生js实现毛毛虫导航 直接上代码
  • 计算机毕业设计选题推荐基于nodejs+Vue360学生宿舍系统

    管理员 首页 个人中心 宿舍信息管理 学生管理 宿舍报修管理 访客信息管理 水电费管理 管理员管理 交流论坛 系统管理 学生 首页 个人中心 宿舍报修管理 水电费管理 前台首页 首页 交流论坛 通知公告 个人中心 后台管理 在线沟通等 目
  • win 10 下cmd命令无法使用ssh命令

    在WIN 10 系统下出现cmd命令无法正常使用ssh命令 提示 ssh不是内部命令 出现这种情况要考虑到是环境变量出现问题 1 鼠标右键单击 我的电脑 进入 属性 2 点击 系统高级设置 选择 环境变量 3 找到 path 点击打开 4
  • Qt中使用QTextStream中文乱码的情况解决

    1 前言 今天在做一个文件编辑器 然后发现读取txt文件的时候 中文的显示乱码 然后在网上查了一些方法 没用 自己摸索了一下 找出了一个办法 2 解决办法 QTextStream in new QTextStream file in gt
  • Csharp:TinyMCE HTML Editor in .NET WindowsForms

  • STM32控制电机简易教程

    STM32控制电机简易教程 包教包会 近期 电赛临近 来补习一下电机的使用方式 使用起来非常的方便 首先是在CUBEMX里面配置一些基本内容 然后是使用PWM去调速 其他的时钟和调试配置就不多说了 然后就是初始化了 同样的 这里使用的是结构
  • 【华为OD机试真题 python】最大报酬【2022 Q4

    题目描述 最大报酬 小明每周上班都会拿到自己的工作清单 工作清单内包含 n 项工作 每项工作都有对应的耗时时间 单位 h 和报酬 工作的总报酬为所有已完成工作的报酬之和 那么请你帮小明安排一下工作 保证小明在指定的工作时间内工作收入最大化
  • 如何在SYSTEM权限下实现屏幕监控

    屏幕监控是远控软件的基本功能之一 现在很多远控程序的服务端通常为DLL形式 通过远程线程注入等方法插入到services svchost等SYSTEM权限的进程中去 而此时常规的屏幕监控就会失效 这是因为与SYSTEM权限进程关联的窗口站
  • Springboot 各种常用配置

    目录 数据库配置 常用 sql 数据源 spring 配置 druid 依赖 基础配置 统一错误处理 统一响应信息处理 Swagger 配置 Spring security 配置 抽象业务配置 实体类的父类 控制器父类 mybatis pl
  • 【统计模型】ToothGrowth数据集双因素方差分析

    目录 ToothGrowth数据集双因素方差分析 一 研究目的 二 数据来源和相关说明 三 描述性分析 3 1 样本描述 3 2 样本均值 3 3 箱线图 四 数学建模 五 结论与建议 5 1 结论 5 2 建议 六 代码 ToothGro
  • 111. 二叉树的最小深度

    给定一个二叉树 找出其最小深度 最小深度是从根节点到最近叶子节点的最短路径上的节点数量 说明 叶子节点是指没有子节点的节点 Definition for a binary tree node public class TreeNode in
  • android so劫持,防劫持SDK

    防劫持SDK 一 产品简介 防劫持SDK是具备防劫持兼防截屏功能的SDK 可有效防范恶意程序对应用进行界面劫持与截屏的恶意行为 二 iOS版本 2 1 环境要求条目说明兼容平台iOS 8 0 开发环境XCode 4 0 CPU架构armv7