移动开发平台 mPaaS 接口说明

By | 2021年4月23日

本文详细介绍对移动应用进行安全加固的开放接口。

获取上传文件 token

请求 – GetFileTokenForUploadToMsaRequest

参数名称 类型 说明
appId String 所属的 App。
workspaceId String 所属的 Workspace。
tenantId String 所属的租户。
onexFlag Boolean 固定传值为 true

返回值 – GetFileTokenForUploadToMsaResponse

  
  1. {
  2. "resultContent":{
  3. "content":{
  4. "accessid":"LTAI7z7XPfKU8gs5",
  5. "dir":"mds/tempFileForOnex/ONEXE9B092D/test/PUQYHL/8b574cb7-3596-403f-a0e9-208660fc2081/",
  6. "expire":"1584327372",
  7. "host":"https://mcube-test.oss-cn-hangzhou.aliyuncs.com",
  8. "policy":"QwM2YtYTBlOS0yMDg2NjBmYzIwODEvIl1dfQ==",
  9. "signature":"kisfP5YhbPtmES8+w="
  10. },
  11. "resultMsg":"",
  12. "success":true
  13. },
  14. "requestId":"8BAA3288-662E-422C-9960-2EEBFC08369F",
  15. "resultCode":"OK"
  16. }

返回值说明

返回值名称 类型 说明
requestId String 标识请求的 ID。
resultCode String 正常情况下,请求返回的 code 是 OK。若有其他情况,则表明 API 请求异常。
ResultContent.Content Object 返回的具体对象,具体含义见下表。

在返回的对象中,包含的字段含义如下:

名称 类型 说明
resultMsg String 查询失败后的返回值。
success Boolean 查询是否成功。

通知 MSA 开始处理已经上传到 OSS 的应用

请求 – UploadUserAppToMsaRequest

参数名称 类型 说明
appId String 所属的 App。
workspaceId String 所属的 Workspace。
tenantId String 所属的租户。
fileUrl String APK 上传后的地址。

返回值 – UploadUserAppToMsaResponse

  
  1. {
  2. "resultContent":{
  3. "data":{
  4. "id": 12345,
  5. "enhanceTaskId": 12345,
  6. "progress": 10,
  7. "status": 0
  8. },
  9. "resultMsg":"",
  10. "success":true
  11. },
  12. "requestId":"637D5BE0-0111-4C53-BCEE-473CFFA0DBAD",
  13. "resultCode":"OK"
  14. }

返回值说明

返回值名称 类型 说明
requestId String 标识请求的 ID。
resultCode String 正常情况下,请求返回的 code 是 OK。若有其他情况,则表明 API 请求异常。
resultContent Object 返回的具体对象,具体含义见下表。

在返回的对象中,包含的字段含义如下:

名称 类型 说明
data.id String 上传任务的 ID,如果加固没有完成需要轮询检查。
data.enhanceTaskId String 上传完成之后,会返回一个加固任务 ID,利用这个 ID 启动加固任务。
data.status Integer 上传状态,-1 为失败,0 为处理中,1 为上传成功。
resultMsg String 查询失败后的返回值。
success Boolean 查询是否成功。

查询处理上传应用状态

请求 – GetUserAppUploadProcessInMsaRequest

参数名称 类型 说明
appId String 所属的 App。
workspaceId String 所属的 Workspace。
tenantId String 所属的租户。
id Long 上传任务 ID。

返回值 – GetUserAppUploadProcessInMsaResponse

  
  1. {
  2. "resultContent":{
  3. "data":{
  4. "id": 12345,
  5. "enhanceTaskId": 12345,
  6. "progress": 10,
  7. "status": 0
  8. },
  9. "resultMsg":"",
  10. "success":true
  11. },
  12. "requestId":"637D5BE0-0111-4C53-BCEE-473CFFA0DBAD",
  13. "resultCode":"OK"
  14. }

返回值说明

返回值名称 类型 说明
requestId String 标识请求的 ID。
resultCode String 正常情况下,请求返回的 code 是 OK。若有其他情况,则表明 API 请求异常。
resultContent Object 返回的具体对象,具体含义见下表。

在返回的对象中,包含的字段含义如下:

名称 类型 说明
data.id String 上传任务的 ID,如果加固没有完成需要轮询检查。
data.enhanceTaskId String 上传完成之后,会返回一个加固任务 ID,利用这个 ID 启动加固任务。
data.status Integer 上传状态,-1 为失败,0 为处理中,1 为上传成功。
resultMsg String 查询失败后的返回值。
success Boolean 查询是否成功。

启动加固任务

请求 – StartUserAppAsyncEnhanceInMsaRequest

名称 类型 说明
appId String 所属的 App。
workspaceId String 所属的 Workspace。
tenantId String 所属的租户。
id Long 加固任务 ID。
taskType String 任务类型,有 shellenhance_shell 两种,shell 是加壳,enhance_shell 搭配 Java2C 使用。
classes String 设置需要 Java2C 加固的核心类,应当只添加关键核心类,使用英文逗号(,)隔开,如 com.a.a,com.b.b,如果设置了这个值,那么 taskType 需要为 enhance_shell,个别类不适配可能会导致加固失败。
totalSwitch boolean 总开关,设置为 true, 下面的开关才生效。
javaHook Integer 防 Java Hook 能力,0 为 Killself, 1 为 Warning。
memoryDump Integer 防 memory dump 能力,0 为 Killself, 1 为 Warning。
emulatorEnvironment Integer 防模拟器能力,0 为 Killself, 1 为 Warning。
nativeHook Integer 防 Native Hook 能力,0 为 Killself, 1 为 Warning。
dalvikDebugger Integer 防 Java 调试能力,0 为 Killself, 1 为 Warning。
nativeDebugger Integer 防 Native 调试和 Root 能力,0 为 Killself, 1 为 Warning。

返回值 – StartUserAppAsyncEnhanceInMsaResponse

  
  1. {
  2. "resultContent":{
  3. "data":{
  4. "afterMd5": "aaaaaaaa",
  5. "afterSize": 1000,
  6. "appCode": "ONEXxxxx",
  7. "appPackage": "com.example.app",
  8. "beforeMd5": "bbbbbb",
  9. "id": 1,
  10. "label": "支付宝",
  11. "progress": 0,
  12. "status": 2,
  13. "taskType": "shell",
  14. "versionCode": 1,
  15. "versionName": "1.0.0",
  16. "enhancedClasses": ["aaa", "bbb"]
  17. },
  18. "resultMsg":"",
  19. "success":true
  20. },
  21. "requestId":"F9C681F2-6377-488D-865B-1144E0CE69D2",
  22. "resultCode":"OK"
  23. }

返回值说明

返回值名称 类型 说明
requestId String 标识请求的 ID。
resultCode String 正常情况下,请求返回的 code 是 OK。若有其他情况,则表明 API 请求异常。
resultContent Object 返回的具体对象,具体含义见下表。

在返回的对象中,包含的字段含义如下:

名称 类型 说明
resultMsg String 查询失败后的返回值。
success Boolean 查询是否成功。
data.afterMd5 String 加固后 APK 的 MD5。
data.afterSize Long 加固后 APK 的大小。
data.id Long 加固任务的 ID,后续用来轮询调用。
data.label String APK 的 label 字段。
data.progress Integer 加固 APK 的进度,范围 0 – 100。
data.status Integer 加固任务的状态: 0 未开始,1 已提交任务,2 加固中,3 加固成功,4 加固失败。
data.taskType String 加固任务类型。
data.enhancedClasses String Java2C 选择的类。

查询加固任务进度

请求 – GetUserAppEnhanceProcessInMsaRequest

名称 类型 说明
appId String 所属的 App。
workspaceId String 所属的 workspace。
tenantId String 所属的租户。
id Long 加固任务 ID。

返回值 – GetUserAppEnhanceProcessInMsaResponse

  
  1. {
  2. "resultContent":{
  3. "data":{
  4. "afterMd5": "aaaaaaaa",
  5. "afterSize": 1000,
  6. "appCode": "ONEXxxxx",
  7. "appPackage": "com.example.app",
  8. "beforeMd5": "bbbbbb",
  9. "id": 1,
  10. "label": "支付宝",
  11. "progress": 0,
  12. "status": 2,
  13. "taskType": "shell",
  14. "versionCode": 1,
  15. "versionName": "1.0.0",
  16. "enhancedClasses": ["aaa", "bbb"]
  17. },
  18. "resultMsg":"",
  19. "success":true
  20. },
  21. "requestId":"F9C681F2-6377-488D-865B-1144E0CE69D2",
  22. "resultCode":"OK"
  23. }

返回值说明

返回值名称 类型 说明
requestId String 标识请求的 ID。
resultCode String 正常情况下,请求返回的 code 是 OK。若有其他情况,则表明 API 请求异常。
resultContent Object 返回的具体对象,具体含义见下表。

在返回的对象中,包含的字段含义如下:

名称 类型 说明
resultMsg String 查询失败后的返回值。
success Boolean 查询是否成功。
data.afterMd5 String 加固后 APK 的 MD5。
data.afterSize Long 加固后 APK 的大小。
data.id Long 加固任务的 ID,后续用来轮询调用。
data.label String APK 的 label 字段。
data.progress Integer 加固 APK 的进度,范围 0 – 100。
data.status Integer 加固任务的状态: 0 未开始,1 已提交任务,2 加固中,3 加固成功,4 加固失败。
data.taskType String 加固任务类型。
data.enhancedClasses String Java2C 选择的类。

查询加固后的产物下载链接

请求 – GetUserAppDonwloadUrlInMsaRequest

参数名称 类型 说明
appId String 所属的 App。
workspaceId String 所属的 workspace。
tenantId String 所属的租户。
taskId String 加固任务 ID。

返回值 – GetUserAppDonwloadUrlInMsaResponse

  
  1. {
  2. "resultContent":{
  3. "data": { "url": "https://xxxx"},
  4. "resultMsg":"",
  5. "success":false
  6. },
  7. "requestId":"8F76783A-8070-4182-895D-14E5D66F8BA3",
  8. "resultCode":"OK"
  9. }

返回值说明

返回值名称 类型 说明
requestId String 标识请求的 ID。
resultCode String 正常情况下,请求返回的 code 是 OK。若有其他情况,则表明 API 请求异常。
checkRsaKeyResult Object 返回的具体对象,具体含义见下表。

在返回的对象中,包含的字段含义如下:

名称 类型 说明
data.url String APK 下载链接。
data.filename String APK 文件名。
resultMsg String 查询失败后的返回值。
success Boolean 查询是否成功。

查询加固日志

请求 – GetLogUrlInMsaRequest

参数名称 类型 说明
appId String 所属的 App。
workspaceId String 所属的 Workspace。
tenantId String 所属的租户。
taskId String 加固任务 ID。

返回值 – GetLogUrlInMsaResponse

  
  1. {
  2. "resultContent":{
  3. "data": { "url": "https://xxxx"},
  4. "resultMsg":"",
  5. "success":false
  6. },
  7. "requestId":"8F76783A-8070-4182-895D-14E5D66F8BA3",
  8. "resultCode":"OK"
  9. }

返回值说明

返回值名称 类型 说明
requestId String 标识请求的 ID。
resultCode String 正常情况下,请求返回的 code 是 OK。若有其他情况,则表明 API 请求异常。
resultContent Object 返回的具体对象,具体含义见下表。

在返回的对象中,包含的字段含义如下:

名称 类型 说明
data String log 下载链接
resultMsg String 查询失败后的返回值。
success Boolean 查询是否成功。

请关注公众号获取更多资料

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注