动态二进制插桩原理与实战

本文介绍了动态二进制插桩(DBI)的概念,它是一种用于分析二进制应用程序运行时行为的技术。文章探讨了为何需要插桩,比较了源代码插桩与二进制插桩,并详细阐述了两种主要的插桩方式和三种执行模式。通过具体的Pin动态二进制插桩框架为例,展示了插桩的实际应用。
摘要由CSDN通过智能技术生成

说点什么

虽然不是主要做这个的,但是安全工程师的知识面太大咯,
学习其它科目的知识有助于锻炼思维,所以记一下学习过程在这里插入图片描述

插桩是啥

动态二进制插桩(dynamic binary instrumentation ,DBI)技术是一种通过注入插桩代码,来分析二进制应用程序在运行时的行为的方法。

动态二进制插桩技术,可以在不影响程序动态执行结果的前提下,按照用户的分析需求,在程序执行过程中插入特定分析代码,实现对程序动态执行过程的监控与分析。

为啥要插桩

源代码插桩

大家调试程序一定试过这样的方法:

。。。。。
printf("牛奶颜色:%s\n", milk_color);
。。。。

这就是源代码插桩,方便快捷,如果牛奶颜色是黑色,程序就出错了

二进制插桩

将插桩代码注入正在运行的进程,也就能调试程序了…

mov esp, ebp
我插,我看~
pop ebp

例如这样能看到ebp了,不过过程比源代码插桩更繁琐,需要拆解。

如何插桩

两种主要方式和三种执行模式

方式1:

在动态二进制系统的控制下从头到尾执行程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值