相关疑难解决方法(0)

分析MIPS二进制文件:是否有用于解析二进制数据的Python库?

我正在研究一个实用程序,它需要将十六进制地址解析为二进制内的符号函数名和源代码行号.该实用程序将在x86上的Linux上运行,但它分析的二进制文件将用于基于MIPS的嵌入式系统.MIPS二进制文件采用ELF格式,使用DWARF作为符号调试信息.

我目前正计划派生objdump,传入十六进制地址列表并解析输出以获取函数名称和源行号.我已经编译了一个支持MIPS二进制文件的objdump,它正在工作.

我更喜欢有一个软件包,允许我从Python代码本地查找内容而不需要另外的进程.我在python.org上找不到libdwarf,libelf或libbfd,也没有提到dwarfstd.org上的python.

某处有合适的模块吗?

python x86 mips elf dwarf

11
推荐指数
2
解决办法
6271
查看次数

访问gdb在C++中看到的程序信息

我有一个用C++编写的程序,在Linux上,用-g编译.

当我在gdb下运行它时,我可以

1) set breakpoints
2) at those breakpoints, print out variables
3) see the stackframe
4) given a variable that's a structure, print out parts of the structure (i.e. how ddd displays information).
Run Code Online (Sandbox Code Playgroud)

现在,鉴于我的程序是用"-g"编译的 - 无论如何,我可以在我的程序中访问这个功能吗?

即我的程序是用"-g"编译的,有一些

std::vector<string> getStackFrame();
Run Code Online (Sandbox Code Playgroud)

我可以调用函数来获取当前执行点的堆栈帧吗?

给定指向对象的指针及其类型......我能做到吗?

std :: vector getClassMember(class_name);

我意识到默认答案是"不,C++不支持这种内省级别" - 但是,回想一下我在linux上,我的程序是用"-g"编译的,而gdb可以做到这一点,所以显然是信息在那儿.问题是:是否有一些用于访问它的API?

编辑:PS Naysers,我很想看到关闭这个问题的理由.

c++ gdb

6
推荐指数
1
解决办法
200
查看次数

如何使用Python获取PE文件的指令?

所以我正在尝试使用 Python 为学校项目编写一个基本的反汇编程序。我正在使用 pydasm 和 capstone 库。我不明白的是如何使用 Python 实际访问程序的汇编指令。这些库允许我反汇编指令,但我不知道如何在 Python 中访问程序的指令。有人能给我一些指导吗?

谢谢。

python portable-executable capstone

2
推荐指数
1
解决办法
8294
查看次数

标签 统计

python ×2

c++ ×1

capstone ×1

dwarf ×1

elf ×1

gdb ×1

mips ×1

portable-executable ×1

x86 ×1