You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/DISASSEMBLE.md
+21-3Lines changed: 21 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -94,9 +94,27 @@ The `regs_read` and `regs_written` fields (both globally for the function and pe
94
94
-**Track Data Flow:** By examining `instructions_with_registers`, you can trace how data moves through registers within a function. For example, seeing `rax` written by one instruction and then read by a subsequent one.
95
95
-**Detect Register Preservation:** Check if a function modifies callee-saved registers (like `rbx`, `rbp`, `r12-r15` on x64) without restoring them, which might violate calling conventions or indicate specific behavior.
96
96
-**Spot Unusual Register Patterns:** Functions that read or write an unusually large number of registers might be complex, perform context switching, or manipulate state extensively.
97
-
9. Analyzing Proprietary Hardware Features (Apple Silicon)
98
-
99
-
The proprietary_instructions and sreg_interactions fields provide powerful insights into how software leverages Apple's custom silicon features. This is critical for security research, anti-tampering analysis, and performance tuning on macOS and iOS. - **Detecting Advanced Security Hardening:** - Use Case: A kernel extension or system daemon uses hardware-enforced memory permissions that are stronger than standard ARM features. - blint Findings: The sreg_interactions list contains "SPRR_CONTROL" or "GXF_CONTROL". - Analysis: This indicates the function is setting up or entering a "Guarded Execution" mode (GXF) or manipulating the Secure Page Table (SPRR). This code is highly security-sensitive and is likely part of Apple's core operating system defenses, such as protecting kernel memory or DRM components. - **Identifying Anti-Debugging and Anti-Emulation:** - Use Case: A protected application wants to detect if it's being run under a debugger or in an emulator. It does this by reading hardware performance counters, which behave differently in virtualized environments. - blint Findings: The sreg_interactions list contains "PERF_COUNTERS". - Analysis: This is a strong indicator of an anti-analysis technique. The function is likely measuring execution time or specific hardware events to detect anomalies caused by debuggers or emulators. - **Finding Performance-Critical Code:** - Use Case: A high-performance application uses Apple's custom matrix co-processor for machine learning or signal processing tasks. - blint Findings: The proprietary_instructions list contains "AMX" (Apple Matrix Coprocessor). - Analysis: This function is a candidate for performance analysis. It directly leverages specialized hardware, and any changes to it could have significant performance implications. - **Locating Kernel-Level Pointer Authentication Logic:** - Use Case: The kernel is configuring Pointer Authentication (PAC) keys to protect its own function pointers from being overwritten in an attack. - blint Findings: The sreg_interactions list contains "PAC_KEYS". - Analysis: This function is manipulating the hardware keys used for pointer signing and authentication. It is a critical part of the system's control-flow integrity and a high-value target for security researchers.
97
+
9.**Analyzing Proprietary Hardware Features (Apple Silicon):**
98
+
99
+
The `proprietary_instructions` and `sreg_interactions` fields provide powerful insights into how software leverages Apple's custom silicon features. This is critical for security research, anti-tampering analysis, and performance tuning on macOS and iOS.
100
+
101
+
-**Detecting Advanced Security Hardening:**
102
+
- Use Case: A kernel extension or system daemon uses hardware-enforced memory permissions that are stronger than standard ARM features.
103
+
- blint Findings: The sreg_interactions list contains "SPRR_CONTROL" or "GXF_CONTROL".
104
+
- Analysis: This indicates the function is setting up or entering a "Guarded Execution" mode (GXF) or manipulating the Secure Page Table (SPRR). This code is highly security-sensitive and is likely part of Apple's core operating system defenses, such as protecting kernel memory or DRM components.
105
+
106
+
-**Identifying Anti-Debugging and Anti-Emulation:**
107
+
- Use Case: A protected application wants to detect if it's being run under a debugger or in an emulator. It does this by reading hardware performance counters, which behave differently in virtualized environments.
108
+
- blint Findings: The sreg_interactions list contains "PERF_COUNTERS".
109
+
- Analysis: This is a strong indicator of an anti-analysis technique. The function is likely measuring execution time or specific hardware events to detect anomalies caused by debuggers or emulators
110
+
-**Finding Performance-Critical Code:**
111
+
- Use Case: A high-performance application uses Apple's custom matrix co-processor for machine learning or signal processing tasks.
112
+
- blint Findings: The proprietary_instructions list contains "AMX" (Apple Matrix Coprocessor).
113
+
- Analysis: This function is a candidate for performance analysis. It directly leverages specialized hardware, and any changes to it could have significant performance implications.
- Use Case: The kernel is configuring Pointer Authentication (PAC) keys to protect its own function pointers from being overwritten in an attack.
116
+
- blint Findings: The sreg_interactions list contains "PAC_KEYS".
117
+
- Analysis: This function is manipulating the hardware keys used for pointer signing and authentication. It is a critical part of the system's control-flow integrity and a high-value target for security researchers.
0 commit comments