跳转到主要内容

go-inspector 是一个用于从 Go 二进制文件中提取符号和依赖项的扫描代码插件。

项目描述

go-inspector 是一个用于从 Go 二进制文件中提取依赖项和符号的工具。它设计为作为 ScanCode Toolkit 插件使用,并集成在 ScanCode.io 中

安装和使用

  • 运行 pip install go-inspector

  • 使用方法:与 scancode --json-pp --go-symbol --verbose <包含 Go 可执行文件的目录或文件路径>

JSON 输出将包含在 Go 可执行文件中找到的各种依赖项和符号(如果有的话)。

  • 许可证:Apache-2.0 AND MIT AND BSD-3-Clause WITH LicenRef-scancode-google-patent-license-golang

  • 版权所有 (c) nexB Inc.、Mandiant、Go 作者、Elliot Chance 及他人。

  • 主页: https://github.com/nexB/go-inspector/

有关捆绑第三方包的详细许可证和信用信息,请参阅 src/go_inspector/bin。

开发

  • 使用 make dev 安装要求和依赖项。

  • 然后 source venv/bin/activate

测试

  • 要运行测试: pytest -vvs

  • 要重新生成测试固定数据: SCANCODE_REGEN_TEST_FIXTURES=yes pytest -vvs

  • 要更新捆绑的 GoReSym,请参阅 src/bin/update.sh

如何重新生成测试二进制文件

这些是从 tests/data/basic 中的代码编译(并提交)的。

  • 运行 go tool dist list 获取所有可能的操作系统和架构对,以编译二进制文件。

  • 然后构建一个 OS/架构对,如下所示,以获取编译后的二进制文件:GOOS=<OS> GOARCH=<arch> go build -o ./tests/data/basic/app_<OS>_exe ./tests/data/main.go

  • 复制并运行 Linux 可执行文件的 strip 作为“app_lin_exe_stripped”

资助和支持

此项目部分通过以下方式资助:

  • NGI0 Entrust https://nlnet.nl/entrust,这是一个由 NLnet 建立并由欧洲委员会下一代互联网 https://ngi.eu 程序提供财务支持的基金。有关更多信息,请访问 NLnet 项目页面 https://nlnet.nl/purl2all

    NLnet 基金会标志NGI Zero 标志

  • 来自 nexB Inc. 的支持 nexB 标志

  • 来自像您这样的用户的慷慨支持!

项目详细信息


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源代码发行版

go_inspector-0.3.1.tar.gz (5.5 MB 查看散列)

上传时间 源代码

构建发行版

go_inspector-0.3.1-py3-none-any.whl (1.3 MB 查看散列)

上传时间 Python 3

支持者

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面