Sinker
  • Sinker Script
    • Language Elements
      • Directive
      • Identifier
      • Identifier Set
      • Integer Literal
      • String Literal
      • Boolean Literal
      • Expression
      • Comments
    • Directives
      • Module
      • Variant
      • Symbol
      • Address
      • Set
      • Tag
    • Sinker Script Expression Language
      • Integer Literal
      • Identifier
      • GetProcAddress
      • Pattern Match
        • Filter
        • Needle
        • Mask
      • UserOp Call
      • Operations
        • Parentheses
        • Mathematical Operations
        • Bitwise Operations
        • Short-Circuit Operations
        • Indirection (dereference)
        • sizeof
        • Array Subscripting
        • Pointer Path
        • Relocate
        • Operator Precedence
  • Sinker Compiler
    • .def
  • Sinker Runtime Library
    • sinker::Action
      • act()
    • sinker::ActionInstall
      • ActionInstall()
      • act()
      • installable
    • sinker::ActionUninstall
      • ActionUninstall()
      • act()
      • uninstallable
    • sinker::Attributable
      • get_attribute()
      • set_attribute()
      • get_attributes()
      • attributes
    • sinker::BinaryOperatorExpression
      • BinaryOperatorExpression()
      • calculate()
      • dump()
      • lhs
      • rhs
      • binary_operator
      • type
    • sinker::Context
      • Context()
      • Context()
      • operator=()
      • get_modules()
      • get_module()
      • get_user_op()
      • emplace_module()
      • dump()
      • dump_def()
      • interpret()
      • interpret()
      • interpret()
      • add_module_tag()
      • add_symbol_tag()
      • get_symbol_tags()
      • ~Context()
      • modules
      • user_ops
      • module_tags
      • symbol_tags
    • sinker::Detour
      • Detour()
      • install()
      • uninstall()
      • real
      • wrap
    • sinker::Expression
      • calculate()
      • dump()
      • ~Expression()
    • sinker::GetProcAddressExpression
      • GetProcAddressExpression()
      • calculate()
      • dump()
      • module
      • lpProcName
    • sinker::Installable
      • install()
    • sinker::IntegerExpression
      • IntegerExpression()
      • calculate()
      • dump()
      • value
    • sinker::MaskedByte
      • value
      • mask
    • sinker::Module
      • Module()
      • operator=()
      • Module()
      • operator=()
      • get_name()
      • get_real_variant()
      • get_symbol()
      • emplace_symbol()
      • add_variant()
      • has_variant()
      • dump()
      • dump_def()
      • get_preferred_base_address()
      • get_relocated_base_address()
      • get_hModule()
      • add_tag()
      • get_context()
      • concretize()
      • is_concrete()
      • Module()
      • context
      • name
      • lpModuleName
      • preferred_base_address
      • relocated_base_address
      • symbols
      • variants
      • real_variant
      • hModule
      • tags
    • sinker::ModuleExpression
      • ModuleExpression()
      • calculate()
      • dump()
      • module
    • sinker::Patch
      • value_type
      • pointer_type
      • Patch()
      • install()
      • uninstall()
      • is_array
      • value_count
      • make_patch_writable()
      • restore_patch_protection()
      • dst
      • src
      • backup
      • patch_writable_protection()
    • sinker::PatternMatchExact
      • PatternMatchExact()
      • search()
      • begins_with()
      • size()
      • type()
      • collision()
      • value
    • sinker::PatternMatchExpression
      • PatternMatchExpression()
      • calculate()
      • dump()
      • filters
      • needle
      • offset
    • sinker::PatternMatchFilter
      • PatternMatchFilter()
      • get_module()
      • get_section_name()
      • module
      • section_name
    • sinker::PatternMatchFragment
      • ~PatternMatchFragment()
      • search()
      • begins_with()
      • collision()
      • size()
      • type()
    • sinker::PatternMatchMask
      • PatternMatchMask()
      • search()
      • begins_with()
      • size()
      • type()
      • collision()
      • value
    • sinker::PatternMatchNeedle
      • PatternMatchNeedle()
      • search()
      • collision()
      • fragments
      • size
      • offset
      • index
    • sinker::PatternMatchWildcard
      • PatternMatchWildcard()
      • search()
      • begins_with()
      • size()
      • type()
      • collision()
      • s
    • sinker::Patch::ProtectionRegion
      • address
      • size
      • old_protect
    • sinker::StackCheck
      • StackCheck()
      • good()
      • ~StackCheck()
      • buffer
    • sinker::Symbol
      • Symbol()
      • operator=()
      • Symbol()
      • operator=()
      • get_name()
      • calculate_address()
      • get_cached_calculated_address()
      • get_module()
      • add_address()
      • dump()
      • dump_def()
      • add_tag()
      • Symbol()
      • cached_calculated_address
      • name
      • type
      • module
      • addresses
      • tags
    • sinker::SymbolExpression
      • SymbolExpression()
      • calculate()
      • dump()
      • symbol
    • sinker::Transaction
      • Transaction()
      • add()
      • commit()
      • actions
    • sinker::UnaryOperatorExpression
      • UnaryOperatorExpression()
      • calculate()
      • dump()
      • expression
      • unary_operator
      • type
    • sinker::Uninstallable
      • uninstall()
    • sinker::UserOp
      • UserOp()
      • operator=()
      • UserOp()
      • operator=()
      • get_name()
      • get_min_arity()
      • get_max_arity()
      • accepts_arity()
      • name
      • min_arity
      • max_arity
    • sinker::UserOpExpression
      • UserOpExpression()
      • calculate()
      • dump()
      • invoke_with_indices()
      • invoke_with_runtime_arity()
      • user_op
      • args
      • MAX_ARITY
    • sinker
      • expression_value_t
      • attribute_value_t
      • identifier_set_t
      • expression_list_t
      • Language
        • SINKER
        • SOURCE_CODE
      • Type
        • None
        • U8
        • U16
        • U32
        • U64
        • I8
        • I16
        • I32
        • I64
        • PTR
      • UnaryOperator
        • PARENTHESES
        • INDIRECTION
        • RELOCATION
        • BITWISE_NOT
        • SIZEOF
      • BinaryOperator
        • ADDITION
        • SUBTRACTION
        • MULTIPLICATION
        • INTEGER_DIVISION
        • MODULO
        • BITWISE_AND
        • BITWISE_OR
        • BITWISE_XOR
        • BITWISE_SHIFT_LEFT
        • BITWISE_SHIFT_RIGHT
        • ARRAY_SUBSCRIPT
        • POINTER_PATH
        • SHORT_CIRCUIT_AND
        • SHORT_CIRCUIT_OR
      • PatternMatchType
        • EXACT
        • MASK
        • WILDCARD
        • COUNT
      • operator<<()
      • operator<<()
      • operator<<()
      • operator<<()
      • operator<<()
      • SizeOfType()
      • TypeToString()
      • CheckedDereference()
      • USER_OP_MAX_ARITY
    • SINKER_DEFINED_WIN32_LEAN_AND_MEAN
    • WIN32_LEAN_AND_MEAN
    • SINKER_DEFINED_NOMINMAX
    • NOMINMAX
    • PROPAGATE_UNRESOLVED
  • CMake Integration
    • Adding Sinker to Your CMake Project
      • Git Submodule
      • FetchContent
    • Sinker Compiler Target
    • Sinker Runtime Library
Sinker
  • Welcome to Sinker’s documentation!
  • View page source

Welcome to Sinker’s documentation!

  • Sinker Script
    • Language Elements
    • Directives
    • Sinker Script Expression Language
  • Sinker Compiler
    • .def
  • Sinker Runtime Library
    • sinker::Action
    • sinker::ActionInstall
    • sinker::ActionUninstall
    • sinker::Attributable
    • sinker::BinaryOperatorExpression
    • sinker::Context
    • sinker::Detour
    • sinker::Expression
    • sinker::GetProcAddressExpression
    • sinker::Installable
    • sinker::IntegerExpression
    • sinker::MaskedByte
    • sinker::Module
    • sinker::ModuleExpression
    • sinker::Patch
    • sinker::PatternMatchExact
    • sinker::PatternMatchExpression
    • sinker::PatternMatchFilter
    • sinker::PatternMatchFragment
    • sinker::PatternMatchMask
    • sinker::PatternMatchNeedle
    • sinker::PatternMatchWildcard
    • sinker::Patch::ProtectionRegion
    • sinker::StackCheck
    • sinker::Symbol
    • sinker::SymbolExpression
    • sinker::Transaction
    • sinker::UnaryOperatorExpression
    • sinker::Uninstallable
    • sinker::UserOp
    • sinker::UserOpExpression
    • sinker
    • SINKER_DEFINED_WIN32_LEAN_AND_MEAN
    • WIN32_LEAN_AND_MEAN
    • SINKER_DEFINED_NOMINMAX
    • NOMINMAX
    • PROPAGATE_UNRESOLVED
  • CMake Integration
    • Adding Sinker to Your CMake Project
    • Sinker Compiler Target
    • Sinker Runtime Library
Next

© Copyright 2023, widberg.

Built with Sphinx using a theme provided by Read the Docs.