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
c++反编译工具有哪些
反编译C++代码的工具一般是针对可执行文件和库文件的反汇编和逆向分析工具。本文将给大家介绍c++反编译工具有哪些的内容。市面说的c++反编译工具有很多,下面介绍几款使用认识较多的软件。
2023-04-23
idapro怎么改为中文
IDA Pro是一款功能强大的反汇编和反编译工具,广泛应用于逆向工程和软件开发领域。在使用IDA Pro时,如果我们不习惯英文界面,可以将其改为中文界面。本文将介绍IDA Pro怎么改为中文界面。IDA Pro界面改成中文主要有两种方法,下面是详细介绍。
2023-04-19
ida如何转伪代码 ida伪代码怎么看
IDA Pro是一款常用的反汇编和反编译工具,可以帮助我们分析二进制文件的实现细节和执行过程,以便更好地理解程序的执行过程和逻辑。在进行逆向工程的过程中,我们经常需要将反汇编结果转换为伪代码,以便更好地进行分析和修改。本文将介绍如何使用IDA Pro转换为伪代码,并简单讲解ida伪代码怎么看。
2023-04-14
IDA反汇编流程视图的常用基本操作设置
IDA中反汇编窗口中有两种不同的形式,分别是列表模式和图形模式,IDA默认打开是图形模式,就是反汇编流程视图,可以用来分析程序函数的具体运行情况。
2021-06-15
IDA的初始使用说明和界面简介
IDA能帮助我们分析恶意软件、分析系统漏洞、验证编译器的性能,其支持在Mac系统、Windows系统、Linux系统中使用,是一款非常优秀的反编译软件。
2021-03-16
最新文章
芯片逆向工程是什么?使用IDA进行芯片逆向工程教程
在如今智能时代,芯片开发已成为技术产业的关键,危及很多领域发展和创新。但是,对于很多非专业人士而言,芯片逆向工程可能是一个怪异的界定。本文将详细解释芯片逆向工程是什么,使用IDA进行芯片逆向工程教程,及其IDA在芯片领域的其他应用。
2024-02-06
逆向工程思维有哪些?使用IDA进行逆向工程的思路
逆向工程思维是一种具有启发性的思考方式,正在不同领域中蓬勃发展。在本文中,我们将深入研究逆向工程思维有哪些,使用IDA进行逆向工程的思路,以及它在解决复杂问题和优化系统中的应用。
2024-02-06
unity逆向工程是什么?使用IDA进行unity逆向工程方法
游戏开发的魅力在于创造与探索,而Unity逆向工程为开发者提供了一扇全新的大门。它允许你深入分析和改进使用Unity引擎创建的游戏。本文将详细介绍unity逆向工程是什么?使用IDA进行unity逆向工程方法。
2024-02-06
汽车逆向工程是什么?使用IDA进行汽车逆向工程教程
汽车工业正面临着史无前例的技术创新,其中,车辆逆向工程作为一种新兴技术,正成为该行业的热点话题。结合IDA(Interactive Disassembler)该前沿逆向工程工具,车辆逆向工程的应用范围和深度不断发展。文中旨在深入分析汽车逆向工程是什么?使用IDA进行汽车逆向工程教程,分析IDA在车辆系统中的运用,为汽车行业的技术人员及发烧友提供有价值的参考信息。
2024-02-01
3d扫描逆向工程是什么?使用IDA进行3d扫描逆向工程
3D扫描逆向工程作为一种创新技术,正在逐步更改大家对物理全球的理解处理办法。结合IDA(Interactive Disassembler)这类反向工程工具,3D扫描技术突出了更广阔的应用前景。本文将详细分析3d扫描逆向工程是什么,使用IDA进行3d扫描逆向工程,为相关领域的专业人士提供全面的信息和意见。
2024-02-01
IDA打开目标so全是sub_ IDA怎么调试到对应的代码?
使用IDA分析Android或iOS平台的应用时,常会遇到“打开目标so文件全是sub_”的情况,这对于初学者和经验不足的分析师来说是一个挑战。本文旨在详细讲述如何在IDA中有效处理这一问题,解析调试到对应代码的方法
2024-02-01

通过微信咨询我们

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