18 个仓库
Removal of non-essential symbolic information from compiled binaries to reduce disk footprint.
Distinct from Debug Symbol Configurators: Distinct from Debug Symbol Configurators: focuses on the act of stripping symbols from a binary rather than configuring their generation during build.
Explore 18 awesome GitHub repositories matching development tools & productivity · Debug Symbol Stripping. Refine with filters or upvote what's useful.
Distroless provides a set of OCI-compliant minimal base images and hardening tools designed to create secure, language-specific execution environments. These images are stripped of non-essential system binaries, shells, and package managers to reduce the container attack surface. The project utilizes upstream-tracked automated patching to monitor operating system releases and generate updated images when security vulnerabilities are addressed. It ensures supply chain integrity through image provenance verification using ephemeral-key digital signatures. The system supports the generation of
Provides base images stripped of non-essential system binaries to significantly reduce the container attack surface.
Kaniko is an OCI container image builder that executes Dockerfiles in userspace without requiring a privileged daemon. It is designed as a Kubernetes-native image builder, allowing for the construction and pushing of images to registries from within a cluster or container. The tool ensures reproducible build generation by stripping timestamps from image layers, guaranteeing that identical source inputs produce the same image identifier. It supports multi-architecture image building, allowing for the creation of images compatible with various hardware and operating systems from a single proces
Ensures reproducible image identifiers by stripping timestamps from image layers.
GenericAgent is an LLM agent framework and autonomous system controller designed to manage local systems, web browsers, and hardware interfaces through action and observation loops. It functions as a tool orchestrator that routes model calls to local executors, enabling the automation of complex tasks on a host machine. The project is distinguished by its self-evolving AI agent capabilities, which convert successful execution paths into reusable procedural scripts and skill trees to reduce future reasoning overhead. It employs a context optimization engine that utilizes layered memory hierarc
Lowers the storage and token footprint of old conversation rounds by truncating reasoning tags and using placeholders.
This project is a command-line synchronization client for OneDrive and SharePoint libraries on Linux. It functions as a synchronization engine that aligns local filesystems with cloud storage through bidirectional, unidirectional, or download-only workflows. The client supports headless authentication for servers without web browsers and can be deployed as a background service or within a containerized environment. It enables the management of multiple distinct cloud accounts on a single system and integrates with shared SharePoint sites and document libraries. The synchronization engine inc
Supports builds with debug symbols to provide source file and line information in crash traces.
This project is a collection of techniques and configurations for reducing the disk footprint of compiled Rust executables. It serves as a guide and toolset for binary size optimization, providing strategies to minimize the final executable size through compiler flags and configuration. The project focuses on aggressive size reduction strategies, including recompiling the standard library from source to prune unused functions and implementing no-standard-library modes for memory-constrained environments. It details how to eliminate runtime overhead by removing standard library entry points an
Provides methods to remove non-essential symbol information from compiled binaries to reduce file size.
WebAssembly Binary Toolkit 是一套用于检查、验证和转换 WebAssembly 模块(在二进制和人类可读表示之间)的工具集。它包括一个基于栈的解释器用于执行模块,以及一个将二进制文件转换为 C 源代码和头文件的转译器。 该工具包提供了将人类可读文本汇编为二进制模块,以及将二进制文件反汇编回文本的实用程序。它具有一个文本格式化程序,用于将定义规范化为标准的扁平表示,并支持将二进制文件转换为 S-expression 格式。 该项目涵盖了广泛的功能领域,包括二进制操作(如剥离元数据段)和模块检查(以提取结构统计信息和调试符号)。它还提供了针对技术规范验证二进制正确性的工具,以及用于执行符合 WASI 标准逻辑的运行时环境。
Reads debug names and metadata from binary modules to recover original source identifiers.
Trail of Bits restores functionality to GDB when debugging binaries without debugging symbols, enabling meaningful breakpoints and variable inspection.
Bloaty 是一个二进制大小分析器和可执行格式分析器,将二进制文件的每个字节归因于特定的符号或编译单元。它作为一个编译单元分析器和 C++ 符号反混淆器,将二进制大小映射回源文件,并将混淆后的名称转换为人类可读的格式。 该项目作为二进制差异工具脱颖而出,能够比较二进制文件的两个版本,以隔离导致大小回归的特定符号或部分。它提供专门的支持,通过使用构建标识符将符号与外部调试文件关联,从而恢复剥离二进制文件中的符号。 该工具为 ELF、Mach-O、PE/COFF 和 WebAssembly 格式提供全面的二进制分析。其功能包括分析链接器部分、内存段和静态库归档,以及识别内联函数消耗的空间。用户可以进一步使用正则表达式过滤隔离数据,并以 CSV 或 TSV 格式导出分析结果。
Restores symbol and compile unit information for stripped binaries using external debug files and build IDs.
LIEF 是一个用于解析、修改和分析跨平台可执行二进制格式和系统共享缓存的框架。它作为一个跨平台库,用于程序化操作 ELF、PE 和 MachO 二进制文件。 该项目提供了用于更改可执行文件内部结构和段以改变程序行为的工具。它还包含一个专用解析器,用于从组合的系统共享缓存中恢复单个动态库。 该工具集涵盖了二进制可执行文件分析、机器码反汇编以及调试元数据和符号信息的提取。它进一步支持跨各种处理器架构的机器码和汇编的双向翻译。
Extracts symbolic names and debugging metadata from compiled binary files and symbol files.
Garble is an obfuscation tool for Go binaries. It transforms compiled Go programs by hashing identifiers, package paths, and filenames into short, opaque strings, making reverse engineering more difficult. The tool produces reproducible results from identical source and a user-supplied seed, enabling verifiable builds. Obfuscation can be restricted to only those packages that match user-defined patterns, leaving other parts of the codebase untouched. Constant string literals in the binary are replaced with runtime-resolved expressions to hide their original content. The tool integrates direct
Strips debug positions, symbol tables, and runtime metadata from compiled Go binaries.
gdext 为 Godot 4 引擎提供了一组用于编写高性能原生 Rust 游戏逻辑的语言绑定。它作为一个框架,通过 GDExtension 库创建原生引擎扩展和自定义类,允许开发者在不重新编译引擎源代码的情况下扩展核心引擎功能。 该项目包含一个专门的 Rust WebAssembly 工具链,用于将原生逻辑编译为模块以便在 Web 浏览器中执行。该系统支持 WebAssembly 兼容编译,并针对 Web 线程和模块调试进行了特定配置。 该工具包涵盖了广泛的引擎集成能力,包括自定义类定义、场景树节点管理和类型安全信号处理。它为物理模拟、程序化内容生成和自定义编辑器插件的开发提供了实用程序。 开发过程由用于项目设置、原生扩展测试和逻辑单元测试的自动化工具支持。
Produces binaries with debug symbols to enable breakpoints and memory inspection in browser developer tools.
w64devkit 是一个便携式 MinGW-w64 C/C++ 开发套件和适用于 Windows 的自包含 GCC 工具链。它提供了一个原生构建环境,用于将 C、C++ 和 Fortran 源代码编译为 x86 和 x64 可执行二进制文件,而无需系统级安装或对宿主注册表和环境变量的修改。 该工具链作为一套自包含的编译器、链接器和汇编器分发,可从任何目录运行。它包含一个专门的基于 Shell 的环境包装器,用于自动配置其二进制文件的路径,并利用静态链接消除外部运行时依赖冲突。 除编译外,该套件还包括用于检查内存和分析运行进程的调试工具,以及用于解码导入和导出表的 PE 二进制检查工具。它还涵盖构建工作流自动化、二进制代码签名以及 Windows 安装包的创建。
Inspects program execution and analyzes memory to identify undefined behavior and defects in compiled Windows binaries.
bflat 是一个用于 C# 的原生编译器和提前 (AOT) 二进制生成器。它将源代码转换为自包含的原生可执行文件和机器码,无需单独的运行时环境即可运行。 该项目具有一个跨平台原生工具链,能够从单一环境为多种操作系统和架构生成二进制文件。它包括一个通过外部函数接口将 C# 逻辑导出为共享原生库的机制,以便与其他编程语言集成。 为了支持资源受限的环境,它提供了一个二进制优化器,通过剥离反射数据、全球化元数据和堆栈跟踪信息来减小可执行文件大小。它还允许选择不同的标准库深度,以平衡功能丰富度与最终二进制文件大小。 该工具链支持系统级调试,使开发人员能够使用原生调试器设置断点并直接在编译后的机器码中检查变量。
Reduces executable size by stripping reflection data, globalization strings, and stack trace metadata.
该项目是一个专门的浏览器调试界面,旨在监控 DOM 元素、网络流量和 JavaScript 执行。它提供了一个用于检查和调试 Web 应用程序的客户端用户界面,允许实时修改 CSS 样式并调查 JavaScript 运行时。 该工具包包括用于 WebAssembly 的专用分析工具,具有反汇编高亮、作用域检查和二进制执行分析功能。它还提供了一个用于分析 HTTP 请求的网络流量检查器,以及一个用于测试属性和 at-rules 的 CSS 样式编辑器。 该系统涵盖了广泛的功能,包括 DOM 树修改、具有 CPU 节流的前端性能分析以及 Service Worker 调试。它还处理源资源管理,例如将网络资产映射到本地文件并美化压缩代码,同时支持多语言本地化。 该项目使用 TypeScript 开发,并采用具有按需模块加载功能的组件化架构。
Associates loaded scripts with specific plugins based on language and symbol type to handle variable transformations.
Statik is a build tool for the Go language that transforms directory structures and files into byte arrays within source code. This process enables the creation of single-binary distributions by embedding static assets directly into the compiled executable. The tool ensures deterministic builds by stripping file modification timestamps, resulting in consistent binary outputs across different environments. It also includes a build-time asset filter to limit the inclusion of specific file extensions and minimize the final executable size. To access these embedded assets, the project provides a
Removes file modification timestamps during the build process to ensure bit-for-bit identical binary outputs.
Obfuscar is a .NET assembly obfuscator and managed code protector designed to prevent reverse engineering of compiled binaries. It functions as a binary metadata compressor and security tool that renames symbols and encodes strings to protect intellectual property. The project distinguishes itself by altering the Common Intermediate Language structure and modifying assembly metadata tables to hide implementation details. It provides string-to-buffer encoding to prevent plain-text analysis of constants and includes a strong-name re-signing mechanism to ensure modified assemblies remain valid a
Reduces the size of executable files by shortening metadata identifiers and renaming internal symbols.
OffensiveRust is a red team toolkit and malware development kit written in Rust. It serves as an evasion framework and post-exploitation library, providing a collection of offensive security primitives and a Windows API wrapper for interacting with low-level system functions and undocumented APIs. The project focuses on bypassing security software through direct system calls, memory obfuscation, and stealthy payload execution. It implements techniques to defeat static binary analysis via compile-time string encryption and payload obfuscation, while avoiding detection using parent process ID s
Removes metadata and debug symbols from compiled binaries to reduce size and hinder reverse engineering.
PS2Recomp is a static recompiler for PlayStation 2 that translates machine instructions from executable binaries into source code to enable execution on modern hardware. It functions as a binary-to-source translator and a binary analysis tool designed to facilitate the preservation of legacy software. The project distinguishes itself through a hardware emulation runtime that manages memory models and register contexts, combined with a static binary patcher for replacing raw instructions and overriding function bindings. It utilizes a specialized vector unit instruction execution system that m
Binds stripped function addresses to runtime handlers using configuration files or exported maps.