[关闭]
@miniknife 2018-04-25T14:21:28.000000Z 字数 20666 阅读 45644

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 = rog.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 位数字(仅支持 Andriod)
ICCID 文本型 *ICCID,无特殊要求不需要修改(仅支持 Andriod)
SIM 文本型 *SIM 卡号,无特殊要求不需要修改(仅支持 Andriod)
PhoneBrand 文本型 *手机生产厂商(仅支持 Andriod)
AndroidID 文本型 *AndroidID(仅支持 Andriod)
返回值 类型 说明
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 参数 v1.2.0.7 以上版本支持,UDID 需要 v1.2.1.3 版本支持
  • 部分参数随机生成可能会导致伪装失效,如果不需要伪装此参数,请将此参数写为 false

安卓手机型号对照表

名称 品牌 型号
荣耀 7i HUAWEI ATH-AL00
荣耀6至尊 HUAWEI H60-L21
荣耀6 Plus HUAWEI PE-TL10
P10 HUAWEI VTR-AL00
P10 Plus HUAWEI VKY-AL00
联想K3 LeMobile Le X620
乐视2 Pro LeMobile Le X525
乐视1 Letv X600
乐视1 Pro Letv X800+
乐视1 S Letv Letv X500
乐视1 S 太子妃版 Letv Letv X501
HTC One M9 HTC HTC M9e
HTC One A9 HTC HTC One A9
OPPO R9 OPPO OPPO R9m
OPPO Find7 OPPO x9007
OPPO Find5 OPPO x909t
x909t OPPO OPPO R7
OPPO R7S OPPO OPPO R7S
锤子 T1 Smartisan SM705
锤子 T2 Smartisan SM801
坚果 Smartisan YQ601
锤子 T3 Smartisan SM901
小米2S Xiaomi MI 2S
小米3 Xiaomi MI 3
小米4 Xiaomi MI 4LTE
小米4C Xiaomi MI-4C
小米4S Xiaomi MI 4S
小米5 Xiaomi MI 5
小米NOTE Xiaomi MI NOTE LTE
小米MAX Xiaomi MI MAX
小米NOTE 2 Xiaomi MI NOTE 2
小米NOTE 顶配版 Xiaomi MI NOTE PRO
红米Note3 Xiaomi Redmi Note 3
小米平板2 Xiaomi MI Pad 2
小米5S Xiaomi 小米5S
小米 Note 4 Xiaomi 2016060
小米MIX Xiaomi MIX
一加手机1 OnePlus A1001
一加手机2 OnePlus ONE A2001
一加手机3 OnePlus OnePlus A3000
中兴 AXON 天机 MAX ZTE ZTE C2016
中兴 AXON 天机 MINI ZTE ZTE B2015
中兴 AXON 天机 ZTE ZTE A2015
中兴 星星 2 号 ZTE ZTE G720C
努比亚 Z11 mini全网通 ZTE NX529J
努比亚大牛 Z9 Max ZTE NX512J
努比亚小牛 4 Z9 Mini ZTE NX511J
ZTE 国民指纹机 BladeA1 ZTE ZTE C880U
格力手机 1 GREE G0111
格力手机 1s GREE G0121
格力手机 2 GREE G0128
MX 2 Meizu MX2
MX 3 Meizu M355
MX 4 Meizu MX4
MX 4 Pro Meizu MX4 Pro
MX 5 Meizu M575M
PRO 6 Meizu PRO 6
魅蓝 3 Meizu 魅蓝3
魅蓝 note Meizu m1 note
魅蓝 3 note Meizu m3 note
魅蓝 metal Meizu m1 metal
Galaxy S6 Edge+ samsung SM-G9280
Galaxy Note7 samsung SM-N9300
Galaxy S7 edge samsung SM-G9350
Galaxy S7 samsung SM-G9300
Galaxy S8 samsung SM-G9500
Galaxy S8+ samsung SM-G9550
Galaxy C7 samsung SM-W2017
Galaxy ON5 samsung SM-G5520
Galaxy ON5 samsung SM-G5520
Galaxy C9 Pro samsung SM-C9000
Xperia Z3 Sony L55t
Xperia Z5 Premium Sony E6883
Xperia Z5 Sony E6683
Xperia Z3+ Sony E6533

函数: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

注意事项

  • 如果已经对个别应用伪装,如需要对其他应用统一伪装,包名写"@default"即可
  • 该函数只是设置不同应用伪装信息,需调用一键新机才生效

函数: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 文本型 备份数据的存放路径
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")
  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) --应用备份为文件夹
  3. if err then
  4. dialog("failed:"..err, 0)
  5. else
  6. dialog("succeed", 0)
  7. end

注意事项

  • 为了保证系统安全,文件夹备份文件名为 ROG 开头,如 ROG001,压缩包备份格式为 .bak
    备份文件夹的路径是设置的路径,也可以使用手册示例的路径,如 iOS 为 /var/mobile/Media/ 文件夹下,Andriod 为 mnt/scard/touchsprite/res/ 文件夹下。

函数: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 返回错误信息

函数用例:

  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

注意事项

  • 为了保证系统安全,文件夹备份文件名为 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

Andriod 函数用例:

  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

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

函数名称:伪造 GPS 信息
函数功能:调用该函数以欺骗当前应用获取到的位置信息
支持版本:引擎版本 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);

注意事项:

  • 第一次使用需进入 ROG 启动页面。

附录

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

更新日志




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