gal2xy's blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 友链
  •   
  •   

阅读笔记 —— 《Offensive Techniques in Binary Analysis》

II. AUTOMATED BINARY ANALYSIS自动二进制分析技术面临的问题: Replayability 和 Semantic insight 的权衡取舍 Replayability(可重现性) 漏洞重现存在差异。对整个应用程序的分析可以确定触发漏洞的原因,而对特定模块的分析可能会发现漏洞但无法重现它们。 Semantic insight(语义理解) 对程序行为的语义理解程度不同
2024-06-11
论文研读
#angr #论文研读

angr入门

什么AngrAngr 是一个功能强大且灵活的二进制分析框架,广泛应用于逆向工程、安全研究和漏洞检测等领域。它结合了多种技术(例如:静态分析、动态分析、符号执行等)(具体可参考The Art of War: Offensive Techniques in Binary Analysis),支持多种平台和架构,使得用户可以高效地分析和操作二进制文件。 angr 入门文档及API可参考: https:
2024-06-11
angr
#angr

OLLVM源码解读

基础知识IR(intermediate representation)是前端语言生成的中间代码表示,也是Pass操作的对象,它主要包含四个部分: Module:一个源代码文件被编译后生成的IR代码。 Function:源代码文件中的函数。 BasicBlock:BasicBlock有且仅有一个入口点和一个出口点。入口点是指BasicBlock的第一个指令,而出口点是指BasicBlock的最后一
2024-06-11
LLVM and OLLVM
#OLLVM Pass

从Clang到Pass加载与执行的流程

一、gdb动调clang文章开始之前,先通过gd动调clang来看一看整个过程是什么样的。 开始调试 1gdb clang 我这里调试的是release版本的clang(不想再编译了),显然提示了找不到clang的调试符号。我建议使用debug版的clang来调试,不然就看不到断点处的源码了,这对调试还是有影响的(有些函数下不了断点,不知道是不是这个原因)。 直接把断点下在main函数处 1g
2024-04-26
LLVM and OLLVM
#LLVM Pass

LLVM Pass编写

一、LLVMLLVM的架构图如下: 它由以下三部分组成: 前端 前端负责解析源码,验证源码的正确性,然后生成IR代码,交付给优化器。LLVM支持两种前端:clang和基于GNU编译器集合解析器的前端 优化器(亦称为中端) 优化器负责删除IR代码中的冗余代码和死代码、简化控制流图等。之后将结果传送给后端。 后端 根据目标架构生成高效的汇编代码 LLVM独立于语言和平台。如果需要支持一种新
2024-04-22
LLVM and OLLVM
#LLVM Pass

阅读笔记 —— 《ObfuscatorDynamic-LLVM》

一些基本概念动态分析技术 调试(debugging) 内存分析(memory profiling) 模糊测试(fuzzing) 动态符号执行(dynamic symbolic execution,简称DSE) 动态符号执行使用自动化方法,执行引擎使用输入的符号表示来求解和引导执行沿着两个分支进行,它会将分支条件作为约束条件,然后使用SMT solver求解所需的输入。它有3个致命缺点: 路径爆
2024-04-19
论文研读
#OLLVM #论文研读

记一次VMware平台虚拟机启动黑屏问题

一、前言不知怎么的,我电脑上VMware软件启动虚拟机变得十分慢,每次启动黑屏,等到用户登录界面出现时,已经花了4分钟左右,而且在用户登入界面输入密码回车后,又有一段时间的黑屏,最终才会显示桌面。 按照网络上的教程,大都走了个遍,花费了大量的时间,仍然无济于事。 我执行过如下指令来查看开机启动项的时间记录 1systemd-analyze blame 结果发现最高的也才8秒左右,这显然不是启动
2024-04-18
#环境配置

阅读笔记 —— 《Obfuscator-LLVM — Software Protection》

LLVMLLVM独立于语言和平台。它由以下三部分组成: 前端 前端负责解析源码,验证源码的正确性,然后生成IR代码,交付给优化器。LLVM支持两种前端:clang和基于GNU编译器集合解析器的前端 优化器(亦称为中端) 优化器负责删除IR代码中的冗余代码和死代码、内联函数、展开循环、删除死循环、简化控制流图等。之后将结果传送给后端。 后端 根据目标架构生成高效的汇编代码 OLLVMOLL
2024-04-17
论文研读
#OLLVM #论文研读

阅读笔记 —— 《Impeding Malware Analysis Using Conditional Code Obfuscation》

条件代码的哈希混淆使用哈希函数等价替换原有分支条件,隐藏原有信息,示例如下: 图中左侧是原代码,右侧是混淆后的代码。混淆的操作主要是将strcmp(cmd, "startkeylogger")等价替换为hash(cmd) == H,其中H = hash("startkeylogger"),然后增加了一个decrypt_function解密函数,参数encr
2024-04-17
论文研读
#论文研读 #哈希混淆

阅读笔记 —— 《Manufacturing Resilient Bi-Opaque Predictates against Symbolic Execution》

概述控制流混淆通过保持语义不变的转换来增加程序复杂性。不透明谓词是实现这种转换的基本工具。然而,我们观察到现实世界中的不透明谓词通常非常简单,并且考虑的安全性很少。最近,这些不安全的不透明谓词受到了基于符号执行的对手的严重攻击,危及了控制流混淆的安全性。因此,本文提出了可以抵抗基于符号执行对手的符号不透明谓词。我们设计了一个通用框架来组合这种不透明谓词,该框架需要在每个不透明谓词中引入具有挑战性的
2024-04-17
论文研读
#论文研读 #双重不透明谓词混淆
12345…14

搜索

Hexo Fluid
总访问量 次 总访客数 人