[关闭]
@miniknife 2017-10-17T08:49:33.000000Z 字数 16067 阅读 24570

ROG 一键新机插件使用手册

开发手册


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

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

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


目录

简介

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

使用须知

  • 使用 ROG 一键新机插件请先加载 tsl 库,请在脚本开头调用,会返回一个 table, 请看完整示例
  • 触动企业版只需加载插件,会自动更新下载插件
  • 触动普通版需要手动把pretender.tsl文件导入到/var/mobile/Media/TouchSprite/plugin插件目录
  • 如果是普通版tsp,把tsl文件一起打包即可,因为tsl插件如果存在不会覆盖,所以如果是tsp需要判断
  • 文中提到的目录都是手机目录
  • 企业版可通过中控器-增值服务-ROG一键新机处授权

文件下载

(1.2.2.3版本)
更新于2017/10/17:pretender.tsl1316.4kB

功能函数

函数:loadTSLibrary 加载插件

函数名称:加载插件
函数功能:加载 ROG 一键新机插件
函数方法:
local tsld = loadTSLibrary("pretender.tsl")
返回值:Table 型
返回值 类型 说明
tsld.status 整数型 加载库 1-正常,2-已加载过,0-失败
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) --第二个参数加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)

  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

注意事项

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

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

函数名称:一键新机,删除数据
函数功能:删除设备数据,一键新机
函数方法:
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 表格型 应用包名,多个应用填写多个包名,逗号隔开即可,不针对应用可不写
serialNumber 文本型 *序列号,12位的大写字母和数字,自动随机生成,无特殊要求不需要修改
deviceName 文本型 *设备名称,不指定会自动随机生成,如iphone
deviceModel 文本型 设备机型 ,iPhone,iPad,iTouch三种,一般默认即可,如果修改请与型号对应
productType 文本型 设备详细型号,iPhone5,3,一般默认即可,不建议修改,对应机型请看附录
osVersion 文本型 系统版本号,8.1.3,一般默认即可,不建议修改,其他版本号请看注意事项
IDFA 文本型 *IDFA,自动随机生成,无特殊要求不需要修改,格式看注意事项
IDFV 文本型 *IDFV,自动随机生成,无特殊要求不需要修改,格式看注意事项
CarrierName 文本型 *运营商名称,中国移动,中国联通,中国电信,不写会自动随机选择
CarrierType 文本型 网络类型,2G,3G,4G,wifi,如果需要伪装移动网络,一般选择3G即可
UUID 文本型 *UUID,自动随机生成,无特殊要求不需要修改,格式看注意事项
UA 文本型 浏览器的UA信息,具体可百度UA查看
IMEI 文本型 IMEI,为非空且不为15位字符串时会自动随机生成,格式看注意事项
sysUpTime 文本型 累积开机时间,开机到当前的总时间,单位是秒,详细看注意事项
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值,格式看注意事项
UDID 文本型 UDID,为非空且不为40位字符串时会自动随机生成,格式看注意事项
返回值 类型 说明
bool 布尔型 成功返回true,失败返回false
err 文本型 新机失败,err返回错误信息

函数用例:

  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") --库加载
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  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

注意事项

  • 参数信息大部分会自动生成,无特殊要求不需要写。
  • 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参数1.2.0.7以上版本支持,UDID需要1.2.1.3版本支持

函数:fakePerApp 设置多应用不同伪装

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

函数用例:

  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") --库加载
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  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 设置应用黑名单

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

函数用例:

  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") --库加载
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  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 应用瘦身

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

函数用例:

  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") --库加载
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  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返回错误信息

函数用例:

  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") --库加载
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  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

注意事项

  • 为了保证系统安全,文件夹备份文件名为ROG开头,如ROG001,压缩包备份格式为.bak

函数:newBackup 备份新机

函数名称:数据备份并新机设备
函数功能:备份手机数据信息并新机设备
支持版本:1.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. 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") --库加载
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  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返回错误信息

函数用例:

  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") --库加载
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  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

注意事项

  • 如果只需要恢复设备信息,不写包名即可
  • 还原类型 2 需要 1.1.9 以上版本支持
  • 还原类型:
    0 - 还原bak类型文件,保留原文件。速度最慢,体积最小,单文件方便转移
    1 - 还原文件夹类型文件,保留原文件,速度一般,文件夹方便查看
    2 - 还原文件夹类型文件,删除原文件,速度极快,还原后备份数据会被删除

函数:setNetGPS 自动设置GPS

函数名称:根据IP自动设置gps
函数功能:根据IP自动设置gps
支持版本:1.1.9 以上版本
函数方法:
local ret = setNetGPS(bool)
参数 类型 说明
bool 布尔型 true-设置,false-关闭
返回值 类型 说明
ret 布尔型 true-成功,false-失败
x 浮点型 ret为true才返回该值,伪装位置的经度坐标
y 浮点型 ret为true才返回该值,伪装位置的纬度坐标

函数用例:

  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") --库加载
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  16. return
  17. end
  18. require("TBackups") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. local ret = setNetGPS(true)
  21. if ret then
  22. dialog("GPS伪装成功", 0)
  23. end

注意事项

  • ip发生变化伪装gps才会变化
  • 暂不支持海外ip

函数:BKVersions 获取版本号

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

函数用例:

  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") --库加载
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  16. return
  17. end
  18. require("TBackups") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. local bkvs = BKVersions()
  21. dialog(bkvs, 0)

函数:appFakeEnable 设置ROG伪装状态

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

注意事项

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

函数:clearSafari 清除浏览器数据

函数名称:清除浏览器数据
函数功能:清除浏览器数据
函数方法
clearSafari()

函数:serialNumber 清除序列号

函数名称:清除序列号
函数功能:清除序列号可突破iCloud注册限制
函数方法
serialNumber()

函数用例:

  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") --库加载
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  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上限可调用
  • 可把脚本设置成开机自启动,只能在ios8-8.4系统上突破iCloud注册限制
  • 需要注意脚本中做判断,否则可能导致开机-重启的无限死循环

函数:appInfo 获取设备信息

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

local tab = appInfo()

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

参数:无

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

函数用例:

  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") --库加载
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  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)

函数:toBakFolder BAK数据转换

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

函数用例:

  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") --库加载
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  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 数据转换

函数名称:将NZT数据包转换成ROG数据包
函数功能:NZT数据包转换成ROG数据包
函数方法:
transfer(tPath,path)
参数 类型 说明
tpath 文本型 需要转换的数据文件夹路径
path 文本型 需要备份的数据的路径

函数用例:

  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") --库加载
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  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

完整用例

  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") --库加载
  10. if tsld.granted == 0 then
  11. dialog("插件未授权!", 0)
  12. return
  13. end
  14. if tsld.status == 0 then --验证判断
  15. dialog("插件加载异常", 0)
  16. return
  17. end
  18. require("TBackups") --需要加载
  19. --以上代码请在脚本开头先调用验证加载,只需加载一次
  20. --数据备份
  21. local appbk = appBackup({"com.app.bearweather"},"/var/mobile/Media/123.bak")
  22. if appbk then
  23. dialog("succeed", 0)
  24. else
  25. dialog("failed", 0)
  26. end
  27. --一键新机
  28. local bool,err = appDel({"com.app.bearweather"})
  29. if err then
  30. dialog("failed:"..err, 0)
  31. else
  32. dialog("succeed", 0)
  33. end
  34. --获取设备信息
  35. local tab = appInfo()
  36. local info = ""
  37. for k,v in pairs(tab) do
  38. info = info .. k ..":"..tostring(v).."\n"
  39. end
  40. dialog(info, 0)
  41. --数据还原
  42. local appre = appRecover({"com.app.bearweather"},"/var/mobile/Media/123.bak")
  43. if appre then
  44. dialog("succeed", 0)
  45. else
  46. dialog("failed", 0)
  47. end

附录

  1. 系统名称,机型 对照表
  2. // iPhone
  3. "iPhone1,1" "iPhone2G"
  4. "iPhone1,2" "iPhone3G"
  5. "iPhone2,1" "iPhone3GS"
  6. "iPhone3,1" "iPhone4"
  7. "iPhone3,2" "iPhone4"
  8. "iPhone3,3" "iPhone4"
  9. "iPhone4,1" "iPhone4S"
  10. "iPhone5,1" "iPhone5"
  11. "iPhone5,2" "iPhone5"
  12. "iPhone5,3" "iPhone5c"
  13. "iPhone5,4" "iPhone5c"
  14. "iPhone6,1" "iPhone5s"
  15. "iPhone6,2" "iPhone5s"
  16. "iPhone7,2" "iPhone6"
  17. "iPhone7,1" "iPhone6Plus"
  18. "iPhone8,1" "iPhone6s"
  19. "iPhone8,2" "iPhone6sPlus"
  20. "iPhone8,3" "iPhoneSE"
  21. "iPhone8,4" "iPhoneSE"
  22. "iPhone9,1" "iPhone7"
  23. "iPhone9,2" "iPhone7Plus"
  24. //iPod Touch
  25. "iPod1,1" "iPodTouch"
  26. "iPod2,1" "iPodTouch2G"
  27. "iPod3,1" "iPodTouch3G"
  28. "iPod4,1" "iPodTouch4G"
  29. "iPod5,1" "iPodTouch5G"
  30. "iPod7,1" "iPodTouch6G"
  31. //iPad
  32. "iPad1,1" "iPad"
  33. "iPad2,1" "iPad2"
  34. "iPad2,2" "iPad2"
  35. "iPad2,3" "iPad2"
  36. "iPad2,4" "iPad2"
  37. "iPad3,1" "iPad3"
  38. "iPad3,2" "iPad3"
  39. "iPad3,3" "iPad3"
  40. "iPad3,4" "iPad4"
  41. "iPad3,5" "iPad4"
  42. "iPad3,6" "iPad4"
  43. //iPad Air
  44. "iPad4,1" "iPadAir"
  45. "iPad4,2" "iPadAir"
  46. "iPad4,3" "iPadAir"
  47. "iPad5,3" "iPadAir2"
  48. "iPad5,4" "iPadAir2"
  49. //iPad mini
  50. "iPad2,5" "iPadmini1G"
  51. "iPad2,6" "iPadmini1G"
  52. "iPad2,7" "iPadmini1G"
  53. "iPad4,4" "iPadmini2"
  54. "iPad4,5" "iPadmini2"
  55. "iPad4,6" "iPadmini2"
  56. "iPad4,7" "iPadmini3"
  57. "iPad4,8" "iPadmini3"
  58. "iPad4,9" "iPadmini3"
  59. "iPad5,1" "iPadmini4"
  60. "iPad5,2" "iPadmini4"
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注