Advertisement
Guest User

Scambaiting Autohotkey Word Replacer

a guest
Apr 26th, 2017
319
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; Scambaiting word replace script for AutoHotkey
  2.  
  3. ; This script randomly selects one of several replacements for a typed
  4. ; word. For instance, if the scammer types ipconfig, there is a 30%
  5. ; chance that it will be replaced with 'ifconfig', a 30% chance it will
  6. ; be replaced with 'piconfig', a 20% chance it will be replaced with
  7. ; 'I pee config', and a 20% chance that it stays as it is.
  8.  
  9. ; It is possible to disable keywords to stay the same, this is done by
  10. ; either passing the 0 parameter to the program when starting the script
  11. ; or by changing the default from true to false in the 'Parameters'
  12. ; section below. However, it might be useful to leave the feature
  13. ; enabled, because then it is less likely that the scammer quits the
  14. ; connection immediately.
  15.  
  16. ; Obviously, keywords can be added or removed and propabilities of
  17. ; replacements can be changed.
  18. ; By the way, the assigned weights do not need to add up to 100%, any
  19. ; sum will do.
  20.  
  21. ; Happy scambaiting and don't let any wiruses onto your dextop!
  22.  
  23. ; =====================================================================
  24. ; AutoHotkey Config Commands
  25.  
  26. #NoEnv          ; Variables are not treated as environment vars
  27. SendMode Input  ; Setting send mode to input
  28.  
  29. ; =====================================================================
  30. ; Method
  31.  
  32. WeightSelect(options)       ; options is a map string->integer.
  33. {
  34.     threshold := {}
  35.     words := []
  36.     current := 0
  37.     for word, weight in options
  38.     {
  39.         current += weight
  40.         threshold[word] := current
  41.         words.push(word)
  42.     }
  43.     Random, rand, 0, current - 1
  44.     for word in words
  45.     {
  46.         if (rand < threshold[words[word]])
  47.             return words[word]
  48.     }
  49. }
  50.  
  51. ; =====================================================================
  52. ; Parameters
  53.  
  54. AllowCorrect := true    ; By default, correct words are enabled.
  55. if 0 > 0
  56.     AllowCorrect = %1%  ; If the startup parameter is 0, correct words
  57.                         ; are never allowed. If it is 1, correct words
  58.                         ; can be generated randomly (usually 20% chance)
  59.  
  60. ; =====================================================================
  61. ; Hotstrings
  62.  
  63. ; Commands
  64.  
  65. :o*:cmd::
  66.     Send % WeightSelect({
  67.     ( Join
  68.         "cd": 16,
  69.         "dmc": 16,
  70.         "md": 16,
  71.         "mmc": 16,
  72.         "cm": 16,
  73.         "cmd": (AllowCorrect ? 20 : 0)
  74.     )})
  75. return
  76.  
  77. :o*:eventvwr::
  78.     Send % WeightSelect({
  79.     ( Join
  80.         "evntvwr": 30,
  81.         "logbook": 5,
  82.         "eventwaiver": 30,
  83.         "eventweaver": 15,
  84.         "eventvwr": (AllowCorrect ? 20 : 0)
  85.     )})
  86. return
  87.  
  88. :o*:tree::
  89.     Send % WeightSelect({
  90.     ( Join
  91.         "treee": 50,
  92.         "treeee": 15,
  93.         "treeeee": 10,
  94.         "treeeeee": 5,
  95.         "tree": (AllowCorrect ? 20 : 0)
  96.     )})
  97. return
  98.  
  99. :o*:msconfig::
  100.     Send % WeightSelect({
  101.     ( Join
  102.         "em es confix": 10,
  103.         "smconfig": 40,
  104.         "smsconfig": 15,
  105.         "msgonfic": 15,
  106.         "msconfig": (AllowCorrect ? 20 : 0)
  107.     )})
  108. return
  109.  
  110. :o*:cd ..::     ; Note: The second and third option grab the first or second directory by tabbing and cd to it
  111.     Send % WeightSelect({
  112.     ( Join
  113.         "cd..": 40,
  114.         "cd     ": 25,
  115.         "cd         ": 15,
  116.         "cd": 10,
  117.         "cd ..": (AllowCorrect ? 20 : 0)
  118.     )})
  119. return
  120.  
  121. :o*:netstat::
  122.     Send % WeightSelect({
  123.     ( Join
  124.         "netflix": 25,
  125.         "netscape": 25,
  126.         "netscam": 20,
  127.         "nutstat": 10,
  128.         "netstat": (AllowCorrect ? 20 : 0)
  129.     )})
  130. return
  131.  
  132. :o*:ipconfig::      ; Bonus: Create a program called piconfig in system32 that outputs pi, then increase weight of piconfig here
  133.     Send % WeightSelect({
  134.     ( Join
  135.         "ifconfig": 30,
  136.         "I pee config": 20,
  137.         "piconfig": 30,
  138.         "ipconfig": (AllowCorrect ? 20 : 0)
  139.     )})
  140. return
  141.  
  142. :o*:syskey::
  143.     Send % WeightSelect({
  144.     ( Join
  145.         "syksey": 25,
  146.         "syykey": 25,
  147.         "scamkey": 20,
  148.         "suckkey": 10,
  149.         "syskey": (AllowCorrect ? 20 : 0)
  150.     )})
  151. return
  152.  
  153. ; Words usually typed in notepad
  154.  
  155. :o*:desktop::
  156.     Send % WeightSelect({
  157.     ( Join
  158.         "dextop": 50,
  159.         "deskpod": 5,
  160.         "tesktop": 5,
  161.         "dekstop": 10,
  162.         "desktop": (AllowCorrect ? 20 : 0)
  163.     )})
  164. return
  165.  
  166. :o*:virus::
  167.     Send % WeightSelect({
  168.     ( Join
  169.         "wirus": 50,
  170.         "bloody wirus": 5,
  171.         "WIRUS": 5,
  172.         "y-rus": 10,
  173.         "virus": (AllowCorrect ? 20 : 0)
  174.     )})
  175. return
  176.  
  177. :o*:scan::
  178.     Send % WeightSelect({
  179.     ( Join
  180.         "scam": 50,
  181.         "skan": 20,
  182.         "scaaaaaaaannnnnnnnnnnnn": 10,
  183.         "scan": (AllowCorrect ? 20 : 0)
  184.     )})
  185. return
  186.  
  187. :o*:name::
  188.     Send % WeightSelect({
  189.     ( Join
  190.         "naam": 40,
  191.         "naaaaaaaaaaaaaaammmmmmmmmmmmmmmmmmmeeeeeeeeeeeeeeeeeeee": 20,
  192.         "YOUR FUCKING NAME": 20,
  193.         "name": (AllowCorrect ? 20 : 0)
  194.     )})
  195. return
  196.  
  197. :o*:e-mail::
  198. :o*:email::
  199.     Send % WeightSelect({
  200.     ( Join
  201.         "weemail": 30,
  202.         "eeh mail": 30,
  203.         "peemail": 10,
  204.         "YOUR FUCKING EMAIL": 10,
  205.         "email": (AllowCorrect ? 20 : 0)
  206.     )})
  207. return
  208.  
  209. :o*:visa::
  210.     Send % WeightSelect({
  211.     ( Join
  212.         "WISA": 50,
  213.         "PISA": 20,
  214.         "WEESA": 10,
  215.         "VISA": (AllowCorrect ? 20 : 0)
  216.     )})
  217. return
  218.  
  219. :o*:master::
  220.     Send % WeightSelect({
  221.     ( Join
  222.         "masturbator": 40,
  223.         "wisa": 30,
  224.         "masasa": 10,
  225.         "master": (AllowCorrect ? 20 : 0)
  226.     )})
  227. return
  228.  
  229. :o*:cvv::
  230.     Send % WeightSelect({
  231.     ( Join
  232.         "see wee wee": 50,
  233.         "see me me": 20,
  234.         "VVC": 10,
  235.         "cvv": (AllowCorrect ? 20 : 0)
  236.     )})
  237. return
  238.  
  239. :o*:year::
  240.     Send % WeightSelect({
  241.     ( Join
  242.         "साल": 40,
  243.         "yay": 20,
  244.         "day": 20,
  245.         "year": (AllowCorrect ? 20 : 0)
  246.     )})
  247. return
  248.  
  249. :o*:anti::
  250.     Send % WeightSelect({
  251.     ( Join
  252.         "pro": 50,
  253.         "new ": 20,
  254.         "dandy": 10,
  255.         "anti": (AllowCorrect ? 20 : 0)
  256.     )})
  257. return
  258.  
  259. :o*:minute::
  260.     Send % WeightSelect({
  261.     ( Join
  262.         "hour": 50,
  263.         "day": 20,
  264.         "week": 10,
  265.         "minute": (AllowCorrect ? 20 : 0)
  266.     )})
  267. return
  268.  
  269. :o*:USD::
  270.     Send % WeightSelect({
  271.     ( Join
  272.         "XXX": 10,
  273.         "CAD": 10,
  274.         "JPY": 10,
  275.         "CHF": 10,
  276.         "FJD": 10,
  277.         "HRK": 10,
  278.         "MXN": 10,
  279.         "NOK": 10,
  280.         "USD": (AllowCorrect ? 20 : 0)
  281.     )})
  282. return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement