CS:APP
bysoulwarden
这个作者很懒,什么都没留下…
展开
-
CS:APP:BombLab 4
这篇文章意为记录下Bomb4中比较微妙的地方。之前经过分析,phase_4需要两个int值,第一个值<=14,第二个为0。又发现<fun4>传回的rax应为0。现在着重分析<fun4>如下:0000000000400fce <func4>: 400fce: 48 83 ec 08 sub $0x8,%rsp 400fd2: 8...原创 2018-05-04 19:33:10 · 525 阅读 · 0 评论 -
寄存器的名称及作用
在此记录下寄存器的名称及作用,方便查看。 不同体系下寄存器名称: |63..32|31..16|15-8|7-0| |AH..AL..| |AX......| |EAX...........| |RAX...................| 不同寄存器作用: rax 作为函数返回值使用 rsp 栈指针寄存器,指向栈顶 rdi...转载 2018-05-05 14:21:42 · 5414 阅读 · 1 评论 -
attacklab笔记
做完attacklab记点什么,防止以后什么都不记得了。phase1-3用getbuf读取字符串,但不检测栈溢出,正常的gets()在返回前会call一个check函数,检查栈溢出。在lab里通过栈溢出顶掉返回地址,把返回地址变成栈的地址,inject代码到getbuf的栈里或到上层的栈里。在这个过程中明显感受到代码和栈和数据都是在一个地址空间里。phase4-5中增加了两种防止栈溢出的机制:1....原创 2018-05-14 21:22:35 · 1975 阅读 · 0 评论 -
shelllab笔记
shlab的目的是完成几个函数,实现一个简单的shell。需要实现的函数如下:• eval: Main routine that parses and interprets the command line. [70 lines]• builtin_cmd: Recognizes and interprets the built-in commands: quit, fg, bg, and job...原创 2018-06-11 17:31:52 · 1054 阅读 · 0 评论