美文网首页
kof97 逆向分析_动态内存

kof97 逆向分析_动态内存

作者: LiuJP | 来源:发表于2020-03-11 12:10 被阅读0次
内存管理
image.png
  • 100098 帧存储地方
  • a4 一般指向当前正在执行的对象
  • a5 108000 之后是静态内存,之前是动态内存,基本都是a5+偏移寻址!快
  • a7 10F300
  • 108100 开始200代表P1人物;人物出招就会变动指向函数地址
  • 108300 开始200代表P2人物
  • 10b0b2 开始100大小;表示背景
  • 10b7b2 一共有8层背景
  • 108700 0x40小对象结构;人物的影子,一共3层影子,0x120
操作内存的代码段
  • 3126 释放内存地址
  • 30b2 分配动态内存 参数:a0自处理 d0 优先级 返回:a1新对象


    image.png
  • bp 30b2, 1, {print w@10a780,g} 表示无条件断下,g继续运行,打印地址10a780的word大小值


    image.png
100100 - 108000 对象池的数据结构为双向链表

每一帧都要遍历一边链表,链表太大就会拖慢


image.png
内存可用和不可用区域
image.png
  • 大小word

  • 100100
    0000 304C 表示处理该对象的函数代码地址;
    0500 表示下一个节点的100500
    FFFF表示上一个节点应为是链表头用FFFF
    0000 在链表中的位置,优先级,FFFF最大链表尾

  • 10A700
    10A780 64表示索引值
    10a700 + 64 = 10a764 这个地址之前是可用;之后是占用的

相关文章

网友评论

      本文标题:kof97 逆向分析_动态内存

      本文链接:https://www.haomeiwen.com/subject/tjvqjhtx.html