当前位置: 首页 > news >正文

百度网站提交收录建设局与住建局

百度网站提交收录,建设局与住建局,网站服务内容 备案,电子商城网站建设价格我正在尝试使用sys_brk syscall在linux中分配一些内存.这是我尝试过的#xff1a;BYTES_TO_ALLOCATE equ 0x08section .textglobal _start_start:mov rax, 12mov rdi, BYTES_TO_ALLOCATEsyscallmov rax, 60syscall根据linux调用约定,我希望返回值在rax寄存器中(指向已分配内存…我正在尝试使用sys_brk syscall在linux中分配一些内存.这是我尝试过的BYTES_TO_ALLOCATE equ 0x08section .textglobal _start_start:mov rax, 12mov rdi, BYTES_TO_ALLOCATEsyscallmov rax, 60syscall根据linux调用约定,我希望返回值在rax寄存器中(指向已分配内存的指针).我在gdb中运行它,在进行sys_brk系统调用之后,我注意到以下寄存器内容在系统调用之前rax 0xc 12rbx 0x0 0rcx 0x0 0rdx 0x0 0rsi 0x0 0rdi 0x8 8在系统调用之后rax 0x401000 4198400rbx 0x0 0rcx 0x40008c 4194444 ; rdx 0x0 0rsi 0x0 0rdi 0x8 8在这种情况下,我不太了解rcx寄存器中的值.哪一个用作指向我用sys_brk分配的8个字节的开头的指针解决方法:请注意,sys_brk的界面与brk / sbrk POSIX函数略有不同;请参阅C library/kernel differences section of the Linux brk(2) man page.具体来说,Linux sys_brk设置程序中断; arg和返回值都是指针.见Assembly x86 brk() call use.这个答案需要upvotes,因为它是该问题上唯一的好处.你问题的另一个有趣的部分是I do not quite understand the value in the rcx register in this case您正在看到syscall/sysret指令如何设计为允许内核恢复用户空间执行但仍然很快的机制.系统调用不执行任何加载或存储,它只修改寄存器.它不使用特殊寄存器来保存返回地址,而只使用常规整数寄存器.在内核返回到用户空间代码之后,RCX RIP和R11 RFLAGS并不是巧合.这种情况的唯一方法是,如果ptrace系统调用在内核中修改了进程保存的rcx或r11值. (ptrace是gdb使用的系统调用).在这种情况下,Linux将使用iret而不是sysret返回用户空间,因为较慢的通用情况iret可以做到这一点. (有关Linux系统调用入口点的一些演练,请参阅What happens if you use the 32-bit int 0x80 Linux ABI in 64-bit code?.但是,大多数情况下,32位进程的入口点,而不是64位进程中的系统调用.)而不是将返回地址推送到内核堆栈(如int 0x80),系统调用设置RCX RIP,R11 RFLAGS(因此在执行系统调用之前,内核甚至无法查看这些寄存器的原始值).使用配置寄存器(IA32_FMASK MSR)中的预配置掩码屏蔽RFLAGS.这让内核禁用中断(IF),直到它完成swapgs并将rsp设置为指向内核堆栈.即使将cli作为入口点的第一条指令,也会有一个漏洞的窗口.你也可以通过屏蔽DF来免费获得cld,所以即使用户空间使用了std,rep movs / stos也会向上移动.有趣的事实AMD首次提出的系统调用/交换设计并未掩盖RFLAGS,而是掩盖了they changed it after feedback from kernel developers on the amd64 mailing list(在〜2000年,比第一个芯片早几年).跳转到配置的系统调用入口点(设置CSRIP IA32_LSTAR).我想,旧的CS值不会保存在任何地方.它没有做任何其他事情,内核必须使用swapgs来访问保存内核堆栈指针的信息块,因为rsp仍然有来自用户空间的值.因此,系统调用的设计需要一个系统调用ABI,其中注册符号,这就是为什么这些值是它们的原因.标签linux,assembly,x86-64,system-calls来源 https://codeday.me/bug/20190828/1749140.html
http://www.huolong8.cn/news/269080/

相关文章:

  • 花都移动网站建设中小企业网站制作流程
  • 网站建设费怎么做分录企业app怎么做
  • 软件网站建设的目的织梦网站上传的文章只显示摘要不显示内容如何修改
  • 福州开发企业网站巴中网站建设网站推广
  • 淄博有做网站的吗腾讯企业邮箱注册申请
  • 公司怎么建立网站吗哪个网站可以学做标书
  • 做网站15年app设计原则
  • asp 网站开发教程云设计工具
  • 旅游做网站wordpress有中文版吗
  • 路桥网站建设做网站分成
  • 做网站公司怎么赚钱吗深圳证券网站开发
  • 网站建设分金手指专业二八建设部安全员证书查询网站
  • 如何做网站免费wordpress logo大小
  • 做版式的网站seo免费自助建站
  • 哪些网站做家政推广在哪找做调查赚钱的网站
  • 网站内部链接是怎么做的网站建设与运营的预算方案模板
  • 企业网站主要功能广州正规的网站建设
  • 刷赞网站推广永久禅城网页设计
  • 宜昌网站设计企业网站建设主要包括哪些内容
  • 中山做网站哪家便宜外包岗
  • 网站建设高度jsp网站建设毕业设计
  • 龙岗商城网站建设最好什么查看WordPress的用户名及密码
  • 程序网站开发公司装修效果图 办公室
  • 西安网站建设培训微信代理运营
  • 众筹网站开发企业可以备案几个网站
  • 杭州网站建设技术广西建设培训网
  • 成都商报官方网站金融理财管理网站源码 dedecms
  • phpcmsv9网站地图公司手册制作网站
  • 建卡盟网站建设 网站定制开发企业信息系统规划的含义
  • 网站字体特效apache wordpress配置