首页
社区
课程
招聘
[求助]反汇编出来的双字数据,如何判断是否是指针?
发表于: 2014-7-19 16:40 5508

[求助]反汇编出来的双字数据,如何判断是否是指针?

2014-7-19 16:40
5508
有什么特殊的地方代表一个4字节数据是指针吗?

[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费
支持
分享
最新回复 (14)
雪    币: 68
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
如果一个四字节数据用来寻址了就可以判定是指针。
mov esi, dword ptr[401000]
mov ebx,[esi+0xc]
例如变量[401000]就是一个指针,因为他被用来寻址数据了
2014-7-19 16:50
0
雪    币: 16
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
[QUOTE=LowProfile;1302142]如果一个四字节数据用来寻址了就可以判定是指针。
mov esi, dword ptr[401000]
mov ebx,[esi+0xc]
例如变量[401000]就是一个指针,因为他被用来寻址数据了[/QUOTE]

非常感谢,你举的这个例子吧,我再问问,常量和变量有什么明显区别么?
2014-7-19 16:58
0
雪    币: 7068
活跃值: (3552)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
4
不明白你说的什么意思,指的数据窗口以地址方式显示?右键数据转储窗口:长型->地址就行了。
如果仅仅判断是指针,没人手动修改的话。指针所在的地址一定是4字节对齐的。
2014-7-19 16:58
0
雪    币: 16
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
实际情况是:
我找到一个CALL,判断是压入了两个参数,而被告知其中一个是指针,我得找出哪个是指针
“指针所在的地址一定是4字节对齐的”这句话怎么理解啊?
我很菜-_-。。
2014-7-19 17:48
0
雪    币: 61
活跃值: (1046)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
那你就到这两个地址去看看,有一个应该不存在该地址,或者地址里的内容混乱。
2014-7-19 18:17
0
雪    币: 7068
活跃值: (3552)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
7
你是怎么知道有一个是指针的,指向什么的指针?
2014-7-19 18:20
0
雪    币: 16
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我是看的一个视频,讲视频的人,跟随了下其中一个esi,地址是13B7D600,数据是21408B08,然后他就说这个是指针,看得我云里雾里,我是跟进CALL看了下,esi出现的时候是[esi+20]
2014-7-19 18:30
0
雪    币: 16
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
另外一个参数,edi,地址21408B08,数据009517F0,我就疑惑,为什么下面这个就不是指针呢
2014-7-19 18:39
0
雪    币: 7068
活跃值: (3552)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
10
你光这样说我也没法给你讲,你还是多调试点程序吧。一开始先别搞外挂,从基本的开始吧。。
2014-7-19 18:59
0
雪    币: 68
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
常量和变量的区别。。
把基础编程和逆向弄好再学外挂吧,一路这么查下去不是办法。。
2014-7-19 19:15
0
雪    币: 101
活跃值: (43)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
这就是为什么很多人诟病现在的教程  都是授人予鱼而非渔 看的人知其然不知其所以然  

这个问题其实很难回答……  教程说的太含糊了,你可以认为哪个参数被加了[]就是指针  包括先放到寄存器里 然后再给寄存器加括号的  好像我说的也不明不白……
2014-7-19 23:35
0
雪    币: 116
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
你可以去看那个啊冲写的外挂视频笔记
2014-7-20 10:17
0
雪    币: 150
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
14
为什么不是参考6楼的回答,程序都有自己的地址空间,用od的话alt+m看看程序用了哪些地址,009517F0估计不在其中
2014-7-20 10:55
0
雪    币: 150
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
15
[QUOTE=逍遥冷月;1302203]这就是为什么很多人诟病现在的教程  都是授人予鱼而非渔 看的人知其然不知其所以然  

这个问题其实很难回答……  教程说的太含糊了,你可以认为哪个参数被加了[]就是指针  包括先放到寄存器里 然后再给寄存器加括号的  好像我说的也不明不白……[/QUOTE]

也不能怪教程吧,任何教程都不可能从0开始,汇编语言的基础知识默认都应该是了解的
2014-7-20 10:57
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册