![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译器
u010940020
这个作者很懒,什么都没留下…
展开
-
编写LLVM Pass模块知识点梳理(二)
在上一篇博客中,以foo函数为例演示了如何编写Pass模块代码向一个Module植入所需的自定义函数“foo”,同时还留一些问题有待进一步探讨,本文将作为对上一篇博客的补充来介绍作者对这些情景的一些处理方法。一、怎样调用植入的函数?1.1 问题背景在上一篇博客中,我们在Pass模块的void CreateFooFunc(Module &M) {…}函数中写入了完整的foo函数代码,但...原创 2020-03-09 15:20:32 · 1138 阅读 · 3 评论 -
编写LLVM Pass模块知识点梳理
一、本文目标LLVM 平台提供了 Pass 模块编写功能,类似于一种插件,可以对高级编程语言所写源代码被前端处理后生成的统一中间 IR 语句进行处理基于此特性,可以将自己设计的代码混淆的一些机制、语句编写成Pass模块来作用于目标代码上,并且具有跨平台的效果以不透明谓词为例,目前大量文献甚至包括 OLLVM 这套工具在内都是以实现一些简单算式为目标,更多复杂数据结构如何植入并未系统介绍本...原创 2020-02-19 16:53:29 · 3039 阅读 · 9 评论