Enum EventKind
pub enum EventKind {
Show 23 variants
StringDecrypted,
ConstantDecrypted,
ConstantFolded,
BranchSimplified,
InstructionRemoved,
BlockRemoved,
MethodInlined,
PhiSimplified,
ValueResolved,
MethodMarkedDead,
ControlFlowRestructured,
OpaquePredicateRemoved,
CopyPropagated,
ArrayDecrypted,
StrengthReduced,
VariablesCompacted,
MethodBodyDecrypted,
ResourceDecrypted,
AntiTamperRemoved,
ArtifactRemoved,
CodeRegenerated,
LoadForwarded,
DeadStoreRemoved,
}Expand description
Categories of events that can be logged. Target-agnostic — labels are purely descriptive and carry no host types.
Variants§
StringDecrypted
A string was decrypted and inlined.
ConstantDecrypted
A constant value was decrypted via emulation of a decryptor method.
ConstantFolded
A constant value was folded/propagated.
BranchSimplified
A conditional branch was simplified to unconditional.
InstructionRemoved
An instruction was removed.
BlockRemoved
A basic block was removed.
MethodInlined
A method call was inlined.
PhiSimplified
A phi node was simplified.
ValueResolved
An unknown value was resolved to a constant.
MethodMarkedDead
A method was marked as dead (unreachable).
ControlFlowRestructured
Control flow was restructured (e.g., unflattening).
OpaquePredicateRemoved
An opaque predicate was identified and removed.
CopyPropagated
A copy operation was propagated away.
ArrayDecrypted
An array was decrypted.
StrengthReduced
An expensive operation was strength-reduced.
VariablesCompacted
Orphaned variables were removed from the variable table.
MethodBodyDecrypted
An encrypted method body was decrypted (anti-tamper).
ResourceDecrypted
An encrypted resource was decrypted and re-injected (e.g. .NET Reactor Stage 7 resource encryption).
AntiTamperRemoved
Anti-tamper protection was removed.
ArtifactRemoved
An obfuscation artifact was removed (method, type, metadata).
CodeRegenerated
Code regeneration completed.
LoadForwarded
A load was replaced by a value already available in memory — forwarded from a dominating store, or from an earlier redundant load.
DeadStoreRemoved
A store was removed because a later store to the same location overwrote it before any intervening read.
Implementations§
Source§impl EventKind
impl EventKind
Sourcepub fn description(&self) -> &'static str
pub fn description(&self) -> &'static str
Returns a human-readable description of this event kind.
Sourcepub fn is_transformation(&self) -> bool
pub fn is_transformation(&self) -> bool
Returns true if this event represents a code transformation.
Trait Implementations§
impl Copy for EventKind
impl Eq for EventKind
impl StructuralPartialEq for EventKind
Auto Trait Implementations§
impl Freeze for EventKind
impl RefUnwindSafe for EventKind
impl Send for EventKind
impl Sync for EventKind
impl Unpin for EventKind
impl UnsafeUnpin for EventKind
impl UnwindSafe for EventKind
Blanket Implementations§
impl<T> Boilerplate for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for T
impl<T> Downcast for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString. Read more