为什么要混合开发
混合开发有点麻烦,因为golang是强类型的语言,函数写起来要比lua的函数复杂的多。同样的功能,golang的代码量要大好多。
但是呢,有弊就有利。将核心代码放在golang里实现,能够极大的提高脚本的安全性。特别是你的脚本商业价值比较高,用的人很多,混合式开发就很有必要了。
通过混合式开发,打包后如果被逆向,别人也只能得到lua部分的代码。无法拿到golang的代码。
这样以来,破解得到的脚本源码就是残缺不全的。因为核心方法都写到golang里了。
lua只负责调用,不负责具体的业务和逻辑。

lua
注册懒人的方法到gobridge中
gobridge.register("touchDown", touchDown)
gobridge.register("touchMove", touchMove)
gobridge.register("touchUp", touchUp)
golang
调用懒人的方法实现分步滑动
// 实现滑动功能
// 注意:此函数不支持在无障碍模式下使用,只能在激活或者root模式下使用
// 参数:
// swipeJson: JSON字符串,格式为[X1, Y1, X2, Y2]
// speed: 滑动速度
// 返回:滑动是否成功
func Swipe(swipeJson string, speed int) bool {
// 解析JSON坐标参数
var coords []int
if err := json.Unmarshal([]byte(swipeJson), &coords); err != nil {
return false
}
// 验证坐标格式
if len(coords) != 4 {
return false
}
x1, y1, x2, y2 := coords[0], coords[1], coords[2], coords[3]
// 处理速度参数
if speed <= 0 {
speed = 30
}
// 计算滑动距离(欧几里得距离)
distance := math.Hypot(float64(x2-x1), float64(y2-y1))
// 计算步数(向下取整)
steps := int(math.Floor(distance / float64(speed)))
// 至少保证1步,避免距离过小时无滑动动作
if steps < 1 {
steps = 1
}
// 计算每步的X和Y方向增量
stepX := float64(x2-x1) / float64(steps)
stepY := float64(y2-y1) / float64(steps)
// 触发按下操作
bridge.Call("touchDown", 1, x1, y1)
// 分步移动
for i := 1; i <= steps; i++ {
// 计算当前步的坐标(四舍五入为整数坐标)
currentX := int(math.Round(float64(x1) + stepX*float64(i)))
currentY := int(math.Round(float64(y1) + stepY*float64(i)))
bridge.Call("touchMove", 1, currentX, currentY)
// 每步间隔40ms(与Lua保持一致)
time.Sleep(40 * time.Millisecond)
}
// 结束滑动,抬起触摸
bridge.Call("touchUp", 1)
return true
}
懒人精灵调用go的方法
print('滑动', gobridge.call("libgo.so", "Swipe",jsonLib.encode({728,209,739,316}),20))
应用场景
温馨提示:此处内容需要登录后才能查看!
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【懒人精灵】在golang中实现懒人精灵的滑动功能,懒人混合式开发
飞云脚本圈: 586333520

Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【懒人精灵】在golang中实现懒人精灵的滑动功能,懒人混合式开发