Skip to content

schnoomoo/wmc_load_tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 

Repository files navigation

WMC - Testnet loadtools


Following are some different loading scripts, to-do still full testing on WMC + VPN ip shifting.

TX FLOOD

GAS BURN


Environment quick setup

Quick environment setup command in one step.
Tested with Ubuntu 22.04 desktop VM, snapshot taken in case of issues.
Runs as standard user (not superuser):

cd $HOME && \
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash && \
source ~/.bashrc && \
nvm install 20 && \
node -v && \
npm -v && \
mkdir $HOME/wmctest && cd $HOME/wmctest && \
npm init -y && \
npm pkg set type="module" && \
npm install ethers && \
npm install solc


DEFENCES AGAINST DETECTION - v1.0

MIMIC HUMAN STARTUP

Do random things at random intervals for configurable period to create distributed flooding environment - varying:

  • Timing Patterns
    • Variable wait times between actions
    • Random "sleep" periods
    • Spacing out subwallet creation over time
    • Wait-time adaptation - shorter waits after errors
  • Transaction Behaviors
    • Varied transaction types with weighted probability:
    • 70%/Simple WMTX transfer, 20% ERC20 token, 10% Token approvals
  • Randomised transaction destinations between controlled wallets
    • Amount Randomisation
    • Human-like rounded amounts
  • Message/Data Fields - 30% chance of random message
  • Token Interactions
    • Approval patterns that mimic DEX usage
    • 60% unlimited approvals vs. 40% specific amounts
    • Specific approval amounts range from 100-10,000 tokens
    • Variable confirmation waiting

FLOODING Tx - Randomisations

  • Transaction Diversity
    • Mix transaction types randomally (WMTx/ERC20)
    • Varies transaction amount/tokens sent
  • Randomised Transaction Payloads
    • Adds random data to some transactions (40% probability)
    • Varies data length between configurable min/max bounds (4-80 bytes)
    • Uses different data content types (random bytes, text, structured hex)
    • Generates hex data that resembles legitimate function calls
  • Uses multiple wallets created over time like a human
  • Vary batch sizes/schedule
    • TODO - is it still 2s wait between batches?? Remove
  • Dynamic Gas with EIP-1559
  • Random high random nonces for gas price testing

ERC20 - extensive randomisation to avoid ML algorithms

  • Token Name Generation:
    • Multiple name generation strategies (adjective+noun, compound words, 3-part names)
    • Various capitalization styles (camelCase, PascalCase, lowercase, ALL CAPS)
    • Different word connectors (spaces, hyphens, underscores, dots)
    • Possibility of adding suffixes (DAO, Network, Protocol) or years/numbers
  • Token Symbol Generation:
    • Multiple strategies for creating symbols (not just first 3 letters)
    • First letters of each word
    • Random letters extracted from the name
    • Completely random unrelated ticker symbols
    • Consonant-focused symbols
    • Length varies (2-5 characters)
  • Token Decimals:
    • Varied probability distribution (18, 6, 8, 0, and unusual values)
    • Includes rare decimal values (1, 2, 3, 4, 9, 10, 12, 16, 24, 36)
  • Token Supply:
    • Traditional round numbers (10M, 100M, 1B)
    • "Meme" numbers (69420, 1337, etc.)
    • Crypto-specific numbers (21M, like Bitcoin)
    • Powers of 10
    • Common human-chosen amounts
  • Contract Code Randomization
    • Variable/Parameter Naming Styles:
      • Standard style (amount, from, to)
      • Abbreviated style (amt, src, dst)
      • Hungarian notation (nAmount, addrFrom)
      • Underscore prefix (_amount, _from)
      • Alternative terminology (value, sender, recipient)
      • Terse style (qty, f, t)
    • Contract Structure:
      • Randomised function order within the contract
      • Varied spacing and indentation
    • Code Formatting:
      • Different brace styles (same-line vs. new-line)
      • Spacing variations around operators (x=y vs x = y)
      • Empty lines between functions (0-2)
      • Indentation amount (2 or 4 spaces)
    • Code Comments:
      • Random legitimate-looking comments
      • Varying comment density (0-3 comments per section)
      • Different comment styles and content
    • Solidity Compiler Settings:
      • Randomised optimizer runs (150-250)
    • Contract Details:
      • Random License identifier choice (MIT or Unlicense)
      • Optional NatSpec comments

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors