96SEO 2026-02-19 23:59 36
传统方法通常使用图匹配算法但这些方法慢且不准确。

尽管基于神经网络的方法取得了进展如Gemini但它们每个基本块都是以人工选择特征的低维嵌入来表示的通常不能充分捕获二进制代码的语义信息。
其次节点的顺序在表示二进制函数时起着重要作用而以往的方法并没有设计提取节点顺序的方法。
使用的NLP模型也有缺点。
他们通过修改编译器在每个生成的汇编块中添加一个基本块特殊注释器该注释器为每个生成的块注释一个唯一ID。
这样可以将来自同一源代码片段编译的两个基本块视为等效。
获取相似块对是一个有监督的过程不同操作系统或硬件架构需要训练不同的模型
模型的输入是二进制代码函数的控制流图CFGs其中每个块是带有中间表示的token序列。
在语义感知上模型使用BERT预训练接受CFG作为输入并预训练token嵌入和块嵌入。
在结构感知上使用带GRU更新函数的MPNN来计算图的语义和结构嵌入
gss。
在顺序感知上采用CFG的邻接矩阵作为输入并使用CNN来计算图的顺序嵌入
使用BERT进行预训练包括四个任务掩码语言模型任务MLM、邻接节点预测任务ANP、块内图任务BIG和图分类任务GC。
这些任务帮助模型提取CFG的token级别、块级别和图级别的语义信息。
掩码语言模型任务MLM通过在输入层掩盖token并在输出层预测它们来提取块内的语义信息。
这是一个自监督任务模型在训练过程中某些token会被隐藏模型必须基于其他token提供的上下文来预测缺失的token。
邻接节点预测任务ANP因为块的信息不仅与块本身的内容相关还与其邻近的块相关ANP任务旨在让模型学习这种邻接信息。
它涉及提取图中所有相邻块对并在同一图中随机抽样多个块对以预测它们是否相邻。
图内块任务BIG与ANP类似BIG任务旨在帮助模型判断两个节点是否存在于同一图中。
它涉及随机抽样可能在同一图中或不在同一图中的块对并预测它们的关系。
这有助于模型理解块与整个图之间的关系。
图分类任务GC使模型能够基于不同平台、架构或优化选项来分类块特别是在不同编译条件下。
GC任务要求模型区分由于这些不同条件而产生的图和块信息的差异。
使用消息传递神经网络MPNN结合GRU门控循环单元更新函数以提取CFG的全图语义和结构嵌入(***
公式(2)表示的是消息传递阶段。
对于图中的每个节点v它计算了节点v在时间t1的消息
mvt1。
这个消息是通过聚合节点v的所有邻居节点w的信息使用消息函数M来得到的。
这里
evw是节点v和w之间边的特征。
公式(5)中论文使用了多层感知机Multi-Layer
hvt1是通过更新函数U结合节点v在时间t的嵌入和它在时间t1收到的消息来计算的。
公式(6)说明了论文中的更新函数是通过GRU实现的GRU考虑了节点的历史信息
hvT进行聚合来实现的。
公式(7)中读出函数是通过对所有节点的初始嵌入
通过卷积神经网络CNN处理邻接矩阵以提取CFG节点的顺序信息。
由于二进制代码函数在不同平台上编译时节点顺序通常不会大改变CNN能够处理由此引起的添加、删除或交换节点等小变化优势如下
使用CNN直接在邻接矩阵上的操作相比于传统的图特征提取算法要快得多。
CNN可以处理不同大小的输入这允许模型处理不同大小的图而无需预处理如填充或裁剪。
任务1是跨平台二进制代码检测目的是确认相同的源代码在不同平台上编译成的CFG是否具有较高的相似性得分。
由于模型具有三个组成部分语义感知、结构感知和顺序感知因此进行了不同的实验来找出每个部分的效果。
第二个分块是语义感知模块的对比实验分别使用了word2vec[5]skip
thought[6]以及BERT其中BERT2是指原始BERT论文中的两个task即MLM和ANPBERT4是指在此基础上加入两个graph-level
第三个分块是对顺序感知模块的对比实验基础CNN模型使用3层CNN以及7、11层的ResnetCNN_random是对训练集中控制流图的节点顺序随机打乱再进行训练MPNN_ws是去除控制流图节点中的语义信息所有block向量设为相同的值再用MPNN训练。
基于NLP的块预训练特征比手动特征好得多并且顺序感知模块在两个任务上也有很好的结果。
在跨平台二进制代码检测任务中语义信息比顺序信息更有用。
不同的CFG可能具有相似的节点顺序因此仅使用节点顺序信息是不够的。
表中的第二块显示BERT模型的性能优于word2vec和skip
thought模型。
这是因为BERT在预训练过程中不仅考虑了块级别的预测还包括了token级别的预测并且双向Transformer结构能够提取更多有用的信息。
当BERT模型加入了BIG和GC两个图级任务后性能有了1%到2%的提升表明引入图级任务对预训练是有益的。
图6展示了4个控制流图CFG的块嵌入可视化使用K-means算法将预训练后的块嵌入分成四个类别每个类别用不同颜色表示。
从图中可以观察到同一控制流图中的块倾向于拥有相同的颜色而不同控制流图的主要颜色也不同。
表中的第三块显示基于CNN的模型在两个任务上都取得了良好的效果其中11层的Resnet略优于3层的CNN和7层的Resnet。
与不含语义信息的MPNNMPNN_ws相比基于CNN的模型表现出更好的性能。
节点顺序被随机打乱后CNN的效果显著下降这证明CNN模型确实能够学习到图的节点顺序信息。
图7展示了两个由相同源代码编译而成的CFG变化的例子尽管左图的节点3在右图中被分成了节点3和4但其他节点的顺序和边的连接方式保持不变。
通过CNN模型的计算这两个CFG的余弦相似度为0.971并且在整个平台中的代码检测排名中位列第一。
这意味着CNN模型能够从邻接矩阵中有效提取控制流图的节点顺序信息与假设相符。
这篇论文提出了一个新颖的二进制代码图学习框架包含了语义感知组件、结构感知组件和顺序感知组件。
作者观察到语义信息和节点顺序信息对于表示控制流图CFGs都非常重要。
为了捕捉语义特征作者提出了针对CFGs块的BERT预训练包括两个原始任务MLM和ANP以及两个额外的图级任务BIG和GC。
然后作者使用MPNN来提取结构信息。
作者进一步提出了一个基于CNN的模型来捕捉节点顺序信息。
作者在两个任务上使用了四个数据集进行了实验实验结果表明本文提出的模型超越了当时最先进的方法。
prediction是BERT模型中两个重要的训练任务它们共同帮助BERT学习理解语言的深层次结构和关系。
以下是对这两个任务的具体介绍
目的MLM旨在使模型能够更好地理解语言本身的规律和结构。
它通过在文本中随机掩盖一些单词即使用特殊的“[MASK]”标记替换然后要求模型预测这些掩盖单词的原始值来实现。
训练过程在训练时BERT模型会尝试根据上下文中的其他单词来猜测被掩盖的单词是什么。
例如在句子“The
[MASK]”中模型需要预测被掩盖的词是“mat”。
作用这种训练方式使得BERT能够有效地学习单词的上下文关系和语义信息从而更好地理解语言。
目的NSP的目标是使模型能够理解句子之间的关系。
这对于很多NLP任务如问答系统、自然语言推理等至关重要。
训练过程在训练时模型被给予一对句子并需要判断第二个句子是否在原文中紧跟在第一个句子之后。
训练集由两种类型的句子对组成一种是真实的相邻句子对另一种是随机组合的非相邻句子对。
作用通过这种方式BERT学习理解句子之间的逻辑和关系增强对文本的整体理解能力。
Network是一类图神经网络它通过在图的节点之间交换信息来学习节点的表示。
它们基于以下步骤工作
消息传递每个节点接收其邻居节点的信息并根据这些信息生成“消息”。
聚合将所有接收到的消息聚合成单个表示这可以通过不同的函数实现如求和、求平均或更复杂的操作。
更新使用聚合的信息来更新节点的状态。
MPNN的核心思想是通过迭代这些步骤来精炼每个节点的表示从而捕捉图的结构特征和节点之间的关系。
unit是循环神经网络RNN的一种变体用于处理序列数据。
与传统的RNN相比GRU通过引入门控机制来解决梯度消失和梯度爆炸的问题使得网络能够捕捉长距离依赖关系。
GRU包含两个门
更新门决定状态信息应该如何更新。
重置门决定过去的状态信息在计算新状态时应保留多少。
在每个时间步GRU可以选择保留旧状态的信息并融入新输入的信息这使得它在处理具有复杂依赖结构的数据时非常有效。
定义多层感知机是一种基础的人工神经网络由一个输入层、若干隐藏层和一个输出层组成。
每一层由多个神经元组成相邻层之间的神经元通过权重连接。
功能MLP主要用于分类和回归问题能够识别和建模输入数据中的非线性关系。
工作原理在MLP中数据从输入层进入每个神经元对输入进行加权求和再加上一个偏置项最后通过激活函数进行非线性转换。
这个过程在每个隐藏层中重复进行直到输出层。
在输出层数据被转换为最终的输出格式如分类标签或回归值。
定义卷积神经网络是一种深度学习网络特别适用于处理具有网格结构的数据如图像2D网格和声音1D网格。
功能CNN广泛应用于图像和视频识别、图像分类、医学图像分析、自然语言处理等领域。
工作原理CNN通过一系列卷积层、池化层和全连接层处理数据。
卷积层使用卷积核提取空间特征池化层如最大池化则减小特征维度并提供一定程度的位置不变性。
最后全连接层将提取的特征用于分类或回归任务。
定义最大池化是一种池化操作常在卷积神经网络中使用用于减小特征图的空间尺寸。
功能最大池化通过降低参数数量和计算量来减少过拟合同时保持重要特征。
工作原理最大池化通过在输入特征图的不同区域上应用一个固定大小的窗口并从每个窗口中选择最大值来实现。
这样做可以提取最显著的特征并且对小的位置变化保持不变性。
定义ResNet是一种深度卷积神经网络通过引入残差学习框架来易于优化并能够构建更深的网络。
功能ResNet在图像识别、分类和其他计算机视觉任务中表现优异。
工作原理在ResNet中残差块的引入允许输入跳过一些层。
每个残差块学习输入和输出的残差差异而不是直接学习输出。
这帮助网络学习恒等映射解决了深层网络中的梯度消失问题。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback