- 大学三年级
- 2453267
- 681
- 15
- 1235 朵
- 2419 个
- 633 个
- 17540
- 2014-04-06
|
1#
t
T
发表于 2023-03-18 22:10
|
|只看楼主
按键助手内存逆向新知识: 按键精灵安卓版本支持memory基地址了(不用特征码)。下面这个内存基地址格式是不是和端游的很像呢?现在安卓也支持了。人物对象 : [[[[libil2cpp.so:bss+17088]+390]+10]+24]+0基地址获取好处:更加稳定,不需要定位,速度更快,只需要读取so的值就可以获取最终数据。 先看效果: 代码截图: //序号1>>so>libil2cpp.so:bss<>1<偏移>0x1708C<+偏移>0x0<+偏移>0x1CC<+偏移>0x24<+偏移>0x20<<< //序号2>>so>libil2cpp.so:bss<>1<偏移>0xA3164<+偏移>0x5C<+偏移>0x0<+偏移>0x24<+偏移>0x20<<< 按键助手memory读取代码如下: - 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(xxxxxxxxx,"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
复制代码 学习资源:
https://www.bilibili.com/video/BV1YV4y197gp/?vd_source=3a8fc40716c6477e74b6616377ed1952 类人猿学院 技术交流Q群:628327612 技术咨询QQ:3308805959
|