首页
/ EmilPRO 技术文档

EmilPRO 技术文档

2024-12-28 12:56:31作者:凤尚柏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)。

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
24
7
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
9
1
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.03 K
477
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
375
3.21 K
pytorchpytorch
Ascend Extension for PyTorch
Python
169
190
flutter_flutterflutter_flutter
暂无简介
Dart
615
140
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
62
19
cangjie_compilercangjie_compiler
仓颉编译器源码及 cjdb 调试工具。
C++
126
855
cangjie_testcangjie_test
仓颉编程语言测试用例。
Cangjie
36
852
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
647
258