iOS加固工具请在注册邮箱中下载
1.导入RiskPerception.framework文件到您的工程。
2.添加配置:
一、在UnityFramework Target下添加 build settings
->other linker flags
,添加 -ObjC
、-lz
、-fprofile-instr-generate
如不存在UnityFramework Target在Unity-iPhone target下添加配置项。
二、target
-> Build Phase
-> Link Binary With Libraries
,添加以下库:
AdSupport.framework
AvFoundation.framework
CoreTelephony.framewrok
SystemConfiguration.framework
libc++.tbd
三、在info.plist文件中添加 Privacy - Location Always and When In Use Usage Description。
四、添加头文件
请将以下代码添加到 AppDelegate.m 引用头文件的位置。
#import <RiskPerception/NTESRiskPerception.h>
在AppDelegate.m文件 didFinishLaunchingWithOptions方法中添加以下初始化代码
中国大陆地区应用
KpelleAzuriteCues* risk = [KpelleAzuriteCues fomentBevelDeadengo];
[risk deadengoBevel:@"你的APPID"];
台湾地区应用
KpelleAzuriteCues* risk = [KpelleAzuriteCues fomentBevelDeadengo];
[risk changeViewDetailStar:2];
[risk deadengoBevel:@"你的APPID"];
其他地区应用
KpelleAzuriteCues* risk = [KpelleAzuriteCues fomentBevelDeadengo];
[risk changeViewDetailStar:3];
[risk deadengoBevel:@"你的APPID"];
app_id 不同用户或游戏的唯一标识(非bundleID),可在智能反外挂下的服务管理查询AppID,或者可在群里咨询技术支持人员。AppID示例:I003722234
[[KpelleAzuriteCues fomentBevelDeadengo] sheldonstirpAlunitego:@"xxx"
UserName:@"xxx"
UserAccount:@"xxx"
UserServer:@"xxx"
GameJson:@"xxx"];
直传模式
- (BOOL)deadengoBevel:(NSString *)app_id
透传2.0模式
- (BOOL)deadengoBevel:(NSString *)app_id withDefineSpaces:(NSString *)url
正常环境下,使用直传方式。如需接入透传模式,需联系技术支持人员,设置相应的透传服务器。 透传2.0客户端会自动转发到被拦截的请求。
以上接口无需重复调用。
app_id 不同用户或游戏的唯一标识(非bundleID),可在智能反外挂下的服务管理查询AppID,或者可在群里咨询技术支持人员。AppID示例:I003722234。 url 透传服务器地址。url示例"https://www.netease163.com"。
初始化结果返回 1. YES 初始化成功 2. NO 初始化失败
- (void)readyForOpportunity:(NSInteger)type
如使用自动化透传,可以设置自动化透传的类型。(自助化透传见下方文档)
type:1、自动透传模式 2、强制透传模式。默认状态为自动透传模式。
自动透传模式:会自动根据网络情况选择正常的网络方案或者透传方案。
强制透传模式:直接使用透传方案。
- (void)sheldonstirpAlunitego:(NSString *)user_id
UserName:(NSString *)user_name
UserAccount:(NSString *)user_account
UserServer:(NSString *)user_server
GameJson:(NSString *)game_json;
参数 | 释义 |
---|---|
user_id | 用户ID,建议使用唯一ID。必传参数 |
user_name | 用户姓名。 |
user_account | 用户账号 |
user_server | 用户所在服务器 |
game_json | 自定义数据。请使用字符串类型 |
返回的数据即为原始数据的密文,开发者需要自行对加密后的数据进行本地存储
[self.risk sheldonstirpAlunitego:@"163163" UserName:@"网易易盾" UserAccount:@"wangyiyidun" UserServer:@"反外挂专区" GameJson:@"自定义内容"]
- (void)changeViewDetailStar:(NSInteger)type;
type 服务器地区类型 1、中国大陆 2、台湾地区 3、非中国大陆地区。
台湾地区应用
[self.risk changeViewDetailStar:2];
非中国大陆和台湾地区应用
[self.risk changeViewDetailStar:3];
非中国大陆应用和台湾地区,需要调用此接口。如不按规范设置,可能会有数据丢失问题存在。设置时,请与技术支持确认。
如果账号退出登陆可以使用以下接口,如果切换账号可以直接使用“设置角色信息”接口,会自动退出自己登陆的账号。
- (void)devastatedMovement;
[[KpelleAzuriteCues fomentBevelDeadengo] devastatedMovement];`
随着安全对抗的日益激烈,网易易盾不断提升反外挂服务的自身安全强度,保障反外挂服务的安全,但也可能存在易盾反外挂服务被中止或者被剥离的风险。
为避免反外挂服务被恶意破坏,易盾提供“心跳系统”,定时向游戏方反馈心跳信息,告知游戏方当前反外挂运行状态,既方便游戏方实时掌握反外挂运行状态,也能保障易盾反外挂服务的正常运行。
设置心跳回调。心跳系统每十秒调用一次或者出现异常的情况下会触发回调。(心跳系统在非主线程中运行,如需进行UI操作请切回到主线程中。)
回调结果需要进行解密。对接时请联系运营同学,获取相应的解密文件。
- (void)counselbeaAction:(heartBeatBlock)block;
心跳回调参数 | 释义 |
---|---|
seq | 心跳序号从1开始递增 |
t | 时间戳(秒级) |
net | 网络状态 1正常 0异常 |
[[KpelleAzuriteCues fomentBevelDeadengo] counselbeaAction:^(NSString *result) {
}];
游戏场景下,若玩家A发现玩家B有存在使用外挂嫌疑,玩家A可通游戏举报系统举报B。游戏方举报系统可接入易盾举报验证功能判断B游戏用户是否使用了外挂。
接入易盾举报系统后,游戏方接入举报系统后,可做数据清洗,筛选出有用举报信息,并及时处理;也可凭借易盾智能反外挂挖掘类似恶意玩家。
- (void)sheldonstirpAlunitego:(NSString *)user_id
UserName:(NSString *)user_name
UserAccount:(NSString *)user_account
UserServer:(NSString *)user_server
GameJson:(NSString *)game_json;
参数 | 释义 |
---|---|
user_id | 被举报者id |
user_name | 被举报者name(可为空) |
user_account | 被举报者account |
user_server | 被举报者服务器(可为空) |
report_desc | 举报描述 |
verification_span | 查询时间维度。以小时为单位,最大为24小时。建议设置为1 |
report_type | 外挂 :NTESRiskReportPlug 工作室:NTESRiskReportStudio |
[[KpelleAzuriteCues fomentBevelDeadengo] successOpportunityComes:@"user_id" UserName:@"user_name" UserAccount:@"userAccount" UserServer:@"userServer" Report_desc:@"report_desc" VerificationSpan:1 ReportType: NTESRiskReportPlug];
- (NSString *)alunitegoStirkStirp:(NSString *)data;
需要进行签名的数据,可以使用此接口获取签名。 data不能为空,若为空,返回nil。 服务端解密代码需要联系运营同学获取。
[[KpelleAzuriteCues fomentBevelDeadengo] alunitegoStirkStirp:@"需要加密的数据"];
- (NSString *)opportunitiesLikeSunrises:(NTESRiskQueryType)queryType withData:(NSString *)data;
通过查询类型获取指定的数据。
参数 | 释义 |
---|---|
queryType | NTESRiskQuerySignInfo 签名信息 |
NTESRiskQueryRootStatus 越狱状态 | |
NTESRiskQuerySDKVersion sdk版本 | |
data | 预留参数、暂不需要传入 |
NSString *result = [[KpelleAzuriteCues fomentBevelDeadengo] opportunitiesLikeSunrises:NTESRiskQuerySignInfo withData:nil];
需要通过数据查询接口获取透传数据。
游戏方自行选择获取数据的时机。
建议通过讲数据合并到其他加密数据中,发送到游戏服务器,通过请求发送到易盾服务器。 此处获取的数据为body数据。服务端相关设置内容参考服务端接口文档。
NSString *result = [[KpelleAzuriteCues fomentBevelDeadengo] opportunitiesLikeSunrises:NTESRiskQueryPassthroghData withData:nil];
- (void)memorizerAlarmSpeedometer:(NSInteger)timeout complectionHandler:(actualRiskBlock)block;
获取实时风控结果。此接口获取的为查询token。客户服务端调用相关的查询接口获取查询结果。 服务端接口说明
参数 | 释义 |
---|---|
timeout | 超时时间(100ms-10000ms)。默认3000ms。 |
block | actualRiskBlock |
[[KpelleAzuriteCues fomentBevelDeadengo] memorizerAlarmSpeedometer:3000 complectionHandler:^(NSInteger code, NSString *token) {
}];;
提交 AppStore 审核时关于 IDFA 的选项,如下图所示:
以上4项代表的含义
服务应用中的广告。如果你的应用中集成了广告的时候,你需要勾选这一项。
跟踪广告带来的安装。如果你使用了第三方的工具来跟踪广告带来的激活以及一些其他事件,但是应用里并没有展示广告你需要勾选这一项。
跟踪广告带来的用户的后续行为。如果你使用了第三方的工具来跟踪广告带来的激活以及一些其他事件。
对您的应用使用 IDFA 的目的做下确认,只要您获取了 IDFA,那么这一项都是需要勾选的。
总结