Add .NET Environment.TickCount timing anti-debug rule#1137
Open
aryanyk wants to merge 2 commits intomandiant:masterfrom
Open
Add .NET Environment.TickCount timing anti-debug rule#1137aryanyk wants to merge 2 commits intomandiant:masterfrom
aryanyk wants to merge 2 commits intomandiant:masterfrom
Conversation
mike-hunhoff
requested changes
Mar 19, 2026
Collaborator
mike-hunhoff
left a comment
There was a problem hiding this comment.
@aryanyk there appears to be unrelated rules included in this pull request. Please remove these unrelated rules. Also, please build the referenced anti-debug .NET project and open a pull request to https://github.com/mandiant/capa-testfiles for the resulting binary so we can ground all related rules, thank you.
3c0d9f8 to
783cb04
Compare
Author
|
Thanks for the feedback @mike-hunhoff I've removed the unrelated rules from this PR. I have also created a minimal .NET sample implementing the timing-based anti-debug technique and opened a PR to capa-testfiles to include this sample: mandiant/capa-testfiles#304 . Please let me know if any further adjustments are needed. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds a rule to detect timing-based anti-debug checks in .NET binaries that rely on repeated reads of
Environment.TickCountaroundThread.Sleep.Issue #596
The technique appears in the
.NET-Anti-Debugproject. A minimal sample implementing the behavior was compiled, features were inspected usingscripts/show-features.py, and the rule was verified to trigger correctly with capa.Example detection:
Additional rules for other techniques in the same project (e.g., WMI-based VM detection and process enumeration) will be submitted in follow-up PRs after validating samples.