| name | find-CEntitySystem_AddEntityIOEvent |
| description | Find and identify the CEntitySystem_AddEntityIOEvent function in CS2 binary using IDA Pro MCP. Use this skill when reverse engineering CS2 server.dll or server.so to locate the AddEntityIOEvent function by searching for the "_DisableUpdateTarget" string reference and analyzing cross-references to find the function called with "SetPosition" parameter. |
Find CEntitySystem_AddEntityIOEvent
Locate CEntitySystem_AddEntityIOEvent in CS2 server.dll or server.so using IDA Pro MCP tools.
Method
-
Search for the input event string:
mcp__ida-pro-mcp__find_regex pattern="_DisableUpdateTarget"
-
Get cross-references to the string:
mcp__ida-pro-mcp__xrefs_to addrs="<string_addr>"
-
Decompile the referencing functions to find the pattern:
mcp__ida-pro-mcp__decompile addr="<function_addr>"
-
Identify the CEntitySystem_AddEntityIOEvent function:
- Look for a function that contains calls to a function with "SetPosition" as a parameter
- The pattern looks like:
sub_XXXXXX(qword_XXXXXX, a1, "_DisableUpdateTarget", a1, a1, 0, 0, 0LL, 0LL);
sub_YYYYYYYY(qword_XXXXXX, a1, "SetPosition", a1, a1, &v27, v16, v20, 0LL, 0LL);
- The function
sub_YYYYYYYY called with "SetPosition" parameter is CEntitySystem_AddEntityIOEvent
-
Rename the function:
mcp__ida-pro-mcp__rename batch={"func": [{"addr": "<function_addr>", "name": "CEntitySystem_AddEntityIOEvent"}]}
-
Generate and validate unique signature:
ALWAYS Use SKILL /generate-signature-for-function to generate a robust and unique signature for the function.
-
Write IDA analysis output as YAML beside the binary:
ALWAYS Use SKILL /write-func-as-yaml to write the analysis results.
Required parameters:
func_name: CEntitySystem_AddEntityIOEvent
func_addr: The function address from step 4
func_sig: The validated signature from step 6
String References
The function is identified by finding code that:
- Calls
CEntitySystem_FireEntityIOEvent (or similar) with "_DisableUpdateTarget"
- Then calls
CEntitySystem_AddEntityIOEvent multiple times with "SetPosition"
- Finally calls with
"_EnableUpdateTarget"
Function Characteristics
Related Functions
CEntitySystem_FireEntityIOEvent - Fires entity I/O events immediately (called with "_DisableUpdateTarget", "_EnableUpdateTarget")
CEntitySystem_AddEntityIOEvent - Queues entity I/O events with delay (called with "SetPosition")
Output YAML Format
The output YAML filename depends on the platform:
server.dll → CEntitySystem_AddEntityIOEvent.windows.yaml
server.so → CEntitySystem_AddEntityIOEvent.linux.yaml
func_va: 0x181170ed0
func_rva: 0x1170ed0
func_size: 0x1e3
func_sig: XX XX XX XX XX