声明:这个是用于安卓游戏内存读取,方便模拟按键判断。调用安卓的sys和山海师lua插件,没有用到写入xx破坏游戏,不针对游戏,希望管理能通过帖子!
<<<<<<<<<<<<<只作为按键精灵技术研究,不针对任何游戏<<<<<<<<<<<<<<<<<<<<<后面后源码<<<<<
获取xx方法有很多,但是特征码定位是最简单的方法,也是最直接通用。
技术研究:本人一直做PC端,安卓我也是新手,这几天也开始看了一下安卓方面的内容。因为本人现在写这个帖子只学了安卓几天时间,有错可以跟我反馈。我将我这几天的学习经验跟大家分享下,反正就是大家探讨、提高。
内存实现功能:大家都知道安卓实现找坐标要识别xx,要制作字库找图找色,可能要很多尝试调试,还要加各种算法等一些麻烦的东西,如果用内存反而简单的,可能你在几分钟之内就能够把坐标、地图名字、人物相关属性、怪物类型等完美识别。而且非常的精准,几乎不会出现错误,准确率是99.99%。这就是内存的好处。
内存识别优点:1.识别速度快(识别坐标字体只要0.01秒) 2.精准稳定 3.节省判断测试脚本的时间
1.下面的例子是某网游,模拟器测试用海马,其他模拟器也可以的。
<<<<<<<<<目标:找到坐标值,并且内存定位,防止xx更新<<<<<<<<<<<<<<<<<<<<<<<<<

2.实操读取坐标:整理我就用下面的游戏来给大家做一个简单的演示。我再次声明我没有修改游戏任何xx。
大家可以通过烧饼等工具搜索查找相关的xx。有检测就换其他搜索工具。这里假如坐标浮点数搜索40.通过变化来获取的,具体情况具体分析。另外注意这个游戏的坐标是浮点数f32,显示的时候不会四舍五入的。如:X坐标18.9333725,显示18整数。
3.下面这张图是查看地址相对应的内存区域。我们分析相关xx那些是不变的。
4.红色的就作为内存特征码进行搜索。
下面的语法应该是个类似链表的地址结构。应该可以理解为双向搜索。
Dim tb1 = {"lv":3143286320} //这两个是特征码,链表
Dim tb2 ={"lv":3142551167,"offset":4} //4是地址排序偏移
5.直接上源码给大家学习!
- Dim 当前应用包名
- 当前应用包名 =sys.GetFront()
- TracePrint 当前应用包名
- Dim addr = "0xb0000000"
- Dim tb1 = {"lv":3143286320}
- Dim tb2={"lv":3142551167,"offset":4}
-
- Dim tb = {tb1,tb2}
- Dim t = TickCount()
- Dim Addr_Search = Sys.MemorySearch(当前应用包名,True,addr,tb, "i32",0,5)
- Dim 坐标地址X = 地址相加(Addr_Search(0),16) // 坐标x
- TracePrint 坐标地址X
- Dim 坐标地址Y = 地址相加(Addr_Search(0),24)//坐标Y
- TracePrint 坐标地址Y
- TracePrint "当前坐标X为:"&Sys.MemoryRead(当前应用包名,坐标地址X,"F32")
- TracePrint "当前坐标Y为:"&Sys.MemoryRead(当前应用包名,坐标地址Y,"F32")
- For i = 0 To UBOUND(Addr_Search)
-
- TracePrint"地图地址X为:"&Addr_Search(i)+44
-
- Next
- For i = 0 To UBOUND(Addr_Search)
-
- TracePrint"地图地址Y为:"&Addr_Search(i)+44
- Next
-
- Do //循环打印出,循环判断坐标
- Dim坐标X = int(Sys.MemoryRead(当前应用包名,坐标地址X,"F32"))
- Dim坐标Y =int(Sys.MemoryRead(当前应用包名,坐标地址Y,"F32"))
- TracePrint"坐标X:" &坐标X,"坐标Y:"&坐标Y
- ShowMessage"坐标X:" &坐标X&"坐标Y:"&坐标Y, 4000,500,500
- Delay200
- Loop
-
- Function 地址相加(地址, 偏移)
- Dim A = Right(地址,Len(地址)-2)
- Dim B =Clng("0x"&A)
- Dim C = B+偏移
- Dim D = Hex(C)
- Dim E = "0x"&D
- 地址相加 = E
- End Function
复制代码
总结:其实安卓的简单的内存读写是很容易的,没有想象中的那么复杂。这里PC和安卓本来就有很多相似的地方的。可能我基础相对好一点,学的也相对块一点。但是我这几天学到的东西远远不止上面的内容。最近我比较忙,有空大家留意我其他帖子,有时间我尽量上传上去,你们看了应该会有很大的惊喜的。手头上杀手锏思路还挺多的。
最后麻烦大家回复点赞,要不真没动力写下去分享給大家了!