Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Find LoggingSystem LogDirect

ASecurity

Find and identify the internal LoggingSystem_LogDirect worker function in CS2 tier0.dll / libtier0.so using IDA Pro MCP. Use this skill when reverse engineering CS2 tier0 to locate the single non-exported log worker that every exported LoggingSystem_LogDirect variadic wrapper forwards to (CleanerCS2 and similar console-filter plugins hook this worker). Resolved by intersecting the direct call targets of the exported LoggingSystem_LogDirect* wrappers: the dominant common callee is the worker. ...

3 stars
0 votes
0 copies
0 views
Added 9/27/2026
devopsbash

Works with

mcp

Security Analysis

A100/100

Scanned 9/27/2026

Install to Claude Code

$npx -y skills add mrc4tt/CS2_VibeSignatures --skill find-LoggingSystem_LogDirect --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Find LoggingSystem LogDirect?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Find LoggingSystem LogDirect
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mrc4tt-find-loggingsystem-logdirect/badge)](https://www.skillsdirectory.com/skills/mrc4tt-find-loggingsystem-logdirect)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: find-LoggingSystem_LogDirect
description: |
  Find and identify the internal LoggingSystem_LogDirect worker function in CS2 tier0.dll / libtier0.so
  using IDA Pro MCP. Use this skill when reverse engineering CS2 tier0 to locate the single non-exported
  log worker that every exported LoggingSystem_LogDirect variadic wrapper forwards to (CleanerCS2 and
  similar console-filter plugins hook this worker). Resolved by intersecting the direct call targets of the
  exported LoggingSystem_LogDirect* wrappers: the dominant common callee is the worker. This anchor
  survives prologue churn between CS2 updates.
  Trigger: LoggingSystem_LogDirect, LogDirect
disable-model-invocation: true
---

# Find LoggingSystem_LogDirect (internal worker)

Locate the internal `LoggingSystem_LogDirect` worker in CS2 `tier0.dll` / `libtier0.so` using IDA Pro MCP
tools.

This is a **non-virtual, direct-call**, **non-exported** worker (no vtable entry — emit a byte sig, not an
offset). The exported `LoggingSystem_LogDirect*` symbols are thin variadic wrappers that all forward to
this one worker.

> **Do not** anchor the discovery recipe on the raw byte pattern below — bytes/wildcards shift release to
> release. Use it only to *locate/confirm* the function on the currently loaded binary, then generate a
> fresh signature at the end.

## Method

### 1. List the exported LoggingSystem_LogDirect wrappers

The wrappers are exported (present in the dynamic symbol table) and mangled
`_Z23LoggingSystem_LogDirect...`. There are several (≈8) — different arities / channel-id vs. severity
overloads.

```text
mcp__ida-pro-mcp__imports_query   name_contains="LoggingSystem_LogDirect"
# or, for exports specifically:
mcp__ida-pro-mcp__list_globals    name_contains="LoggingSystem_LogDirect"
```

If IDA lookup is unreliable on a stripped binary, read the ELF/PE export table directly (Linux):

```bash
nm -D libtier0.so | grep LoggingSystem_LogDirect
```

### 2. Collect each wrapper's direct call targets

Decompile or disassemble each wrapper and record every `call <target>` (direct calls only — ignore
`call [reg]` indirects).

```text
mcp__ida-pro-mcp__decompile   addr="<wrapper_va>"
```

### 3. Intersect — the dominant callee is the worker

Tally the call targets across all wrappers. The address that (nearly) every wrapper calls is the internal
`LoggingSystem_LogDirect` worker. It takes a channel/severity id in an integer argument and a message
pointer, and does the actual channel-enabled check + sink dispatch.

> Linux (repo libtier0.so) reference: worker at `0x212920` — dominant call target across the exported
> wrappers. Prologue on that build:
> `push rbp; mov eax,edx; mov r10,rdi; mov edi,esi; mov rbp,rsp; push r15; push r14`.

### 4. Generate function signature

**ALWAYS** Use SKILL `/generate-signature-for-function` with `addr=<worker_va>` to generate a robust and
unique `func_sig`. Mask 4-byte RIP-relative / rel32 displacements.

> Linux reference: `55 89 D0 49 89 FA 89 F7 48 89 E5 41 57 41` — unique across `.text` at this length
> (no wildcards needed on this build).

### 5. Write func YAML

**ALWAYS** Use SKILL `/write-func-as-yaml` to write the analysis results.

Required parameters:
- `func_name`: `LoggingSystem_LogDirect`
- `func_addr`: `<worker_va>`
- `func_sig`: The validated signature from step 4

## Function Characteristics

- **Purpose**: The single internal log worker behind every exported `LoggingSystem_LogDirect*` variadic
  wrapper — performs the channel-enabled check and dispatches the formatted message to the logging sinks.
- **Binary**: `tier0.dll` / `libtier0.so`.
- **Linkage**: non-virtual, direct-call, **not exported**.
- **Consumers**: console-output filter plugins (e.g. CleanerCS2) detour this worker to suppress/reroute
  server console spam.

## Discovery Strategy

1. Enumerate the exported `LoggingSystem_LogDirect*` wrappers (dynamic symbol table — survives stripping).
2. Intersect their direct `call` targets; the dominant shared callee is the worker.
3. This anchor is structural (the wrapper→worker fan-in), so it survives prologue churn even when a
   hardcoded byte sig breaks after a CS2 update.

## Output YAML Format

```yaml
func_name: LoggingSystem_LogDirect
func_va: '0x<va>'
func_rva: '0x<rva>'
func_size: '0x<size>'
func_sig: <space-separated byte pattern from step 4>
```

Attribution

mrc4ttmrc4tt
View sourceMore from mrc4tt →
SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Related Skills

Terraform Module Library

Build reusable Terraform modules for AWS, Azure, and GCP infrastructure following infrastructure-as-code best practices. Use when creating infrastructure modules, standardizing cloud provisioning, or implementing reusable IaC components.

400051 votes

sematext-otel

Wire a service's OpenTelemetry output to Sematext Cloud. Walks through region, App-type, instrumentation flow (managed OTLP endpoint vs Sematext Agent), and signal selection (traces/metrics/logs), then produces the exact env-var block and points at a runnable reference example in this repo. Invoke when instrumenting a new app for Sematext.

01 votes

Deployment Patterns

Deployment workflows, CI/CD pipeline patterns, Docker containerization, health checks, rollback strategies, and production readiness checklists for web applications. Use when setting up deployment infrastructure or planning releases.

2672080 votes

Babysit

Watch a pull request or review cycle until it is ready to merge. Use when asked to babysit, monitor, or keep checking PR comments, reviews, and CI until all actionable issues are resolved.

947440 votes

V7 Roster

Interact with the Paperclip control plane API for task coordination and governance. Use when checking assignments, updating issue status, posting comments, delegating work, managing routines, or calling Paperclip API endpoints.

813270 votes
View all in devops →