首页
/ EmilPRO 技术文档

EmilPRO 技术文档

2024-12-28 09:25:20作者:凤尚柏Louis

1. 安装指南

Debian 和 Ubuntu 用户

在 Debian 或 Ubuntu 系统上安装 EmilPRO,您需要首先安装以下依赖项:

sudo apt install g++ cmake ninja-build python3-pip binutils-multiarch-dev qt6-base-dev libglx-dev libgl1-mesa-dev
pip3 install conan

Fedora 用户

Fedora 系统的安装说明仍在编写中,但大致流程与 Ubuntu 类似。

MacOS 用户

在 MacOS 上安装 EmilPRO,您需要使用 Homebrew 安装以下依赖项:

brew install binutils qt6 conan cmake ninja

2. 项目的使用说明

EmilPRO 是一款图形化的反汇编工具,支持多种架构,主要用于调试目的。以下是它的主要特性:

  • 支持 ARM、AArch64、x86、(未经测试) MIPS、(未经测试) PowerPC 架构的反汇编。
  • 易于过滤符号名称/地址。
  • 对符号和指令提供交叉引用。
  • 通过跳转和调用进行导航。
  • 访问过的地址/符号历史记录,支持后退/前进导航。
  • 如果可用,显示高级源代码。
  • 高亮显示使用的寄存器。

3. 项目API使用文档

本项目未提供详细的 API 文档,主要是作为一个桌面应用程序使用,用户交互主要通过图形用户界面完成。

4. 项目安装方式

在完成上述依赖项的安装后,您可以通过以下步骤编译和安装 EmilPRO:

编译步骤

Conan 配置

conan install -of build --build=missing -s build_type=Release conanfile.txt

在 Linux 系统上

cmake -B build -GNinja -DCMAKE_PREFIX_PATH="`pwd`/build/build/Release/generators/" -DCMAKE_BUILD_TYPE=Release
ninja -C build

在 MacOS 系统上

请从 PATH 中移除 binutils(为了 conan 构建)

cmake -B build -GNinja -DCMAKE_PREFIX_PATH="`pwd`build/build/Release/generators/;`brew --prefix binutils`" -DCMAKE_BUILD_TYPE=Release
ninja -C build

安装步骤

将编译好的 emilpro 可执行文件复制到 /usr/local/bin/ 目录下:

sudo cp qt/emilpro/emilpro /usr/local/bin/

以上即为 EmilPRO 的技术文档,希望对您使用该软件包有所帮助。如果您在安装或使用过程中遇到任何问题,可以联系开发者 Simon Kagstrom (simon.kagstrom@gmail.com)。

热门项目推荐
相关项目推荐

项目优选

收起
Python-100-DaysPython-100-Days
Python - 100天从新手到大师
Python
267
55
国产编程语言蓝皮书国产编程语言蓝皮书
《国产编程语言蓝皮书》-编委会工作区
65
17
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
196
45
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
53
44
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
268
69
qwerty-learnerqwerty-learner
为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workers
TSX
333
27
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
896
0
advanced-javaadvanced-java
Advanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。
JavaScript
420
108
MateChatMateChat
前端智能化场景解决方案UI库,轻松构建你的AI应用,我们将持续完善更新,欢迎你的使用与建议。 官网地址:https://matechat.gitcode.com
144
24
HarmonyOS-Cangjie-CasesHarmonyOS-Cangjie-Cases
参考 HarmonyOS-Cases/Cases,提供仓颉开发鸿蒙 NEXT 应用的案例集
Cangjie
58
4