Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Statically analyze C struct member offsets through code reading to calculate memory layouts
Statically analyze C struct member offsets through code reading to calculate memory layouts
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Statically analyze the memory offsets of C language struct members without needing to run code.
Locating struct members during reverse engineering Confirming memory layouts during debugging Analyzing data structures in security research Understanding struct field positions in binary analysis
# Search for struct definition grep -n "struct xxx_st {" **/*.h grep -n "typedef struct" **/*.h
Find definitions for all member types: Nested structs Enum types typedef aliases Constant definitions (e.g., #define EVP_MAX_MD_SIZE 64)
TypeSize (64-bit)Alignment Requirementchar/unsigned char11short22int/uint32_t44long/size_t/pointer88unsigned char[N]N1 (no padding needed)enumusually 44structdepends on membersaligned to largest member Key Rules: Member offset must be a multiple of its size unsigned char arrays are 1-byte aligned, no padding required Overall struct size is aligned to the size of its largest member Padding bytes count toward offsets
Use hexadecimal representation for offsets, format: | Offset(0x) | Member | Type | Size | |------------|--------|------|------| | 0x00 | field1 | int | 4 | | 0x04 | *(padding)* | - | 4 | | 0x08 | field2 | void * | 8 |
# Find struct member definition grep -n "struct xxx_st" **/*.h # Find type definition grep -n "typedef.*XXX" **/*.h # Find constant definition grep -n "#define.*SIZE" **/*.h # Find enum definition grep -n "typedef enum" **/*.h
Analyzing client_app_traffic_secret member offset: Locate struct: ssl/ssl_local.h:1068 Find constant: EVP_MAX_MD_SIZE = 64 (include/openssl/evp.h:19) Calculate layout, note that unsigned char arrays need no padding Result: offset 0x33c (828 bytes)
Confirm target platform (32-bit vs 64-bit) Note that conditional compilation (#ifdef) may affect struct layout Check for #pragma pack directives that may change alignment Union members share the same offset
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.