摘要: angr是什么 angr是一个多架构的二进制分析平台,具备对二进制文件的动态符号执行能力(例如Mayhem,KLEE等)和多种静态分析能力。 大概看来,要做到这些必须要克服一些问题: 装载二进制文件到到分析平台 转换二进制文件为中间语言(intermediate representation)(IR 阅读全文
posted @ 2019-09-24 22:55 0xM2r00t 阅读(649) 评论(0) 推荐(0) 编辑
摘要: NX:-z execstack / -z noexecstack (关闭 / 开启) 不让执行栈上的数据,于是JMP ESP就不能用了Canary:-fno-stack-protector /-fstack-protector / -fstack-protector-all (关闭 / 开启 / 全 阅读全文
posted @ 2019-09-24 22:31 0xM2r00t 阅读(1883) 评论(0) 推荐(0) 编辑
摘要: 开始 import angr #包含angr库 import monkeyhex #是输出结果为16进制 proj = angr.Project('your_binary') #加载二进制 接口-基本属性(ARch) proj.arch ##输出CPU体系结构 proj.entry ##程序入口地址 阅读全文
posted @ 2019-09-24 22:18 0xM2r00t 阅读(831) 评论(0) 推荐(0) 编辑
摘要: PLT&GOT 程序运行前 编译完成后 GOT[0]=.dynamic段地址GOT[1]=link_map数据结构地址GOT[2]=_dl_runtime_resolve() 注:GOT[1],GOT[2]在程序装载是被动态链接器装载。 函数第一次调用 之后调用函数 阅读全文
posted @ 2019-09-24 16:56 0xM2r00t 阅读(139) 评论(0) 推荐(0) 编辑