Chinaunix首页 | 论坛 | 博客
  • 博客访问: 216793
  • 博文数量: 40
  • 博客积分: 316
  • 博客等级: 二等列兵
  • 技术积分: 840
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-13 12:39
文章分类

全部博文(40)

文章存档

2014年(2)

2013年(28)

2012年(10)

分类: LINUX

2013-09-22 20:00:46

echo "0" >/proc/sys/kernel/randomize_va_space  //关闭linux对栈的随机化处理。也可在启动内核参数 加 norandmaps
--------------------------------------
0   Disable ASLR. This setting is applied if the kernel is booted with the norandmaps boot parameter.
1   堆栈,vdso, 共享内存随机化,数据段的基地址紧跟代码段。
2   堆栈,vdso , 共享内存,数据段随机化。
-------------------------------------
sys_call    通过软终端 0x80 来实现,eax 中断号,ebx,ecx,edx,esi,edi, 参数1-5
中断表在/use/include/asm/unistd.h 中定义 , 也可能在 unistd_32.h ,unistd_64.h 中定义,具体看系统用的哪个。
-------------------------------------
movsb/w/l    esi为source,edi为destination。
eg:   movl  $source, %esi
        movl  $dest,%edi
        movsl
cf 标志位   std置位,cld清0.
-----------------------------------------
leal  helloworld,%esi   //把helloworld的地址装入esi中。
lodw   把esi中的地址所指向的值读入ax中。
-------------------------------
leal  desti,%esi
stosw   把ax中的值读入esi所指的内存中。
--------------------------------
leal  source,%esi
leal  dest,%edi
cmpsw     //比较esi和edi中地址所指向的值。
阅读(3271) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~