- 博客(5)
- 收藏
- 关注
原创 LLVM11实战教程 - 用最简单的方式运行自定义pass
本文定义了一个最简单的pass插件,pass内容仅为打印一句函数名。同时使用最简单的编译方式:直接用llvm的命令进行编译pass。最后用命令行的方式加载自定义的pass插件。本文目标:用最简单的方式运行自定义的pass插件,方便学习,测试语法!环境:ubuntu20.04 + llvm11其实使用的就是这篇文章里搭建的环境 -AFLGO教程 - 环境搭建 - 基于docker的aflgo源码编译。
2024-11-07 16:47:21
520
原创 AFLGo教程 - 环境搭建 - 基于docker的aflgo源码编译
本文环境搭建的场景是在docker里clone aflgo的源码,然后进行编译主要内容有:基于Github官方文档,梳理整个操作流程,并展示编译中踩过的坑,帮助读者提前规避!最新内容请看官方文档备注:本文根据笔者当前最新官方文档进行梳理,日后有过期风险,请读者谨慎使用当前官方源码中使用的版本环境:ubuntu版本 - 20.02llvm版本 - 11编译aflgo注意事项1、需要手动设置合适的cpu资源2、需要手动设置合适的内存资源3、需要手动设置合适的并发数。
2024-11-05 18:57:45
915
1
原创 什么是shellcode
exploit的核心是淹没返回地址,劫持进程的控制权,然后跳转执行shellcode(把shellcode地址传递给EIP寄存器)shellcode一般是攻击型代码,比如获取shell,获取权限,泄露数据或者直接搞破坏(删除文件、加密文件等)用导弹举例,shellcode相当于弹头部分,可能是核弹头或者其他。exploit相当于导航系统,负责精准的将弹头送往目标地。被植入进程的代码,通过缓冲区栈溢出植入。在植入代码前需要做大量的调试工作。还有一个别名:payload。输入点在内存中的位置。
2024-07-04 10:17:35
206
原创 C语言 - 指针 - 指针数组
对字符串长度进行排序的时候,只需要修改指针数组的指针,不需要动字符串。使用指针数组存放长度不一样的字符串的指针。管理同类指针,管理不同长度的字符串。
2024-07-02 17:26:54
217
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人