Linux
文章平均质量分 62
VR_wangkr
未来人工智能的开发者
展开
-
简单Shellcode的详细分析
作 者: moonflow百年一遇的高级光棍节,我得写篇详细完整的文章才行。初学者,菜文,老鸟请飘过分析段简单的shellcode代码1.shellcode.c代码:#include static char shellcode[]= "\xeb\x17\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x4转载 2014-11-20 14:35:00 · 2999 阅读 · 0 评论 -
对寄存器ESP和EBP的一些理解
PS:EBP是当前函数的存取指针,即存储或者读取数时的指针基地址;ESP就是当前函数的栈顶指针。每一次发生函数的调用(主函数调用子函数)时,在被调用函数初始时,都会把当前函数(主函数)的EBP压栈,以便从子函数返回到主函数时可以获取EBP。下面是按调用约定__stdcall 调用函数test(int p1,int p2)的汇编代码假设执行函数前堆栈指针ESP为0xAAAAAAA ;原创 2014-11-20 17:02:33 · 27363 阅读 · 18 评论 -
Linux 从虚拟地址到物理地址
我们都知道,动态共享库里面的函数的共享的,这也是动态库的优势所在,就是节省内存。C 编译出来的可执行文件几乎都会用到libc的库,假如没有这个共享的技术,每个可执行文件都要占一份libc库的内存,这将是极大的内存浪费。 可是一直没搞明白,怎么样才能证明共享库里面函数的地址在物理内存层面是同一份。其实,这个问题的本质是程序里面的逻辑地址和物理内存地址之间是怎样映射的,说的再赤裸裸一点,就是我给你个逻转载 2016-10-27 16:33:33 · 918 阅读 · 0 评论