首页
社区
课程
招聘
[求助]一个小问题,希望不吝回答
2008-9-20 14:41 5865

[求助]一个小问题,希望不吝回答

2008-9-20 14:41
5865
p131页:由于0x0a1a0002中包含一个字节的null,所以不能直接引用DWORD,必须用点心思构造出来
mov eax,0x0a1aff02
xor  ah,ah
push eax

push esp
push esp
lodsd
call eax

这前两句到底有什么用,和直接把0x0a1a0002有什么不同,谢谢大家

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 2056
活跃值: (13)
能力值: ( LV13,RANK:250 )
在线值:
发帖
回帖
粉丝
vxasm 6 2008-9-22 09:58
2
0
因为 0x0a1a0002 会导致生成的Shellcode中含有一个字节的0,在Exploit时会被strcpy截断,所以不能直接用 0x0a1a0002。
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rikoori 2008-9-28 00:12
3
0
谢谢回答,我的意思是mov eax,0x0a1aff02 ;  xor ah,ah 这两句究竟和直接用0x0a1a0002有什么不同,作用是什么?
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rikoori 2008-9-28 00:18
4
0
xor ah,ah结果不也是0吗,有什么不同
雪    币: 2071
活跃值: (77)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
sessiondiy 4 2008-9-28 00:20
5
0
00401248      B8 02FF1A0A   mov     eax, 0A1AFF02
0040124D      32E4          xor     ah, ah

0040124F      B8 02001A0A   mov     eax, 0A1A0002

你认为有什么不同 ?
(看机机码)

就是要避开 02001A0A
             ^^
           这个 00
雪    币: 147
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
cuidaniu 2011-1-12 18:29
6
0
为什么不是0a1a0200呢,而0a1a0002在内存中是02001a0a,在sockaddr_in中头两个变量都是short类型的,这样sin_family就是0200=512,而不是02了
游客
登录 | 注册 方可回帖
返回