定下契约(新注册) 登录
怀念是一行潦草的诗 返回首页

不吉波普的个人空间 http://miuk.cn/?22073 [收藏] [复制] [分享] [RSS]

日志

CLEO 关于内存语句的探究

已有 465 次阅读2021-7-15 20:25 | CLEO

2021年7月15日
0A8C: write_memory 0xC0BC15 size 1 value 1 virtual_protect 0
0A8D: $result = read_memory 1@ size 4 virtual_protect 0
目前大概就搞懂了这两个,以下以子弹拖尾作为范例。
原文:
  • "Start" is start address of array in gta_sa.exe v1.0 proc.
  • "Size" is size of each element of array in gta_sa.exe v1.0 proc.
  • "Num" is elements of array in gta_sa.exe v1.0 proc.
Start:子弹拖尾的起始内存地址为:0xC7C748
Size:其包含的数组中每一个元素的大小为:0x2c //这个不是很理解,是说这个地址的大小为0x2C吗
Num:关于该内存地址的数组元素共有:0x10 也就是16个//然而下面有17个,迷惑...
那么该内存地址的最后一个则是:0xC7C748 +( (0x10 -1)* 0x2C )= 0xC7C9DC
Ryosuke所整理的档案里提到在起始地址加上以下偏移值(元素)可以实现不同的效果(这一部分我认为我的理解有不对的地方,感觉混淆了)
///////////////////////////////////////
+0x00 Float Trans Side X +0x04 Float Trans Side Y +0x08 Float Trans Side Z +0x0C Float Yellow Side X +0x10 Float Yellow Side Y +0x14 Float Yellow Side Z +0x18 Byte Exist Flag +0x19 Byte Pad +0x1A Byte Pad +0x1B Byte Pad +0x1C DWord Created Time (from 0xB7CB84) +0x20 DWord Disappear Time (e.g. 750) +0x24 Float Radius +0x28 Byte Alpha +0x29 Byte Pad +0x2A Byte Pad +0x2B Byte Pad
///////////////////////////////////////
TypeSizeRange
Char1 Bytes-0x80 - +0x7F
Byte1 Bytes+0x00 - +0xFF
Short2 Bytes-0x8000 - +0x7FFF
Word2 Bytes+0x0000 - +0xFFFF
Long4 Bytes-0x80000000 - +0x7FFFFFFF
DWord4 Bytes+0x00000000 - +0xFFFFFFFF
Float4 Bytes+/-3.4e38 - +/-1.4e-45

/////////////////////////////////////// 关于语句的使用0A8C: write_memory 0xC0BC15(这里自然就是内存地址) size 1(这个则是偏移量的数据类型,见上表) value 1 virtual_protect 0(这里一般是填0或者1)如果目标地址是只读的话,那就写1,如果是可编辑的则是0,同理,在语句0A8D中,1代表该地址不可读,0则是可读。可以的话,还是希望有大佬能解答下...



评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 定下契约(新注册)

    切换繁體
    Archiver|手机版|小黑屋|

GMT+8, 2024-4-19 15:59 , Processed in 0.030343 second(s), 12 queries .

沪ICP备2021020632号-1

返回顶部