首页
社区
课程
招聘
[旧帖] 请各位大神帮我看个数据结构~ 0.00雪花
发表于: 2015-3-1 08:00 3029

[旧帖] 请各位大神帮我看个数据结构~ 0.00雪花

2015-3-1 08:00
3029
1.[[[[[00BF027C]+1C]+8]+28]+18]+EDX*4  这段数据,是某游戏的当前怪物列表,是一个数组。
2.[[[[[[00BF027C]+1C]+8]+28]+18]+EDX*4]+4是怪物对象指针。

那么我很好奇,1中数组里不应该是怪物对象的指针么?为什么怪物对象的指针的地址是在2中?难道1里存放的是指向结构的指针,而怪物对象是在结构中的?我对2中那个+4才表示怪物对象的指针很不理解,求大神解答。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 0
活跃值: (122)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我是小白,但我还是厚着脸皮来说说我的看法。

[[[[[[00BF027C]+1C]+8]+28]+18]+EDX*4]+4是指向一个怪物对象吧.
那指向下一个怪物对象的指针是[[[[[[00BF027C]+1C]+8]+28]+18]+EDX*4]+8吗?
如果是的话,那有可能是这样的
指针1是指向对象指针数组, 即指向一个指针数组, 数组里面的指针指向怪物对象
指针2指向怪物对象

建议你可以看看怪物对象指针之间的关系。 就是指针2之间的关系.这样就可以看出来指针1到底是不是一个指针数组。当然,也有可能是链表。不过一般都是数组吧。
ps: 怪物对象不会只有一个吧。
方不方便说下是什么游戏, 这样别人有心才能去看看啊。光这两句话,太抽象了点吧。
2015-3-1 09:24
0
雪    币: 19
活跃值: (74)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
也有可能是间接寻址吧?
2015-3-1 17:29
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
个人觉得应该是语言严格化吧 对象数组以分开写形式进行管理 这个符合游戏升级而不用处理大批量数据的要求
咱们个人做游戏只考虑堆码  大厂商要考虑运营和维护  估计是做了优化的结果吧
2015-3-2 13:19
0
雪    币: 84
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
[QUOTE=用枪破解;1355990]我是小白,但我还是厚着脸皮来说说我的看法。

[[[[[[00BF027C]+1C]+8]+28]+18]+EDX*4]+4是指向一个怪物对象吧.
那指向下一个怪物对象的指针是[[[[[[00BF027C]+1C]+8]+28]+18]+EDX*4]+8吗?
如果是的话,那有可能是这样的
指针1是指...[/QUOTE]

[[[[[[00BF027C]+1C]+8]+28]+18]+EDX*4]+4是指向一个怪物对象的,下一个怪物对象的地址则只需要变动edx的值则可,不是[[[[[[00BF027C]+1C]+8]+28]+18]+EDX*4]+8.所以我也很奇怪,[[[[[[00BF027C]+1C]+8]+28]+18]+EDX*4]+4为什么还要偏移一个+4?
2015-3-5 12:48
0
游客
登录 | 注册 方可回帖
返回
//