13得票6回答
分解一个OpenCL内核?

我不确定是否可能。 我想深入学习OpenCL,所以我想知道是否有一种工具可以反汇编已编译的OpenCL内核。 对于普通的x86可执行文件,我可以使用objdump获取反汇编视图。 但是对于OpenCL内核是否有类似的工具呢?

13得票1回答
为什么内联函数比函数指针慢?

请考虑以下代码:typedef void (*Fn)(); volatile long sum = 0; inline void accu() { sum+=4; } static const Fn map[4] = {&accu, &accu, &acc...

13得票2回答
如何完全拆解Python源代码

我一直在使用dis库来反汇编一些Python源代码,但我发现它不会递归进入函数或类:import dis source_py = "test.py" with open(source_py) as f_source: source_code = f_source.read() b...

13得票1回答
为什么一个类的定义总是生成相同的字节码?

假设我同意: #!/usr/bin/env python # encoding: utf-8 class A(object): pass 现在我来拆解它: python -m dis test0.py 4 0 LOAD_CONST ...

12得票3回答
在ELF中查找函数的起始偏移

假设我有一个函数fn,它位于 ELF64 可执行文件的.text节中。有没有办法知道从 ELF 文件的开头算起,fn函数所在的偏移量(以字节为单位)?请注意,我不需要知道链接时它被重定位到哪个虚拟地址,只需要知道它在 ELF 文件中的位置。

12得票5回答
如何在GDB中使用"x/i $pc"解析16位x86引导扇区代码?它会被视为32位代码。

例如,如果BIOS打印a到屏幕上的main.asm引导扇区,那么:org 0x7c00 bits 16 cli mov ax, 0x0E61 int 0x10 hlt times 510 - ($-$$) db 0 dw 0xaa55 那么:nasm -o main.img main.asm ...

12得票3回答
如何从libopcodes中获取指令信息?

我正在编写一个工具,它使用libbfd和libopcodes在x86-32和x86-64 Linux上执行反汇编操作。问题是,虽然我能够使libopcodes进行反汇编,但我无法获取任何指令信息。为了演示,我制作了一个最小化的示例来复现我的问题。该程序应该从入口点到第一个RET/RETQ进行反...

12得票2回答
旧涂鸦程序的逆向工程

我有几个非常老的基于MSDos的绘画程序。它们使用调色板索引图像缓冲区,拥有许多惊人的形状绘制工具、画笔和效果,在任何现代绘画程序中都不存在-特别是在低色调色板索引图像中。我想在一个现代程序中复制许多这些奇妙的工具,或许使它们变得更容易被我和一般公众所接触,而不必启动像dosbox这样的模拟器...

12得票2回答
能否拆卸Visual FoxPro 9.0的exe文件?

我有一个遗留的FoxPro exe应用程序。 源代码不可用(它是外包编写的,源代码从未交付)。 现在有一个需求,需要在C#中编写完全相同的应用程序,然后开发新功能。要求通常都已过时。虽然我们可以在用户界面上看到应用程序的功能,但我们也想了解其内部逻辑。 是否有任何针对FoxPro的工具能...

12得票1回答
在IDA中使用参数调试可执行文件

在反汇编器和调试器IDA中,是否有一种方法可以使用命令行参数运行当前加载的二进制文件?例如,假设我有一个命令/bin/ls并且想将其作为/bin/ls test.txt进行调试,我如何在IDA中实现这一点?