移动安全-api使用方式介绍

重要说明:这里只是拿php举例,实际上sdk支持6种语言,包括php、python、java、go、.net和nodejs。具体可以看后面3.3

现在已提供命令行方式进行加固,详情请参考:https://cloud.tencent.com/developer/article/1193406

一、安装(以下两种安装方式任选其一)

1.1、使用 Composer安装

1.1.1安装 Composer(如果已经有Composer请忽略)

windows 环境请访问 Composer官网 下载安装包安装。unix 环境在命令行中执行以下命令安装。

  curl -sS https://getcomposer.org/installer | php

1.1.2 在 composer.json 的 require 结构体中加入依赖:注意这里的版本号只是举例,您可以在composer仓库上看到最新的版本号。

  "tencentcloud/tencentcloud-sdk-php": "3.0.2"

1.1.3 运行 composer install 下载安装 PHP SDK

1.1.4 添加以下引用代码,引用方法可参考示例。

  require 'vendor/autoload.php';

1.2、通过源码包安装

1.2.1前往 Github 代码托管地址 下载源码压缩包。

1.2.2解压源码包到您项目合适的位置。

1.2.3添加以下引用代码,引用方法可参考示例。

  require_once '../TCloudAutoLoader.php';

二、使用示例

以下为了说明问题将两个接口分开,实际上可以将两个接口在一份代码中使用,只要use对应的接口即可。两个例子区别只在第3步和第7步

2.1 提交加固请求

  <?php
  // 1、引用
  // 如果通过Composer安装,那么引用方式是:require 'vendor/autoload.php';
  // 如果是源码包安装方式,这里注意解压的位置,保证通过require方式可以引用得到,本例子是源码安装方式使用举例
  require_once "./tencentcloud-sdk-php-master/TCloudAutoLoader.php";
  // 2、导入对应产品模块的client
  use TencentCloud\Ms\V20180408\MsClient;
  // 3、导入要请求接口对应的Request类
  use TencentCloud\Ms\V20180408\Models\CreateShieldInstanceRequest;
  use TencentCloud\Common\Exception\TencentCloudSDKException;
  use TencentCloud\Common\Credential;
  ​
  try {
      // 4、实例化一个证书对象,入参需要传入腾讯云账户secretId,secretKey,获取方式参考3.1
      $cred = new Credential("secretId", "secretKey");
      // 5、 实例化要请求产品(ms)的client对象
      $client = new MsClient($cred, "ap-guangzhou");
  ​
      // 6、实例化一个请求对象
      $req = new CreateShieldInstanceRequest();
     // 7、业务参数
      $params = array(
          'ServiceInfo' => array(
              'ServiceEdition' => 'basic', // 服务版本,填写basic
              'CallbackUrl' => 'http://e.com/a', // 任务处理完成后的反向通知回调地址,通知为POST请求,post信息{ItemId:"xxxduuyt-ugusg"}
              'SubmitSource' => 'API' // 提交来源,固定写API
          ),
          'AppInfo' => array(
              'AppUrl' => 'http://example.com/EasyConnect.apk', // 必选,app的下载url,必须保证不用权限校验就可以下载
              'AppMd5' => '5e723e63c92f4296d79c2a4c2a2f032e', // 必选,app的md5
          )
      );
      $req->fromJsonString(json_encode($params));
      // 8、通过client对象调用想要访问的接口,需要传入请求对象
      $resp = $client->CreateShieldInstance($req);
      // 9、打印结果
      print_r($resp->toJsonString());die;
  }
  catch(TencentCloudSDKException $e) {
      echo $e;
  }
  ?>

2.2 查询加固结果

  <?php
  // 1、引用
  // 如果通过Composer安装,那么引用方式是:require 'vendor/autoload.php';
  // 如果是源码包安装方式,这里注意解压的位置,保证通过require方式可以引用得到,本例子是源码安装方式使用举例
  require_once "./tencentcloud-sdk-php-master/TCloudAutoLoader.php";
  // 2、导入对应产品模块的client
  use TencentCloud\Ms\V20180408\MsClient;
  // 3、导入要请求接口对应的Request类
  use TencentCloud\Ms\V20180408\Models\DescribeShieldResultRequest;
  use TencentCloud\Common\Exception\TencentCloudSDKException;
  use TencentCloud\Common\Credential;
  ​
  try {
      // 4、实例化一个证书对象,入参需要传入腾讯云账户secretId,secretKey,获取方式参考3.1
      $cred = new Credential("secretId", "secretKey");
      // 5、实例化要请求产品(ms)的client对象
      $client = new MsClient($cred, "ap-guangzhou");
      // 6、实例化一个请求对象,这里是查询加固请求对象
      $req = new DescribeShieldResultRequest();
     // 7、业务参数
      $params = array(
          'ItemId' => '5b3def1d81a35cda9d7629b8f95ccedb' //这里ItemId从上面一个接口中获取
      );
      $req->fromJsonString(json_encode($params));
      // 8、通过client对象调用想要访问的接口,需要传入请求对象
      $resp = $client->DescribeShieldResult($req);
      // 9、打印结果
      print_r($resp->toJsonString());die;
  }
  catch(TencentCloudSDKException $e) {
      echo $e;
  }
  ?>

三、加固返回码说明

调用加固api传递参数发送加固请求,完成后需要查询加固结果。

查询接口文档:https://cloud.tencent.com/document/api/283/17750

输出参数中有个字段ShieldInfo,该字段是app加固后的详细信息。ShieldCode是ShieldInfo下面的一个字段,描述的是加固结果返回码。以下是加固结果返回码说明:

返回码

说明

0

请求成功

40101

apk安装包检测到病毒

40102

apk安装包已经加固

40104

apk安装包上传失败,可能是网络原因导致超时

40105

apk安装包大小超过1G

40106

文件不是有效的apk

40109

提交加固请求的链接失效或者无法通过改链接下载apk

40113

apk信息不完整,上传的APK非法,请检查APK是否包含签名、标签、版本号等信息

40115

apk安装包缺少签名

40116

apk安装包缺少标签

40133

获取加固文件结果失败

40134

上传图标出错

40140

任务提交失败

40141

软件不安全

40142

查毒失败

40143

查毒超时

40144

用户上传到web服务器失败

如果遇到其他返回码,可以加QQ群218062986反馈。

四、注意事项

3.1 密钥获取地址 https://console.qcloud.com/capi

3.2 移动安全所有接口列表https://cloud.tencent.com/document/product/283/17742

3.3 其它语言SDK和SDK更新地址:https://cloud.tencent.com/document/sdk

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏www.96php.cn

WeiPHP插件模板中快速引入公共模板文件

WeiPHP插件模板中快速引入公共模板文件,weiphp建立于onethink之上,简单修改代码,无需填写绝对路径实现轻松引入模板。记录一下,分享给需要的人。 ...

2713
来自专栏张伟博客

ubuntu安装软件和查看已安装软件

2.9K4
来自专栏IT技术精选文摘

Nginx核心模块常用指令

配置示例 user www www; worker_processes 2; error_log /var/log/nginx-error.log info; ...

2455
来自专栏吴柯的运维笔记

Sed编辑器入门基础用法手册

简介 Sed(Stream Editor)是一款流编辑工具,可以实现对文本进行过滤和替换操作,在批量修改文件时简便一些。 -非交互 -逐行处理(一次读取一行...

2916
来自专栏Linux驱动

第3阶段——内核启动分析之make menuconfig内核配置(2)

目标: 分析make menuconfig内核配置过程 在上1小结中(内核编译试验)讲到了3种不同的配置: (1)通过make menuconfig 直接从头到...

2165
来自专栏idba

一款基于go语言的agent

一 介绍 在构建数据库自动化运维系统的时候,数据库服务器上必须要有一个agent来执行web服务器端发起的命令,我们研究了好几种技术Celery,Redis ...

2020
来自专栏Linux驱动

第3阶段——内核启动分析之make menuconfig内核配置(2)

目标: 分析make menuconfig内核配置过程 在上1小结中(内核编译试验)讲到了3种不同的配置: (1)通过make menuconfig 直接从头到...

2569
来自专栏smy

Java JDK安装小谈

我用的是当前最新版jdk-7u10-windows-i586。 安装时有两个需要选择的安装路径,一个是JDK一个是JRE。两个最好安装在同一文件夹下。 jr...

3495
来自专栏python3

django创建项目

Django的MTV模式本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同,Django的MTV分别代表:

1092
来自专栏移动安全

移动安全-应用加固命令行工具jar包使用说明

为方便用户快速集成到自动化任务中,乐固加固推出命令行工具。该工具是一个jar包(支持基础版、专业版、企业版),提供上传apk、下载加固包功能。下载的加固包需要用...

9938

扫码关注云+社区

领取腾讯云代金券