七散辅助论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

快捷导航
搜索
查看: 10512|回复: 0

学习汇编的路:成功遍历出HYXD骨骼数据

[复制链接]
  • TA的每日心情
    难过
    5 天前
  • 签到天数: 7 天

    连续签到: 2 天

    [LV.3]偶尔看看II

    5

    主题

    17

    帖子

    42

    积分

    实习版主

    Rank: 7Rank: 7Rank: 7

    积分
    42

    最佳新人

    发表于 2019-10-3 20:13:51 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    首先,我明确一点,这只是我个人学习之用,不发出去,避免网易找我麻烦。



    下面来谈谈学习和深入挖掘之路:


    1:这个游戏,是dx11开发的,如果用hook勾住函数,很容易找到矩阵
    但我没这样做,因为我要学的是汇编。


    2:这游戏大概有40套FOV数据,随便一套都有很大的价值。


    3:之前我在论坛闲聊FOV一些杂谈,被各种嘲讽,无所谓,我也不是为证明什么。


    4:关于矩阵转换,这是个一个很常见的矩阵算法,通用DX9游戏的算法。没什么高明的。


    5:开始入手,首先根据未知初始值,一步步找到相机,FOV。
    如果觉得麻烦,可以用改窗口大小搜索。


    6:通过第5步,我们可以间接找到坐标。


    7:相机和FOV数据,自己根据CE找到基址,偏移。
    因为我这个用到的地方多,所以我这个是8级偏移。




    8:关于方框,射线啊啥的,那些太低级,我就不做,也不谈了。


    9:现在开始谈谈根据坐标,用一个算法,得知这个坐标是什么模型。


    经过反复的摸索,我发现这个东西模型的运动,不是全局的,而是根据视野的。
    不断的变化视角,搜索变动的值,我们找到了一个地址,大概有250-720组坐标。
    这就是问题的关键所在,我分析发现,这些坐标是所有模型的坐标。
    甚至包括树,石头,房子,都有坐标。
    PS:恕我直言,我以前一直以为dx11的游戏建模,是固定在场景内的。
    但今天我觉得错了,他们这种用坐标固定模型,可以为以后开发游戏,奠定良好基础。


    继续研究这几百组坐标 《《
    我又发现,每个坐标,居然附近有3组坐标,分别是+4到+52
    一个模型,为什么有3个坐标,这点我很奇怪!!!对此,我问了下大学同学。
    后来同学告诉我,每个模型,有朝向,有姿势,复杂如角色,就会有更多,这是骨骼。


    恍然大悟,原来这个问题这么简单。


    于是:继续研究。
    已知3个坐标,FOV中的顶点,起点,横点。是不是可以计算出模型的大小呢?
    于是,我去恶补了下3D模型课程。
    经过一个老掉牙的算法,我发现这个问题早在30年前就有解答。
    我不禁开始沉思,挖掘机技术到底哪家强。。。。。!


    套用算法,我很快的计算出每个模型的大小。
    于是就出现了图中的情况:


    但问题也有:
    1:每个消音器的大小都一样,无从得知这是什么消音器,弹夹也是一样。
    2:8级指针之后,我们还需要遍历200多次,才能跑出全部数据,简而言之,CPU压力大。


    今天到此结束,最近很闲,继续学习。
    每次学习有重大突破,都将在论坛分享,欢迎大家积极暖贴。


    今后几天将研究的课程是1:底层内存读写,提高效率。

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

    如何回报帮助你解决问题的吧友,一个好办法就是给对方加【好评】【七币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则