[关闭]
@miniknife 2018-06-25T04:18:20.000000Z 字数 21858 阅读 51179

ROG 一键新机插件使用手册

开发手册


Windows 平台按 Ctrl + F 打开快捷搜索

Mac 平台按 command + F 打开快捷搜索

※右侧文本列表可以找到全部手册


目录

简介

  • 产品主要功能:
    清理设备垃圾存档,修改设备信息。目的在于提高机器运行速度,防止各种 app 收集设备信息,保护用户隐私。
  • 企业版与普通版为分开授权,不能通用,普通版不能换绑到企业版,购买前要看好激活卡类型。
  • 本模块只是小范围测试有效,不保证在所有设备上都能完美使用。
  • 自己需要了解其风险,并接受风险所带来的后果。
  • 此插件由 Archer 开发,触动精灵提供售后服务。
  • 如果使用过程中遇到什么问题和建议,欢迎反馈。

iOS 版使用须知

  • 支持 iOS 7.0 - 10.2 系统设备,支持跨机恢复。
  • 支持触动精灵 iOS v2.3.9 以及企业版 iOS v1.3.0 以上版本支持
  • 使用 ROG 一键新机插件请先加载 tsl 库,请在脚本开头调用,会返回一个 table, 请看完整示例
  • 触动企业版只需加载插件,并在全局设置 - 运行选项中勾选增值服务,会自动更新下载插件
  • 触动普通版需要手动把 pretender.tsl 文件导入到 /var/mobile/Media/TouchSprite/plugin 插件目录
  • 如果是普通版 tsp ,把 tsl 文件一起打包即可,因为 tsl 插件如果存在不会覆盖,所以如果是 tsp 需要判断
  • 文中提到的目录都是手机目录
  • 企业版可通过中控器 - 增值服务 - ROG一键新机处授权,授权后需要重连设备或者等1小时可以获取到授权状态

  • 脚本示例仅供参考,不可直接复制使用

  • v1.2.3.3 更新于2018-03-13
  • 交流反馈 QQ 群:534938353

Android 版使用须知


函数:BKVersions 获取版本号

函数名称:获取版本号
函数功能:获取插件版本号
函数方法:
local bkvs = BKVersions()
返回值 类型 说明
bkvs 文本型 插件版本号,如:1.1.7

iOS 函数用例:

  1. local tsld = loadTSLibrary("pretender.tsl") --库加载
  2. if tsld.granted == 0 then
  3. dialog("插件未授权!", 0)
  4. return
  5. end
  6. if tsld.status == 0 then --验证判断
  7. dialog("插件加载异常", 0)
  8. return
  9. elseif tsld.status == 9 then --验证插件文件是否存在
  10. dialog("库文件不存在,请手动导入 pretender.tsl 文件到"..userPath().."/plugin目录下", 0)
  11. lua_exit()
  12. return
  13. elseif tsld.status == 2 then --验证重复加载
  14. dialog("重复加载 ROG 插件!会导致功能不正常,请修改脚本后重新运行", 0)
  15. lua_exit()
  16. return
  17. end
  18. require("TBackups") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. local bkvs = BKVersions()
  21. dialog(bkvs, 0)

Android 版函数用例:

  1. local rog = require("rog") -- 使用前必须加载
  2. local bkvs =BKVersions()
  3. dialog(bkvs, 0)

功能函数

函数:loadTSLibrary 加载插件(仅支持 iOS)

函数名称:加载插件
函数功能:加载 ROG 一键新机插件
函数方法:
local tsld = loadTSLibrary("pretender.tsl")
返回值:table 型
返回值参数 类型 说明
tsld.status 整数型 加载库 1 - 正常,2 - 已加载过,0 - 失败,9 - 插件文件不存在
tsld.path 文本型 插件路径
tsld.granted 整数型 插件授权,已授权 - 1,未授权 - 0
tsld.endtime 整数型 插件授权到期时间,时间戳需要自己转换

函数用例:

  1. function file_exists(file_name) --检测指定文件是否存在
  2. local f = io.open(file_name, "r")
  3. return f ~= nil and f:close()
  4. end
  5. if file_exists(userPath().."/plugin/pretender.tsl") == false then
  6. dialog("库文件不存在,请手动导入 pretender.tsl 文件到"..userPath().."/plugin目录下", 0)
  7. lua_exit()
  8. end
  9. local tsld = loadTSLibrary("pretender.tsl") --第二个参数加 false,没授权不会自动跳授权页面,可显示打印信息
  10. local info = ""
  11. for k,v in pairs(tsld) do
  12. info = info .. k ..":"..tostring(v).."\n"
  13. end
  14. dialog(info, 0)
  1. --如果未授权点确定没反应,可执行该代码手动打开浏览器粘贴地址打开
  2. local tsld = loadTSLibrary("pretender.tsl",false)
  3. writePasteboard(tsld.url)

普通版 tsp 示例:

未加密的lua源码和上传企业版开发者平台不要加载此段代码,会导致插件被删除

  1. --如果是普通版 tsp ,上传触动脚本分发平台可以加上该段代码
  2. local tsld = loadTSLibrary("pretender.tsl") --库加载
  3. if tsld.status == 0 then --验证判断
  4. dialog("插件加载异常", 0)
  5. return
  6. end
  7. require("TBackups") --需要加载
  8. --以上代码请在脚本开头先调用验证加载,只需加载一次
  9. local bkvs = BKVersions()
  10. if bkvs ~= "1.2.1.3" then --自己上传的文件版本号
  11. delFile("/var/mobile/Media/TouchSprite/plugin/pretender.tsl") --删除老版本
  12. end

注意事项

  • 使用该插件需要先调用该函数
  • 请先判断插件已经授权并且正常加载
  • 运行过程中只需加载一次,多次加载会导致出错

  • 安卓版在脚本中只需加载 so 库即可使用

函数:appDel 一键新机,删除数据

函数名称:一键新机,删除数据
函数功能:删除设备数据,一键新机

函数方法
支持版本:引擎版本 iOS v2.3.9,Android v2.3.3.5 以上
info = {
serialNumber,
IMEI,
deviceName,
deviceModel,
productType,
osVersion,
IDFA,
IDFV,
CarrierName,
CarrierType,
UUID,
UA,
sysUpTime,
MacAddress,
WifiName,
IP,
BatteryLevel,
BatteryStatus,
Token,
UDID,
}
local bool,err = appDel({app},info)

带*参数不写会自动随机生成

参数 类型 说明
app table 应用包名,iOS 为选填,不针对应用可不写但要保留 {},Android 为必填,需要写应用包名,多个应用填写多个包名,逗号隔开即可
serialNumber number *序列号,iOS 为12 位的大写字母和数字,Android 为 10 - 20 位的大写字母和数字,自动随机生成,无特殊要求不需要修改
deviceName number *设备名称,不指定会自动随机生成
deviceModel number iOS 设备机型:iPhone,iPad,iTouch 三种,一般默认即可,Android 设备机型不指定会自动随机生成,如果修改请与型号对应
productType number 设备详细型号,iPhone 5,3,一般默认即可,不建议修改,对应机型请看附录
osVersion 文本型 系统版本号,8.1.3,一般默认即可,不建议修改,其他版本号请看注意事项
IDFA 文本型 *IDFA,自动随机生成,无特殊要求不需要修改,格式看注意事项(仅支持 iOS)
IDFV 文本型 *IDFV,自动随机生成,无特殊要求不需要修改,格式看注意事项(仅支持 iOS)
CarrierName 文本型 *运营商名称,中国移动,中国联通,中国电信,不写会自动随机选择
CarrierType 文本型 网络类型,2G,3G,4G,wifi,如果需要伪装移动网络,一般选择 3G 即可
UUID 文本型 *UUID,自动随机生成,无特殊要求不需要修改,格式看注意事项(仅支持 iOS)
UA 文本型 浏览器的 UA 信息,具体可百度 UA 查看(仅支持 iOS)
IMEI 文本型 IMEI,为非空且不为 15 位字符串时会自动随机生成,格式看注意事项
sysUpTime 文本型 累积开机时间,开机到当前的总时间,单位是秒,详细看注意事项(仅支持 iOS)
MacAddress 文本型 *mac 地址,自动随机生成,无特殊要求不需要修改,格式看注意事项
WifiName 文本型 *wifi 名称,不指定会自动随机生成,如 TL-LINK_125AD7
IP 文本型 *局域网 IP 地址,不指定会自动随机生成,如 192.168.0.1
BatteryLevel 文本型 *电池电量,不指定会自动随机 0.600000~0.800000 电量,如 0.670000
BatteryStatus 文本型 电池状态,0 - 无法取得充电状态,1 - 非充电状态,2 - 充电状态,3 - 充满状态
Token 文本型 Token 推送,为 true 自动生成 64 位的 16 进制 token 值,格式看注意事项(仅支持 iOS)
UDID 文本型 UDID,为非空且不为 40 位字符串时会自动随机生成,格式看注意事项
PhoneNumber 文本型 *手机号,自动随机生成,无特殊要求不需要修改,格式为 11 位数字(仅支持 Android)
ICCID 文本型 *SIM 卡号,ICCID 为 SIM 卡的唯一识别号码,无特殊要求不需要修改。(仅支持 Android)
IMSI 文本型 *IMSI 卡号,国际移动用户识别码是区别移动用户的标志,储存在 SIM 卡中,可用于区别移动用户的有效信息。(仅支持隐私卫士 Android v1.0.1 以上版本)
PhoneBrand 文本型 *手机生产厂商(仅支持 Android)
AndroidID 文本型 *AndroidID(仅支持 Android)
返回值 类型 说明
bool 布尔型 成功返回 true,失败返回 false
err 文本型 新机失败,err 返回错误信息

iOS 函数用例:

  1. local tsld = loadTSLibrary("pretender.tsl") --库加载
  2. if tsld.granted == 0 then
  3. dialog("插件未授权!",0)
  4. return
  5. end
  6. if tsld.status == 0 then --验证判断
  7. dialog("插件加载异常",0)
  8. return
  9. elseif tsld.status == 9 then --验证插件文件是否存在
  10. dialog("库文件不存在,请手动导入 pretender.tsl 文件到"..userPath().."/plugin 目录下",0)
  11. lua_exit()
  12. return
  13. elseif tsld.status == 2 then --验证重复加载
  14. dialog("重复加载 ROG 插件!会导致功能不正常,请修改脚本后重新运行",0)
  15. lua_exit()
  16. return
  17. end
  18. require("TBackups") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. local bool,err = appDel({},{CarrierName="中国移动",CarrierType="3G"})
  21. if err then
  22. dialog("failed:"..err, 0)
  23. else
  24. dialog("succeed", 0)
  25. end
  26. --如果想随机伪装 IMEI
  27. local bool,err = appDel({},{CarrierName="中国移动",CarrierType="3G",IMEI=true})
  28. if err then
  29. dialog("failed:"..err, 0)
  30. else
  31. dialog("succeed", 0)
  32. end

Android 版函数用例:

  1. local rog = require("rog") -- 使用前必须加载
  2. app = "com.xxxxx.xxxxx"
  3. dialog("此代码无法直接使用需要传入正确包名")
  4. local bool,err = rog.appDel({app},{})
  5. if bool then
  6. dialog("succeed", 0)
  7. else
  8. dialog("failed:"..err, 0)
  9. end

注意事项:

  • 参数信息大部分会自动生成,无特殊要求不需要填写。
  • productType 型号,可到该网站查看版本 http://www.i4.cn/firmware.html
  • IDFA 和 IDFV 格式如 F98DB32B-33B7-4BA2-98F0-4CF56F33B240,8位 - 4位 - 4 位 - 4位- 12 位的 16 进制数字
  • UUID 格式如F98DB32B-33B7-4BA2-98F0-4CF56F33B240,8位 - 4位 - 4位 - 4位 - 12位的 16 进制数字
  • MacAddress 格式如49:17:74:48:ac:12,2 位:2 位:2 位:2 位:2 位的 16 进制数字
  • Token 格式如 `1234567812345678123456781234567812345678123456781234567812345678,64 位的 16 进制数字
  • UDID 格式如123456781234567812345678123456781234567812345678,40 位的 16 进制数字
  • IMEI 格式如012345678901234的 15 位纯数字字符串,IMEI 伪装可能会导致打开设置关于本机闪退
  • 累积开机时间 sysUpTime 单位是秒,一般精确到小数点后六位,如2562.562405
  • 如对系统自带软件和 deb 插件新机,不需要填写包名
  • 说明带*表示该参数不写会自动随机生成
  • BatteryLevel,BatteryStatus,Token 参数 iOS v1.2.0.7 以上版本支持,UDID 需要 iOS v1.2.1.3 版本支持
  • 部分参数随机生成可能会导致伪装失效,如果不需要伪装此参数,请将此参数写为 false


函数:fakePerApp 设置多应用不同伪装(仅支持 iOS)

函数名称:设置多应用不同伪装
函数功能:设置多应用不同伪装
函数方法:
fakePerApp(bid)
参数 类型 说明
bid 表格型 应用包名,多个应用填写多个包名,逗号隔开即可

函数用例:

  1. local tsld = loadTSLibrary("pretender.tsl") --库加载
  2. if tsld.granted == 0 then
  3. dialog("插件未授权!", 0)
  4. return
  5. end
  6. if tsld.status == 0 then --验证判断
  7. dialog("插件加载异常", 0)
  8. return
  9. elseif tsld.status == 9 then --验证插件文件是否存在
  10. dialog("库文件不存在,请手动导入 pretender.tsl 文件到"..userPath().."/plugin目录下", 0)
  11. lua_exit()
  12. return
  13. elseif tsld.status == 2 then --验证重复加载
  14. dialog("重复加载 ROG 插件!会导致功能不正常,请修改脚本后重新运行", 0)
  15. lua_exit()
  16. return
  17. end
  18. require("TBackups") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. fakePerApp({"com.tencent.xin","com.tencent.mm","com.tencent.qq"})
  21. local bool,err = appDel({},{CarrierName="中国移动",CarrierType="3G"})
  22. if err then
  23. dialog("failed:"..err, 0)
  24. else
  25. dialog("succeed", 0)
  26. end

注意事项

  • 该函数只是设置不同应用伪装信息,需调用一键新机才生效

函数:blackApp 设置应用黑名单(仅支持 iOS)

函数名称:设置应用黑名单
函数功能:设置应用黑名单,不对黑名单伪装
函数方法:
blackApp(bid)
参数 类型 说明
bid 表格型 应用包名,多个应用填写多个包名,逗号隔开即可

iOS 版函数用例:

  1. local tsld = loadTSLibrary("pretender.tsl") --库加载
  2. if tsld.granted == 0 then
  3. dialog("插件未授权!", 0)
  4. return
  5. end
  6. if tsld.status == 0 then --验证判断
  7. dialog("插件加载异常", 0)
  8. return
  9. elseif tsld.status == 9 then --验证插件文件是否存在
  10. dialog("库文件不存在,请手动导入 pretender.tsl 文件到"..userPath().."/plugin目录下", 0)
  11. lua_exit()
  12. return
  13. elseif tsld.status == 2 then --验证重复加载
  14. dialog("重复加载 ROG 插件!会导致功能不正常,请修改脚本后重新运行", 0)
  15. lua_exit()
  16. return
  17. end
  18. require("TBackups") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. blackApp({"com.tencent.xin","com.tencent.mm","com.tencent.qq"}) --这些应用不伪装
  21. local bool,err = appDel({},{CarrierName="中国移动",CarrierType="3G"})
  22. if err then
  23. dialog("failed:"..err, 0)
  24. else
  25. dialog("succeed", 0)
  26. end

函数:appSlim 应用瘦身(仅支持 iOS)

函数名称:应用瘦身
函数功能:应用瘦身,优化数据大小
支持版本:iOS v1.2.0.3 以上版本
函数方法:
local bool,err = appSlim(bid)
参数 类型 说明
bid 表格型 应用包名,多个应用填写多个包名,逗号隔开即可
返回值 类型 说明
bool 布尔型 成功返回 true,失败返回 false
err 文本型 瘦身失败,err 返回错误信息

函数用例:

  1. local tsld = loadTSLibrary("pretender.tsl") --库加载
  2. if tsld.granted == 0 then
  3. dialog("插件未授权!", 0)
  4. return
  5. end
  6. if tsld.status == 0 then --验证判断
  7. dialog("插件加载异常", 0)
  8. return
  9. elseif tsld.status == 9 then --验证插件文件是否存在
  10. dialog("库文件不存在,请手动导入 pretender.tsl 文件到"..userPath().."/plugin目录下", 0)
  11. lua_exit()
  12. return
  13. elseif tsld.status == 2 then --验证重复加载
  14. dialog("重复加载 ROG 插件!会导致功能不正常,请修改脚本后重新运行", 0)
  15. lua_exit()
  16. return
  17. end
  18. require("TBackups") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. local bool,err = appSlim({"com.tencent.xin","com.tencent.mm","com.tencent.qq"})
  21. if err then
  22. dialog("failed:"..err, 0)
  23. else
  24. dialog("succeed", 0)
  25. end

函数:appBackup 数据备份

函数名称:数据备份
函数功能:备份手机数据信息
函数方法:
local bool,err = appBackup({app},path,type)
参数 类型 说明
app 表格型 应用包名,多个应用填写多个包名即可,如果只备份设备信息可不写
path 文本型 备份数据的存放路径,备份数据的存放路径是设置的路径,也可以使用手册示例的路径,如 iOS 为 /var/mobile/Media/ 文件夹下,Android 为 mnt/sdcard/TouchSprite/res/ROG1234 文件夹下
type 数值型 type 为 1 是文件夹备份,其他为压缩包 bak 备份
返回值 类型 说明
bool 布尔型 成功返回 true,失败返回 false
err 文本型 备份失败,err 返回错误信息

iOS 版函数用例:

  1. local tsld = loadTSLibrary("pretender.tsl") --库加载
  2. if tsld.granted == 0 then
  3. dialog("插件未授权!", 0)
  4. return
  5. end
  6. if tsld.status == 0 then --验证判断
  7. dialog("插件加载异常", 0)
  8. return
  9. elseif tsld.status == 9 then --验证插件文件是否存在
  10. dialog("库文件不存在,请手动导入 pretender.tsl 文件到"..userPath().."/plugin目录下", 0)
  11. lua_exit()
  12. return
  13. elseif tsld.status == 2 then --验证重复加载
  14. dialog("重复加载ROG插件!会导致功能不正常,请修改脚本后重新运行", 0)
  15. lua_exit()
  16. return
  17. end
  18. require("TBackups") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. local bool,err = appBackup({"com.app.bearweather"},"/var/mobile/Media/123.bak")--备份数据路径为 /var/mobile/Media/ 文件夹下
  21. if err then
  22. dialog("failed:"..err, 0)
  23. else
  24. dialog("succeed", 0)
  25. end

Android 版函数用例:

  1. local rog = require("rog") -- 使用前必须加载
  2. local bool,err = rog.appBackup({"com.tencent.mobileqq"},userPath().."/res/ROG1234",1) --应用备份为文件夹,备份数据路径为 mnt/sdcard/TouchSprite/res/ROG1234 文件夹下
  3. if err then
  4. dialog("failed:"..err, 0)
  5. else
  6. dialog("succeed", 0)
  7. end

注意事项

  • 为了保证系统安全,文件夹备份文件名为 ROG 开头,如 ROG001,压缩包备份格式为 .bak
  • 备份文件夹的路径是设置的路径,也可以使用手册示例的路径,如 iOS 为 /var/mobile/Media/ 文件夹下,Android 为 mnt/sdcard/TouchSprite/res/ROG1234 文件夹下。
  • 注意选择 type 格式,type 为 1 是文件夹备份,其他为压缩包 bak 备份。

函数:newBackup 备份新机

函数名称:数据备份并新机设备
函数功能:备份手机数据信息并新机设备
支持版本:iOS v1.1.9 以上版本
函数方法:
local bool,err = newBackup({app},path,type,info)
参数 类型 说明
app 表格型 应用包名,多个应用填写多个包名即可,如果只备份设备信息可不写
path 文本型 需要备份的数据的路径
type 数值型 type 为 1 是文件夹备份,其他为压缩包 bak 备份
info 表格型 参数参考函数 appDel 的 info 参数,可不写
返回值 类型 说明
bool 布尔型 成功返回 true,失败返回 false
err 文本型 备份失败,err 返回错误信息

iOS 版函数用例:

  1. local tsld = loadTSLibrary("pretender.tsl") --库加载
  2. if tsld.granted == 0 then
  3. dialog("插件未授权!", 0)
  4. return
  5. end
  6. if tsld.status == 0 then --验证判断
  7. dialog("插件加载异常", 0)
  8. return
  9. elseif tsld.status == 9 then --验证插件文件是否存在
  10. dialog("库文件不存在,请手动导入 pretender.tsl 文件到"..userPath().."/plugin目录下", 0)
  11. lua_exit()
  12. return
  13. elseif tsld.status == 2 then --验证重复加载
  14. dialog("重复加载 ROG 插件!会导致功能不正常,请修改脚本后重新运行", 0)
  15. lua_exit()
  16. return
  17. end
  18. require("TBackups") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. local bool,err = newBackup({"com.app.bearweather"},"/var/mobile/Media/ROG001",1)
  21. if err then
  22. dialog("failed:"..err, 0)
  23. else
  24. dialog("succeed", 0)
  25. end

Android 版函数用例:

  1. local rog = require("rog") -- 使用前必须加载
  2. local bool,err = rog.newBackup({"com.tencent.mobileqq"},userPath().."/res/ROG1234",1)
  3. if err then
  4. dialog("failed:"..err, 0)
  5. else
  6. dialog("succeed", 0)
  7. end

注意事项

  • 为了保证系统安全,文件夹备份文件名为 ROG 开头,如 ROG001,压缩包备份格式为 .bak
  • 文件夹备份新机时间最快,1 个 G 的数据也能几秒内完成

函数:appRecover 还原数据,全息恢复

函数名称:还原数据,全息恢复
函数功能:还原备份数据,全息恢复手机信息
函数方法:
local bool,err = appRecover({app},path,type)
参数 类型 说明
app 表格型 应用包名,多个应用填写多个包名即可,不针对应用可不写
path 文本型 数据路径,为绝对路径
type 整数型 还原类型,0 - bak还原,1 - 文件夹还原保留,2 - 文件夹还原不保留
返回值 类型 说明
bool 布尔型 成功返回 true,失败返回 false
err 文本型 备份失败,err 返回错误信息

iOS 版函数用例:

  1. local tsld = loadTSLibrary("pretender.tsl") --库加载
  2. if tsld.granted == 0 then
  3. dialog("插件未授权!", 0)
  4. return
  5. end
  6. if tsld.status == 0 then --验证判断
  7. dialog("插件加载异常", 0)
  8. return
  9. elseif tsld.status == 9 then --验证插件文件是否存在
  10. dialog("库文件不存在,请手动导入 pretender.tsl 文件到"..userPath().."/plugin目录下", 0)
  11. lua_exit()
  12. return
  13. elseif tsld.status == 2 then --验证重复加载
  14. dialog("重复加载 ROG 插件!会导致功能不正常,请修改脚本后重新运行", 0)
  15. lua_exit()
  16. return
  17. end
  18. require("TBackups") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. local bool,err = appRecover({"com.app.bearweather"},"/var/mobile/Media/123.bak",0)
  21. if err then
  22. dialog("failed:"..err, 0)
  23. else
  24. dialog("succeed", 0)
  25. end

Android 版函数用例:

  1. local rog = require("rog") -- 使用前必须加载
  2. local bool,err = rog.appRecover({"com.tencent.mobileqq"},userPath().."/res/ROG1234",1) --应用从文件夹还原
  3. if err then
  4. dialog("failed:"..err, 0)
  5. else
  6. dialog("succeed", 0)
  7. end

注意事项

  • 如果只需要恢复设备信息,不写包名即可
  • 还原类型 2 需要 v1.1.9 以上版本支持
  • 调用瘦身函数可能导致部分应用跨机还原失败,请事先测试
  • 部分应用不支持跨机恢复,请事先做好测试
  • 还原类型:
    0 - 还原 bak 类型文件,保留原文件。速度最慢,体积最小,单文件方便转移
    1 - 还原文件夹类型文件,保留原文件,速度一般,文件夹方便查看
    2 - 还原文件夹类型文件,删除原文件,速度极快,还原后备份数据会被删除

函数:setNetGPS 自动设置 GPS

函数名称:根据 IP 自动设置 GPS
函数功能:根据 IP 自动设置 GPS
支持版本:ROG 版本 iOS v1.1.9,Android v1.0.0 以上;引擎版本 iOS v2.3.9,Android v2.3.3.5 以上
函数方法
local ret = setNetGPS(bool);
参数 类型 说明
bool bool true - 设置,false - 关闭
返回值 类型 说明
ret bool true - 成功,false - 失败
x number ret 为 true 才返回该值,伪装位置的经度坐标
y number ret 为 true 才返回该值,伪装位置的纬度坐标

iOS 函数用例:

  1. local tsld = loadTSLibrary("pretender.tsl"); --库加载
  2. if tsld.granted == 0 then
  3. dialog("插件未授权!",0);
  4. return
  5. end
  6. if tsld.status == 0 then --验证判断
  7. dialog("插件加载异常",0);
  8. return
  9. elseif tsld.status == 9 then --验证插件文件是否存在
  10. dialog("库文件不存在,请手动导入 pretender.tsl 文件到"..userPath().."/plugin 目录下",0);
  11. lua_exit()
  12. return
  13. elseif tsld.status == 2 then --验证重复加载
  14. dialog("重复加载 ROG 插件!会导致功能不正常,请修改脚本后重新运行",0);
  15. lua_exit()
  16. return
  17. end
  18. require("TBackups") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. local ret = setNetGPS(true);
  21. if ret then
  22. dialog("GPS伪装成功",0);
  23. end

Android 函数用例:

  1. local rog = require("rog"); -- 使用前必须加载
  2. local bool,x,y = rog.setNetGPS(true);
  3. if bool then
  4. dialog("true\r\n"..x..":"..y);
  5. else
  6. dialog("false");
  7. end

注意事项

  • IP 发生变化伪装 GPS 才会变化
  • 暂不支持海外 IP

函数:appFakeEnable 设置 ROG 伪装状态

函数名称:设置 ROG 伪装状态
函数功能:设置 ROG 伪装状态
函数方法:
appFakeEnable(bool)
参数 类型 说明
bool 逻辑型 打开伪装 - true;关闭伪装 - false

iOS 版函数用例:

  1. local tsld = loadTSLibrary("pretender.tsl") --库加载
  2. if tsld.granted == 0 then
  3. dialog("插件未授权!", 0)
  4. return
  5. end
  6. if tsld.status == 0 then --验证判断
  7. dialog("插件加载异常", 0)
  8. return
  9. elseif tsld.status == 9 then --验证插件文件是否存在
  10. dialog("库文件不存在,请手动导入 pretender.tsl 文件到"..userPath().."/plugin目录下", 0)
  11. lua_exit()
  12. return
  13. elseif tsld.status == 2 then --验证重复加载
  14. dialog("重复加载 ROG 插件!会导致功能不正常,请修改脚本后重新运行", 0)
  15. lua_exit()
  16. return
  17. end
  18. require("TBackups") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. appFakeEnable(false) -- 关闭伪装

Android 版函数用例:

  1. local rog = require("rog") -- 使用前必须加载
  2. rog.appFakeEnable(false) --关闭伪装

注意事项

  • 新机会自动开启伪装,所以一般操作不需要打开。
  • 如果不需要伪装,可关闭,一般其他情况不需要关闭,否则影响伪装效果
  • 关闭伪装时手机为原始状态

函数:clearSafari 清除浏览器数据(仅支持 iOS)

函数名称:清除浏览器数据
函数功能:清除浏览器数据,支持插件 iOS v1.1.0 及以上版本
函数方法
clearSafari()
  • 安卓系统可以使用新机函数,参数填写浏览器包名来清除浏览器数据

函数:serialNumber 清除序列号(仅支持 iOS)

函数名称:清除序列号
函数功能:清除序列号可突破 iCloud 注册限制,支持插件 iOS v1.1.0 及以上版本
函数方法
serialNumber()

函数用例:

  1. local tsld = loadTSLibrary("pretender.tsl") --库加载
  2. if tsld.granted == 0 then
  3. dialog("插件未授权!", 0)
  4. return
  5. end
  6. if tsld.status == 0 then --验证判断
  7. dialog("插件加载异常", 0)
  8. return
  9. elseif tsld.status == 9 then --验证插件文件是否存在
  10. dialog("库文件不存在,请手动导入 pretender.tsl 文件到"..userPath().."/plugin目录下", 0)
  11. lua_exit()
  12. return
  13. elseif tsld.status == 2 then --验证重复加载
  14. dialog("重复加载 ROG 插件!会导致功能不正常,请修改脚本后重新运行", 0)
  15. lua_exit()
  16. return
  17. end
  18. require("TBackups") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. local bool,err = appDel({})
  21. if err then
  22. dialog("failed:"..err, 0)
  23. else
  24. serialNumber() --执行该函数会重启手机
  25. end

注意事项

  • 需要在执行新机后才执行,执行该函数会重启手机,注册 iCloud 上限可调用
  • 可把脚本设置成开机自启动,只能在 iOS 8 - 8.4 系统上突破 iCloud 注册限制
  • 需要注意脚本中做判断,否则可能导致开机-重启的无限死循环

函数:appInfo 获取设备信息

函数名称:获取设备信息
函数功能:获取设备信息
函数方法:

local tab = appInfo()

※需要伪装后才能获取到信息

参数:无

返回值 类型 说明
bkvs 表格型 设备信息

iOS函数用例:

  1. local tsld = loadTSLibrary("pretender.tsl") --库加载
  2. if tsld.granted == 0 then
  3. dialog("插件未授权!", 0)
  4. return
  5. end
  6. if tsld.status == 0 then --验证判断
  7. dialog("插件加载异常", 0)
  8. return
  9. elseif tsld.status == 9 then --验证插件文件是否存在
  10. dialog("库文件不存在,请手动导入 pretender.tsl 文件到"..userPath().."/plugin目录下", 0)
  11. lua_exit()
  12. return
  13. elseif tsld.status == 2 then --验证重复加载
  14. dialog("重复加载 ROG 插件!会导致功能不正常,请修改脚本后重新运行", 0)
  15. lua_exit()
  16. return
  17. end
  18. require("TBackups") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. local tab = appInfo()
  21. local info = ""
  22. for k,v in pairs(tab) do
  23. info = info .. k ..":"..tostring(v).."\n"
  24. end
  25. dialog(info, 0)

Android 函数用例:

  1. local rog = require("rog") -- 使用前必须加载
  2. local tab = rog.appInfo()
  3. local info = ""
  4. for k,v in pairs(tab) do
  5. info = info .. k ..":"..tostring(v).."\n"
  6. end
  7. dialog(info, 0)

函数:toBakFolder BAK数据转换(仅支持 iOS)

函数名称:BAK 数据转换
函数功能:ROG 文件夹数据与 bak 数据包相互转换
函数方法:
toBakFolder(tPath,path,type)
参数 类型 说明
tpath 文本型 需要转换的文件数据路径
path 文本型 转换到的文件数据路径
path 文本型 转换的类型,0 - ROG文件夹数据转 bak 数据,其他 - bak数据转 ROG 文件夹数据
返回值 类型 说明
bool 布尔型 成功返回 true,失败返回 false
err 文本型 转换失败,err 返回错误信息

函数用例:

  1. local tsld = loadTSLibrary("pretender.tsl") --库加载
  2. if tsld.granted == 0 then
  3. dialog("插件未授权!", 0)
  4. return
  5. end
  6. if tsld.status == 0 then --验证判断
  7. dialog("插件加载异常", 0)
  8. return
  9. elseif tsld.status == 9 then --验证插件文件是否存在
  10. dialog("库文件不存在,请手动导入 pretender.tsl 文件到"..userPath().."/plugin目录下", 0)
  11. lua_exit()
  12. return
  13. elseif tsld.status == 2 then --验证重复加载
  14. dialog("重复加载 ROG 插件!会导致功能不正常,请修改脚本后重新运行", 0)
  15. lua_exit()
  16. return
  17. end
  18. require("TBackups") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. local bool = toBakFolder("/var/mobile/Media/ROG001","/var/mobile/Media/1.bak",0)
  21. if bool then
  22. dialog("数据转换成功", 0)
  23. end

函数:transfer 第三方数据转换(仅支持 iOS)

函数名称:第三方数据转换
函数功能:将 NZT 数据包转换成 ROG 数据包,支持插件 iOS v1.1.0 及以上版本
函数方法:
transfer(tPath,path)
参数 类型 说明
tpath 文本型 需要转换的数据文件夹路径
path 文本型 需要备份的数据的路径

函数用例:

  1. local tsld = loadTSLibrary("pretender.tsl") --库加载
  2. if tsld.granted == 0 then
  3. dialog("插件未授权!", 0)
  4. return
  5. end
  6. if tsld.status == 0 then --验证判断
  7. dialog("插件加载异常", 0)
  8. return
  9. elseif tsld.status == 9 then --验证插件文件是否存在
  10. dialog("库文件不存在,请手动导入 pretender.tsl 文件到"..userPath().."/plugin目录下", 0)
  11. lua_exit()
  12. return
  13. elseif tsld.status == 2 then --验证重复加载
  14. dialog("重复加载 ROG 插件!会导致功能不正常,请修改脚本后重新运行", 0)
  15. lua_exit()
  16. return
  17. end
  18. require("TBackups") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. local bool = transfer("/User/iGrimace/01-07-16-01-35","/var/mobile/Media/1.bak")
  21. if bool then
  22. dialog("数据转换成功", 0)
  23. end

函数:antiRootDetect 防 root 检测(仅支持 Android)

函数名称:屏蔽 root 检测
函数功能:屏蔽 root、Xposed 检测
支持版本:引擎版本 Android v2.3.3.5 以上
函数方法
bool,err = rog.antiRootDetect(true/false);
参数 类型 说明
flag bool 必填,是否开启屏蔽 root、Xposed 检测;true 为打开防检测,false 为关闭防检测
返回值 类型 说明
bool bool 成功返回 true,失败返回 false
err number 设置失败,err 返回错误信息

函数用例:

  1. local rog = require("rog"); -- 使用前必须加载
  2. local bool = rog.antiRootDetect(true);
  3. if bool then
  4. dialog("true");
  5. else
  6. dialog("false");
  7. end

函数:notInstalled 屏蔽安装检测(仅支持 Android)

函数名称:屏蔽安装检测
函数功能:隐藏已安装状态
支持版本:引擎版本 Android v2.3.5 以上,隐私卫士 v1.0.1 以上版本
函数方法

bool,err =rog.notInstalled(true,{"com.touchsprite.android"});

参数 类型 说明
flag bool 必填,是否开启屏蔽;true 为打开防检测,false 为关闭防检测
bid table 必填,屏蔽应用的安装检测
返回值 类型 说明
bool bool 成功返回 true,失败返回 false
err number 设置失败,err 返回错误信息
  1. local appid = {"com.touchsprite.android"};
  2. local rog = require("rog"); -- 使用前必须加载
  3. local bool = rog.notInstalled(true,appid);
  4. if bool then
  5. dialog("true");
  6. else
  7. dialog("false");
  8. end

注意事项

  • 部分 APP 使用此函数会导致应用闪退

函数:fakeGPS 伪装位置(仅支持 Android)

函数名称:伪装位置
函数功能:根据经纬度伪装地理位置
支持版本:引擎版本 Android v2.3.3.5以上
函数方法
local bool,err = rog.fakeGPS(x,y);
参数 类型 说明
app table 应用包名,多个应用填写多个包名,逗号隔开即可,不针对应用可不写
x number 必填,将要伪装位置的经度坐标
y number 必填,将要伪装位置的纬度坐标
返回值 类型 说明
bool bool 成功返回 true,失败返回 false
err bool 设置失败,err 返回错误信息

函数用例:

  1. local rog = require("rog"); -- 使用前必须加载
  2. local appid = {"com.xxxxx.xxxxx"};
  3. dialog("该用例不可直接使用,需要填写正确包名.");
  4. local bool,err = rog.fakeGPS(appid,109.6330218931,18.2272188918);
  5. if bool then
  6. dialog("true");
  7. else
  8. dialog("false"..err);
  9. end

注意事项:

  • 本函数仅对 appDel 函数指定的应用生效
  • 如果不需要伪装,可以将 x,y 设置为 0 或者不写参数。

函数:shakeDevice 摇一摇(仅支持 Android)

函数名称:摇一摇
函数功能:修改传感器实现摇一摇
支持版本:引擎版本 Android v2.3.3.5以上
函数方法
rog.shakeDevice(time)

返回值: 无

参数 类型 说明
time number 选填,摇动持续时间,不填则默认是 500 毫秒

函数用例:

  1. local rog = require("rog"); -- 使用前必须加载
  2. rog.shakeDevice(500);

附录

  1. 系统名称,机型 对照表
  2. // iPhone
  3. "iPhone1,1" "iPhone 2G"
  4. "iPhone1,2" "iPhone 3G"
  5. "iPhone2,1" "iPhone 3GS"
  6. "iPhone3,1" "iPhone 4"
  7. "iPhone3,2" "iPhone 4"
  8. "iPhone3,3" "iPhone 4"
  9. "iPhone4,1" "iPhone 4S"
  10. "iPhone5,1" "iPhone 5"
  11. "iPhone5,2" "iPhone 5"
  12. "iPhone5,3" "iPhone 5c"
  13. "iPhone5,4" "iPhone 5c"
  14. "iPhone6,1" "iPhone 5s"
  15. "iPhone6,2" "iPhone 5s"
  16. "iPhone7,2" "iPhone 6"
  17. "iPhone7,1" "iPhone 6Plus"
  18. "iPhone8,1" "iPhone 6s"
  19. "iPhone8,2" "iPhone 6sPlus"
  20. "iPhone8,3" "iPhone SE"
  21. "iPhone8,4" "iPhone SE"
  22. "iPhone9,1" "iPhone 7"
  23. "iPhone9,2" "iPhone 7Plus"
  24. "iPhone10,1" "iPhone 8"
  25. "iPhone10,4" "iPhone 8"
  26. "iPhone10,2" "iPhone 8Plus"
  27. "iPhone10,5" "iPhone 8Plus"
  28. "iPhone10,3" "iPhone X"
  29. //iPod Touch
  30. "iPod1,1" "iPod Touch"
  31. "iPod2,1" "iPod Touch 2G"
  32. "iPod3,1" "iPod Touch 3G"
  33. "iPod4,1" "iPod Touch 4G"
  34. "iPod5,1" "iPod Touch 5G"
  35. "iPod7,1" "iPod Touch 6G"
  36. //iPad
  37. "iPad1,1" "iPad"
  38. "iPad2,1" "iPad 2"
  39. "iPad2,2" "iPad 2"
  40. "iPad2,3" "iPad 2"
  41. "iPad2,4" "iPad 2"
  42. "iPad3,1" "iPad 3"
  43. "iPad3,2" "iPad 3"
  44. "iPad3,3" "iPad 3"
  45. "iPad3,4" "iPad 4"
  46. "iPad3,5" "iPad 4"
  47. "iPad3,6" "iPad 4"
  48. //iPad Air
  49. "iPad4,1" "iPad Air"
  50. "iPad4,2" "iPad Air"
  51. "iPad4,3" "iPad Air"
  52. "iPad5,3" "iPad Air 2"
  53. "iPad5,4" "iPad Air 2"
  54. //iPad mini
  55. "iPad2,5" "iPad mini 1G"
  56. "iPad2,6" "iPad mini 1G"
  57. "iPad2,7" "iPad mini 1G"
  58. "iPad4,4" "iPad mini 2"
  59. "iPad4,5" "iPad mini 2"
  60. "iPad4,6" "iPad mini 2"
  61. "iPad4,7" "iPad mini 3"
  62. "iPad4,8" "iPad mini 3"
  63. "iPad4,9" "iPad mini 3"
  64. "iPad5,1" "iPad mini 4"
  65. "iPad5,2" "iPad mini 4"

  1. 系统名称,机型 对照表
  2. //Android
  3. "荣耀 7i,HUAWEI" "ATH-AL00"
  4. "荣耀6至尊,HUAWEI" "H60-L21"
  5. "荣耀6 Plus,HUAWEI" "PE-TL10"
  6. "P10,HUAWEI" "VTR-AL00"
  7. "P10 Plus,HUAWEI" "VKY-AL00"
  8. "联想K3,LeMobile" "Le X620"
  9. "乐视2 Pro,LeMobile" "Le X525"
  10. "乐视1|,Letv" "X600"
  11. "乐视1 Pro,Letv" "X800+"
  12. "乐视1 S,Letv" "Letv X500"
  13. "乐视1 S 太子妃版,Letv" "Letv X501"
  14. "HTC One M9,HTC" "HTC M9e"
  15. "HTC One A9,HTC" "HTC One A9"
  16. "OPPO R9,OPPO" "OPPO R9m"
  17. "OPPO Find7,OPPO" "x9007"
  18. "OPPO Find5,OPPO" "x909t"
  19. "x909t,OPPO" "OPPO R7"
  20. "OPPO R7S,OPPO" "OPPO R7S"
  21. "锤子 T1,Smartisan" "SM705"
  22. "锤子 T2,Smartisan" "SM801"
  23. "坚果,Smartisan" "YQ601"
  24. "锤子 T3,Smartisan" "SM901"
  25. "小米2S,Xiaomi" "MI 2S"
  26. "小米3,Xiaomi" "MI 3"
  27. "小米4,Xiaomi" "MI 4LTE"
  28. "小米4C,Xiaomi" "MI-4C"
  29. "小米4S,Xiaomi" "MI 4S"
  30. "小米5,Xiaomi" "MI 5"
  31. "小米NOTE,Xiaomi" "MI NOTE LTE"
  32. "小米MAX,Xiaomi" "MI MAX"
  33. "小米NOTE 2,Xiaomi" "MI NOTE 2"
  34. "小米NOTE 顶配版,Xiaomi" "MI NOTE PRO"
  35. "红米Note3,Xiaomi" "Redmi Note 3"
  36. "小米平板2,Xiaomi" "MI Pad 2"
  37. "小米5S,Xiaomi" "小米5S"
  38. "小米 Note 4,Xiaomi" "2016060"
  39. "小米MIX,Xiaomi" "MIX"
  40. "一加手机1,OnePlus" "A1001"
  41. "一加手机2,OnePlus" "ONE A2001"
  42. "一加手机3,OnePlus" "OnePlus A3000"
  43. "中兴 AXON 天机 MAX,ZTE" "ZTE C2016"
  44. "中兴 AXON 天机 MINI,ZTE" "ZTE B2015"
  45. "中兴 AXON 天机,ZTE" "ZTE A2015"
  46. "中兴 星星 2 号,ZTE" "ZTE G720C"
  47. "努比亚 Z11 mini全网通,ZTE" "NX529"
  48. "努比亚大牛 Z9 Max,ZTE" "NX512J"
  49. "努比亚小牛 4 Z9 Mini,ZTE" "NX511"
  50. "ZTE 国民指纹机 BladeA1,ZTE" "ZTE C880U"
  51. "格力手机 1,GREE" "G0111"
  52. "格力手机 1s,GREE" "G0121"
  53. "格力手机 2,GREE" "G0128"
  54. "MX 2,Meizu" "MX2"
  55. "MX 3.Meizu" "M355"
  56. "MX 4,Meiz" "MX4"
  57. "MX 4 Pro,Meizu" "MX4 Pro"
  58. "MX 5,Meizu" "M575M"
  59. "PRO 6,Meizu" "PRO 6"
  60. "魅蓝 3,Meizu" "魅蓝3"
  61. "魅蓝 note,Meizu" "m1 note"
  62. "魅蓝 3 note,Meizu" "m3 note"
  63. "魅蓝 metal,Meizu" "m1 metal"
  64. "Galaxy S6 Edge+,samsung" "SM-G9280"
  65. "Galaxy Note7,samsung" "SM-N9300"
  66. "Galaxy S7 edge,samsung" "SM-G9350"
  67. "Galaxy S7,samsung" "SM-G9300"
  68. "Galaxy S8,samsung" "SM-G9500"
  69. "Galaxy S8+,samsung" "SM-G9550"
  70. "Galaxy C7,samsung" "SM-W2017"
  71. "Galaxy ON5,samsung" "SM-G5520"
  72. "Galaxy ON5,samsung" "SM-G5520"
  73. "Galaxy C9 Pro,samsung" "SM-C9000"
  74. "Xperia Z3,Sony" "L55t"
  75. "Xperia Z5 Premium,Sony" "E6883"
  76. "Xperia Z5,Sony" "E6683"
  77. "Xperia Z3+,Sony" "E6533"

更新日志



添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注