From 04e2b69d9d79cb2b6ba6e8bc35f69a574fccf616 Mon Sep 17 00:00:00 2001 From: ss Date: Tue, 9 Apr 2024 15:15:21 +0800 Subject: [PATCH] Site updated: 2024-04-09 15:15:18 --- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../index.html" | 4 ++-- .../02/27/Symbion\345\210\235\346\216\242/index.html" | 10 +++++----- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git "a/2023/05/19/Linux\344\273\216\345\205\245\351\227\250\345\210\260\347\206\237\347\273\203/index.html" "b/2023/05/19/Linux\344\273\216\345\205\245\351\227\250\345\210\260\347\206\237\347\273\203/index.html" index 529c4f6..3cd5af5 100644 --- "a/2023/05/19/Linux\344\273\216\345\205\245\351\227\250\345\210\260\347\206\237\347\273\203/index.html" +++ "b/2023/05/19/Linux\344\273\216\345\205\245\351\227\250\345\210\260\347\206\237\347\273\203/index.html" @@ -13,7 +13,7 @@ - + @@ -26,8 +26,8 @@ - + diff --git "a/2023/06/08/Docker\345\277\205\347\237\245\345\277\205\344\274\232/index.html" "b/2023/06/08/Docker\345\277\205\347\237\245\345\277\205\344\274\232/index.html" index b144c83..dee384f 100644 --- "a/2023/06/08/Docker\345\277\205\347\237\245\345\277\205\344\274\232/index.html" +++ "b/2023/06/08/Docker\345\277\205\347\237\245\345\277\205\344\274\232/index.html" @@ -13,7 +13,7 @@ - + @@ -39,8 +39,8 @@ - + diff --git "a/2023/09/17/LibFuzzer\344\275\277\347\224\250\350\257\264\346\230\216/index.html" "b/2023/09/17/LibFuzzer\344\275\277\347\224\250\350\257\264\346\230\216/index.html" index 56afe5f..e272be5 100644 --- "a/2023/09/17/LibFuzzer\344\275\277\347\224\250\350\257\264\346\230\216/index.html" +++ "b/2023/09/17/LibFuzzer\344\275\277\347\224\250\350\257\264\346\230\216/index.html" @@ -13,7 +13,7 @@ - + @@ -24,8 +24,8 @@ - + diff --git "a/2023/10/15/AFL\345\216\237\347\220\206\344\270\216\345\256\236\350\267\265/index.html" "b/2023/10/15/AFL\345\216\237\347\220\206\344\270\216\345\256\236\350\267\265/index.html" index 109a0fa..4d7cfd8 100644 --- "a/2023/10/15/AFL\345\216\237\347\220\206\344\270\216\345\256\236\350\267\265/index.html" +++ "b/2023/10/15/AFL\345\216\237\347\220\206\344\270\216\345\256\236\350\267\265/index.html" @@ -13,7 +13,7 @@ - + @@ -25,9 +25,9 @@ + - diff --git "a/2024/01/23/Angr\351\233\266\345\237\272\347\241\200\345\205\245\351\227\250/index.html" "b/2024/01/23/Angr\351\233\266\345\237\272\347\241\200\345\205\245\351\227\250/index.html" index 4975f03..eca9a3c 100644 --- "a/2024/01/23/Angr\351\233\266\345\237\272\347\241\200\345\205\245\351\227\250/index.html" +++ "b/2024/01/23/Angr\351\233\266\345\237\272\347\241\200\345\205\245\351\227\250/index.html" @@ -13,7 +13,7 @@ - + @@ -28,9 +28,9 @@ - + diff --git "a/2024/02/27/Symbion\345\210\235\346\216\242/index.html" "b/2024/02/27/Symbion\345\210\235\346\216\242/index.html" index de8d9e7..d4ef3b5 100644 --- "a/2024/02/27/Symbion\345\210\235\346\216\242/index.html" +++ "b/2024/02/27/Symbion\345\210\235\346\216\242/index.html" @@ -13,7 +13,7 @@ - + @@ -29,10 +29,10 @@ - + - + @@ -280,7 +280,7 @@

-

一、原理

原始论文:SYMBION: Interleaving Symbolic with Concrete Execution

+

一、原理介绍

原始论文:SYMBION: Interleaving Symbolic with Concrete Execution

官方博客:symbion: fusing concrete and symbolic execution

1. 背景

符号执行可以用来获取走到指定程序区块的可行输入,但是符号执行在实际应用中面临很多挑战:

    @@ -343,7 +343,7 @@

    SimEngineConcrete 用 Angr 算出来的结果修改具体进程中的变量,恢复具体执行直到下一个PoI

-

二、示例

Symbion 官方示例:test_concrete_not_packed_elf64

+

二、示例分析

Symbion 官方示例:test_concrete_not_packed_elf64

示例使用的二进制:not_packed_elf64

二进制没有给源码,通过 IDA 逆向源码,并用 AI 改写,得到 C 源码如下,源码中取 dest 变量中的一串数值做判断,不同的分支触发不同的print