C++
文章平均质量分 74
「已注销」
这个作者很懒,什么都没留下…
展开
-
[翻译&演绎]LLVM教程::我的第一个基于LLVM的语言前端::第二章::语法分析器与抽象语法树
导言这段时间LLVM这个词突然经常出现在脑海里,例如一想到做Fuzz要各种插桩,然后AFL的插桩就是用到的LLVM,代码混淆框架 OLLVM 也是基于LLVM实现的。再加上以前也经常尝试写编译器,结果经常烂尾,撸到AST完成,后面就基本撸不动了,代码也比较乱,唯一一个能跑的是个Lisp解释器。想想LLVM天生是个强大的编译器设计框架,就来劲想彻底搞个小编译器出来,简单的能弄个程序出来,就开始学习官网的例子,自己同时用Flex, Bison设计前端,肝了三四天,最后勉勉强强弄了个出来。看看官网的教程没什么中原创 2021-07-04 14:54:26 · 895 阅读 · 0 评论 -
[翻译&演绎]LLVM教程::我的第一个基于LLVM的语言前端::第一章::词法分析器
导言这段时间LLVM这个词突然经常出现在脑海里,例如一想到做Fuzz要各种插桩,然后AFL的插桩就是用到的LLVM,代码混淆框架 OLLVM 也是基于LLVM实现的。再加上以前也经常尝试写编译器,结果经常烂尾,撸到AST完成,后面就基本撸不动了,代码也比较乱,唯一一个能跑的是个Lisp解释器。想想LLVM天生是个强大的编译器设计框架,就来劲想彻底搞个小编译器出来,简单的能弄个程序出来,就开始学习官网的例子,自己同时用Flex, Bison设计前端,肝了三四天,最后勉勉强强弄了个出来。看看官网的教程没什么中原创 2021-07-04 01:19:39 · 796 阅读 · 3 评论 -
DLL注入器编写
前段时间一直学习逆向工程核心原理,由于缺少WINAPI只是,后面的内容学起来有些抽象,于是反回去大致扫了一下《Windows核心编程》花了些时间写了个DLL注入器。 基本原理 进程对象在windows中,地址空间基本都是相对独立的,一个进程无法操作其他进程的空间,但是通过创建远程进程的线程,在原来进程的主线程之上添加一个线程,该线程属...原创 2018-09-29 09:38:38 · 4029 阅读 · 1 评论 -
gets()函数缓冲区溢出实验
用于测试的漏洞程序如下:#include<stdio.h>#include<windows.h>void pf(){ char buf[50]; gets(buf); printf("%s\n",buf); }int main(){ int a; printf("this is just a test\n"); pf(); ...原创 2018-10-24 16:13:29 · 4152 阅读 · 0 评论 -
Windows消息钩子[键盘监控]
之前看书,看到一眼消息钩子,一直没实践,现在有空弄了下,主要原理是利用windows自带SetWindowsHookEx API函数HHOOK SetWindowsHookEx(int idHook, //hook形式HOOKPROC lpfn //hook过程HINSTANCE hmod //钩子所属的...原创 2018-12-08 11:18:09 · 1935 阅读 · 0 评论 -
glibc2.29堆溢出tcache的利用方式及原理
ibc2.29 堆溢出tcache的利用方式及原理Dancing With Heap 与堆共舞二进制学习之旅参考资料:ctf-pwn https://ctf-wiki.github.io/ctf-wiki/pwn/linux/glibc-heap/tcache_attack/#tcache-poisoningglibc wiki https://sourceware.org/glib...原创 2019-03-06 16:07:32 · 8225 阅读 · 0 评论