从elf文件获取变量信息

时间:2019-05-29 14:07:40

标签: c# parsing elf

我正在尝试在C#上制作一个简单的监视屏幕GUI。我有一个elf文件,我需要获取此elf文件中每个变量的以下信息。

  • 变量名称
  • 可变大小
  • 变量地址

我可以通过为Windows安装的readelf可执行文件来做到这一点。我对在C#中使用这种工具没有真正的经验。但是我能够在Windows的cmd屏幕中运行它,并得到如下所示的正确结果:

-> readelf -s test.elf | grep sineWave1_100MS

<-373: 200006e0 2 OBJECT GLOBAL DEFAULT 8 sineWave1_100MS

我可以使用这种可执行文件,但是我希望我的应用程序可以在每台PC上运行。我们能否仅将这个exe文件(readelf)复制到我的应用程序目录中,然后从我的c#应用程序中调用命令?我尝试过,但是如果尝试从其他目录运行此命令,则会收到一些dll错误。

我不希望任何人安装binutilscygwin安装程序来运行我的应用程序。如何使用C#应用程序简单地从elf文件中获取变量信息?

1 个答案:

答案 0 :(得分:0)

包装可执行文件应该是绝对的LAST RESORT。

elfsharp应该为您提供所需的一切。您将具有一个实际的代码接口,可以执行所需的操作,并且是纯CLR / c#代码,没有外部依赖项。该代码看起来很干净。

license似乎对您要使用的内容都比较宽大,但是您应该自己阅读以确保安全。