IDA Pro > IDA Pro教程 > 技术问题 > IDA Pro3.2.1.什么是Lumina服务器(3.2.1.What is the Lumina server)

IDA Pro3.2.1.什么是Lumina服务器(3.2.1.What is the Lumina server)

发布时间:2022-10-15 15: 52: 30

The Lumina server is a "functions metadata" repository.


It is a place where IDA users can push, and pull such metadata, to ease their reverse-engineering work: metadata can be
extracted from existing projects, and re-applied effortlessly to new projects, thereby reducing (sometimes dramatically)
the amount of time needed to analyze binaries.

 

Lumina server vs Hex-Rays Vault server: what is the difference?
While the workflow with the Hex-Rays Vault server and associated tools (hv, hvui and IDA’s diff/merge modes) are
extremely powerful for working on multiple revisions of the same binaries, the Lumina server in turn eases the replication
of past efforts to new projects.


In effect, the Lumina server offers another "dimension" to collaborative reverse-engineering efforts。

 

Functions metadata
The Lumina server associates "function metadata" to functions, by means of a (md5) hash of those functions: whenever it
wants to push information to, or pull information from the server, IDA will first have to compute hashes of the functions it
wants to retrieve metadata for, and send those hashes to the Lumina server.


Similarly, when IDA pushes information to the Lumina server, it will first compute hashes for the corresponding functions,
extract the metadata corresponding to those from the .idb file, and send those hash+metadata pairs to the server.

 

Metadata contents
Metadata about functions can include:
• function name
• function address
• function size
• function prototype
• function [repeatable] comments
• instruction-specific [repeatable] comments
• anterior/posterior (i.e., "extra") comments
• user-defined "stack points" in the function’s frame
• the function frame description and stack variables
• instructions operands representations

 

Pushing & overriding metadata
When a user pushes metadata about a function whose md5 hash isn’t present in the database, the Lumina server will
simply create a new record for it.
However, when a user pushes metadata about a function whose md5 hash (and associated metadata) is already present
in the database, the Lumina server will attempt to "score" the quality of the old metadata and the quality of the new
metadata. If the score of the new metadata is higher, the new function metadata will override the previous one.
NOTE
When a user asks IDA to push all functions to the Lumina server, IDA will automatically skip some
functions: those that still have a "dummy" name (e.g., sub_XXXX), or that are below a certain size
threshold (i.e., 32 bytes) will be ignored.

 

Metadata history
The Lumina server retains a history of the metadata associated to functions. Using the lc utility, it is possible to dig into
that history, and view changes (detailed diffs, too.)

 

File contents
It’s worth pointing out that when pushing metadata to the Lumina server, IDA will not push the binary file itself. Only the
following metadata about the file itself will be sent:
• the name of the input file
• the name of the IDB file
• a md5 hash of the input file
The Lumina server cannot therefore be used as a backup/repository for binary files & IDBs (that would be the role of the
Hex-Rays Vault server)

中文翻译:

Lumina服务器是一个“函数元数据”存储库。

它是一个地方,IDA用户可以将这些元数据推送和拉取到其中,以便简化他们的反汇编工作:元数据可以从现有项目中提取,并轻松地应用于新项目中,从而大大减少了分析二进制文件所需的时间。

Lumina服务器与Hex-Rays Vault服务器的区别:

虽然与Hex-Rays Vault服务器及其相关工具(hv、hvui和IDA的diff/merge模式)的工作流程非常强大,可以用于处理相同二进制文件的多个版本,但Lumina服务器则可以轻松地将以前的工作复制到新项目中。实际上,Lumina服务器为协作反汇编工作提供了另一个“维度”。

函数元数据

Lumina服务器通过函数的(md5)哈希将“函数元数据”与函数关联起来:每当它想要将信息推送到或从服务器上拉取信息时,IDA都需要首先计算要检索元数据的函数的哈希值,并将这些哈希值发送到Lumina服务器。类似地,当IDA将信息推送到Lumina服务器时,它将首先为相应的函数计算哈希值,从.idb文件中提取对应的元数据,并将这些哈希值和元数据对发送到服务器。

元数据内容

有关函数的元数据可能包括:

•函数名称

•函数地址

•函数大小

•函数原型

•函数的[可重复]注释

•指令特定的[可重复]注释

•前/后(即“额外”)注释

•用户定义的函数框架中的“堆栈点”

•函数框架描述和堆栈变量

•指令操作数表示

推送和覆盖元数据当用户推送某个函数的元数据,其md5哈希值不在数据库中时,Lumina服务器将简单地为其创建一个新记录。

然而,当用户推送某个函数的元数据,其md5哈希值(和相关元数据)已经存在于数据库中时,Lumina服务器将尝试“评分”旧元数据和新元数据的质量。如果新元数据的分数更高,则新的函数元数据将覆盖以前的元数据。

注意:当用户要求IDA将所有函数推送到Lumina服务器时,IDA将自动跳过一些函数:那些仍然有“虚拟”名称(例如sub_XXXX)或大小低于某个阈值(即32字节)的函数将被忽略。

元数据历史记录Lumina服务器保留了与函数关联的元数据的历史记录。使用lc实用程序,可以深入挖掘该历史记录,并查看更改(也可以查看详细的差异)。

文件内容值得指出的是,当将元数据推送到Lumina服务器时,IDA不会推送二进制文件本身。仅会发送有关文件本身的以下元数据:

•输入文件的名称

•IDB文件的名称

•输入文件的md5哈希值

因此,Lumina服务器不能用作二进制文件和IDB的备份/存储库(这是Hex-Rays Vault服务器的角色)。

展开阅读全文

标签:

读者也访问过这里:
邀请您进入交流群 点击扫码
400-8765-888 kefu@makeding.com

专业销售为您服务

欢迎添加好友,了解更多IDA优惠信息,领逆向工程学习资料礼包1份!
热门文章
exe反编译工具哪个好?反编译能力强的工具盘点
随着软件技术的发展,exe(可执行文件)已经成为了电脑、手机等多个平台上的主要软件运行格式,而对于exe文件的反编译也成为了逆向工程中不可缺少的一个步骤。本文将介绍一些常用的exe反编译工具,并评价其优缺点,帮助读者选择合适的工具。
2023-04-12
IDA反汇编流程视图的常用基本操作设置
IDA中反汇编窗口中有两种不同的形式,分别是列表模式和图形模式,IDA默认打开是图形模式,就是反汇编流程视图,可以用来分析程序函数的具体运行情况。
2021-06-15
IDA一些常用到的功能及其快捷键
通常情况下,我们使用反编译工具是为了在没有源代码的情况下促进对程序的了解,以便于我们分析软件的漏洞、分析编译器生成的代码,以验证编译器的性能和准确性,同时也可以用来分析软件是否带有恶意程序,提高安全性。
2021-05-17
IDA的初始使用说明和界面简介
IDA能帮助我们分析恶意软件、分析系统漏洞、验证编译器的性能,其支持在Mac系统、Windows系统、Linux系统中使用,是一款非常优秀的反编译软件。
2021-03-16
IDA反编译界面之流程预览、函数窗口介绍
在上节《IDA反编译界面之工具栏、导航栏、输出栏介绍》中,我们已经认识了IDA主界面六大窗口中的前三个窗口,接下来我们还需要认识余下的三大窗口,分别是主视图窗口、流程预览窗口和函数窗口。
2021-03-16
使用IDA数据库搜索功能搜索内容
IDA提供了专用的搜索工具,多种不同的搜索方式,帮助我们在IDA数据库中快速搜索内容,并导航到页面上的指定位置。该软件设计了许多类型的数据显示来总结特定类型的信息(如字符串、名称),以方便我们查找这些信息。
2021-03-18
最新文章
IDA是什么软件 IDA的基本用法是什么样的
在当今数字化的时代,软件技术的发展日新月异,反汇编和反编译成为了软件领域中不可或缺的一部分。在众多的反汇编和反编译工具中,IDA(Interactive DisAssembler)以其卓越的功能和灵活性而脱颖而出。本文将深入探讨IDA是什么软件,IDA的基本用法是什么样的,以及它对企业的价值和影响。
2023-09-27
ida怎么搜索函数 ida如何定位main函数
在软件逆向工程的领域中,IDA(Interactive DisAssembler)被广泛认可为一款强大的工具,它为分析人员提供了深入探索程序内部结构和功能的能力。其中,函数搜索和定位主函数(main函数)作为逆向分析的基础技巧,具有重要的地位。本文将为您介绍IDA中如何高效地进行函数搜索以及定位主函数的方法,帮助您在逆向分析过程中更加得心应手。
2023-09-27
ida怎么查找字符串 ida字符串窗口快捷键
在数字化时代,逆向工程作为解密软件和分析程序的关键技术,正日益受到广泛关注。在逆向分析的过程中,IDA(Interactive DisAssembler)是一款备受推崇的工具,它为逆向工程师们提供了强大的功能和灵活的操作。本文将带您深入探讨如何在IDA中查找字符串,优化字符串窗口的使用,并探讨IDA如何将变量转换成字符串,帮助您更加熟练地驾驭这一工具,为逆向分析的世界增添一抹精彩。
2023-09-27
ida怎么修改汇编语言 ida修改后怎么保存
在当今数字化时代,汇编语言作为底层的编程语言,具有无可比拟的重要性。而在逆向工程领域,IDA作为一款卓越的工具,为我们提供了修改汇编语言的能力,极大地拓展了我们的技术边界。本文将深入研究ida怎么修改汇编语言,ida修改后怎么保存的内容。
2023-09-25
渗透测试的基本流程 IDA如何进行渗透测试
在当前数字时代,保护信息安全成了企业和个人都要面临的重要挑战。渗透测试是一项评估信息系统安全的关键技术,它涵盖了对目标系统的全方位攻击模拟,以评估其安全性能。其中,IDA作为一款广泛应用的逆向工程工具,在渗透测试过程中发挥着核心作用。本文将介绍渗透测试的基本流程,IDA如何进行渗透测试和渗透测试的目的的内容,为你深入解读渗透测试的精髓和实施过程。
2023-09-21
ppc反汇编怎么看 IDA如何分析ppc反汇编
通过PPC反汇编技术,开发者能够将复杂的机器码转换为易于理解的汇编指令,从而更好地分析程序的功能和执行过程。在接下来的部分中,我们将探讨ppc反汇编怎么看,IDA如何分析ppc反汇编,为您展示如何深入挖掘程序的内部机制。
2023-09-20

通过微信咨询我们

欢迎添加好友,了解更多IDA优惠信息,领取逆向工程学习资料礼包1份!