按键精灵手游内存遍历怪物+so基地址读写
Import "x64sys.mql"
x64sys.MemoryInitial("猿声明:本插件只是用于技术研究和分析数据,后果自负!不同意别用。本插件只给学院会员技术研究使用,不承诺任何东西,白嫖一边玩去@#¥%")
//序号1>>so>libil2cpp.so:bss<>1<偏移>0x1708C<+偏移>0x0<+偏移>0x1CC<+偏移>0x24<+偏移>0x20<<<
//序号2>>so>libil2cpp.so:bss<>1<偏移>0xA3164<+偏移>0x5C<+偏移>0x0<+偏移>0x24<+偏移>0x20<<<
//BBS = 20DD000
//AD6E4000 -AD4d7000
dim pkg="com.bxzcdzy.lingaz07072sy"
//pkg=sys.GetFront()
dim handle =x64sys.getBaseAddr(xxxxx,"libil2cpp.so")
TracePrint handle,pid
dim base =x64sys.YAdditon(handle,"0x20D000")
base = x64sys.YAdditon(base, "0xA3164")
//序号36>>so>libil2cpp.so:bss<>1<偏移>0xA3164<+偏移>0x5C<+偏移>0x0<+偏移>0x24<+偏移>0x20<<<
// 人物对象 : [[[[libil2cpp.so:bss+17088]+390]+10]+24]+0
For 100
dim 临时地址 =Sys.MemoryRead (pkg,base,"U32")
TracePrint 临时地址,base
临时地址=Sys.MemoryRead (pkg, x64sys.YtoHex(临时地址+&h5c),"u32")
临时地址=Sys.MemoryRead (pkg, x64sys.YtoHex(临时地址+&h0),"u32")
dim 对象地址 = Sys.MemoryRead(pkg, x64sys.YtoHex(临时地址 + &h24), "u32")
dim 当前血值 = Sys.MemoryRead(pkg, x64sys.YtoHex(对象地址 + &h20), "u32")
dim 当最大血值 = Sys.MemoryRead(pkg, x64sys.YtoHex(对象地址 + &h24), "u32")
dim 当前蓝 = Sys.MemoryRead(pkg, x64sys.YtoHex(对象地址 + &h28), "u32")
dim 当最大血蓝 = Sys.MemoryRead(pkg, x64sys.YtoHex(对象地址 + &h2c), "u32")
dim 等级 = Sys.MemoryRead(pkg, x64sys.YtoHex(对象地址 + &h18), "u32")
dim 坐标X=sys.MemoryRead(pkg, x64sys.YtoHex(对象地址 + &h40), "u32")
dim 坐标Y=sys.MemoryRead(pkg, x64sys.YtoHex(对象地址 + &h44), "u32")
dim 名字指针 = Sys.MemoryRead(pkg, x64sys.YtoHex(对象地址 + &h10), "u32")
dim 名字=x64sys.MemoryReadUtf16A(pkg,x64sys.YtoHex(名字指针+24),8)
dim 当前经验=sys.MemoryRead(pkg, x64sys.YtoHex(对象地址 + &h70), "u32")
dim 等级经验=sys.MemoryRead(pkg, x64sys.YtoHex(对象地址 + &h78), "u32")
dim 输出内容= " <角色名字>:" & 名字 & "\n\n" &"当前血值:" & 当前血值 & " 当最大血值" & 当最大血值 & "\n" & "当前蓝:" &当前蓝 & _
" 当最大血蓝:" & 当最大血蓝 & "\n" & " 等级:" & 等级 & " 坐标:" & 坐标X &"," &坐标Y & "\n" & " 当前经验:" & 当前经验 & " 等级经验:" &等级经验
ShowMessage 输出内容, 2000,750,600
TracePrint 输出内容
Delay 500
Next
类人猿学院:技术5群:628327612