二进制
神林丶
菜到自暴自弃
展开
-
so 动态库文件和静态库文件区别
so 动态库文件和静态库文件区别在Linux操作系统中,普遍使用ELF格式作为可执行程序或者程序生成过程中的中间格式。ELF(Executable and Linking Format,可执行连接格式)。ELF文件分类ELF文件格式包括三种主要的类型:可执行文件、可重定向文件、共享库:1、可执行文件(应用程序)可执行文件包含了代码和数据,是可以直接运行的程序。2、可重定向文件(.o)可重定...原创 2019-10-24 15:49:52 · 1902 阅读 · 0 评论 -
ubuntu下的pwntools安装及错误处理
安装流程:由于我这里是用的python3.x 并且是32位unbutu,来对pwntools安装的所以出现问题可能比较多,后面我会给出解决方法。环境准备:python3pip3libssl-devlibffi-devpwntools安装:sudo apt-get install libffi-devsudo apt-get install libssl-devsudo ap...原创 2019-08-19 15:58:44 · 3673 阅读 · 0 评论 -
bugku pwn2学习心得以及wp
拿到题目:file查看一下文件类型,可以看到 x86-64,以及 dynamically linked,所以 64位,动态连接的。查看一下有没有开什么保护机制:嘛都没开,直接放到64位IDA里面看一看。看到敏感名称函数“getshell”感觉能直接拿flag,方法就是找到一个地方跳转到getshell函数地址,查看一下地址为:0x400715转手看main函数:其中有一个re...原创 2019-08-25 14:38:58 · 624 阅读 · 2 评论 -
pwntools报错“NameError: name 'process' is not defined”
报错及解决Traceback (most recent call last): File "pwn.2.py", line 4, in <module> conn = process("./hexcalc")NameError: name 'process' is not defined错误类型,变量没有声明。解决方法:将文件更名,不要用“pwn”的名字,不然会出...原创 2019-08-21 16:18:39 · 7016 阅读 · 3 评论 -
函数调用时栈空间的变化
在函数调用的时候会内存分配给函数一段栈内存用于存放数据。函数初次调用分配1 ESP指针指向栈顶 EBP指向栈底,栈底属于高位地址,每次存入数据由栈顶来进行储存。2 调用函数,EIP设定前一个函数结束,ESP所指地址存入EBP位置,此时ESP=EBP3 ESP自动分配空间 ESP-0xch位置,同时进行下一次的存储。此时函数调用成功。函数调用退栈1 ESP=EBP 此时调用下一个函数,先...原创 2019-08-22 15:05:20 · 859 阅读 · 0 评论 -
bugku pwn4 学习
2019-08-25 bugku pwn4 学习1.拿到题目先file 一下文件看看文件属性查看得知是64位动态链接库的文件。2.checksec 查看是否开启什么保护然而并没有什么保护PIE 保护指定是对代码段进行保护3.IDA查看内容看到了敏感函数system,看着想办法跳转4.查看main函数,有栈溢出的敏感函数 read想办法利用read 函数5.查看read函数栈中内容完全能够...原创 2019-08-27 18:41:52 · 1208 阅读 · 1 评论 -
c语言中变量占用字节数
c语言中变量占用字节数最近在看深入理解计算机系统这本书,上面提到了在32位机器和64机器中int类型都占用4个字节。后来,查了The C Programming language这本书,里面有一句话是这样的:Each compiler is free to choose appropriate sizes for its own hardware, subject only to the res...原创 2019-09-04 20:26:40 · 5220 阅读 · 0 评论