Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.31 KB | None | 0 0
  1. richTextBox1.Clear();
  2. bool finded = false;
  3. if (string.IsNullOrWhiteSpace(textBox3.Text))
  4. {
  5. richTextBox1.Text += Environment.NewLine + $"Путь не задан";
  6. return;
  7. }
  8. if (!(textBox1.Text.Replace(" ", string.Empty).Length % 2 == 0))
  9. {
  10. richTextBox1.Text += Environment.NewLine + $"Введен паттерн, не конвертирующийся в байты. Поиск паттерна по умолчанию.";
  11. textBox1.Text = "F6F6F6282828";
  12. // return;
  13. }
  14. if (string.IsNullOrWhiteSpace(textBox1.Text))
  15. {
  16. richTextBox1.Text += Environment.NewLine + $"Введен пустой паттерн. Поиск паттерна по умолчанию.";
  17. textBox1.Text = "F6F6F6282828";
  18. // return;
  19. }
  20. // byte[] bytestream = File.ReadAllBytes(textBox3.Text);
  21. // result = bytestream;
  22. byte[] byteprob = Instruments_for_bytes.Stringtohex(textBox1.Text.Replace(" ", string.Empty));
  23. // int progress_dilatation = 16 / 100;
  24. for(int ine = 0; ine<=1; ine++)
  25. {
  26. if (finded == true)
  27. {
  28. GC.Collect();
  29. break;
  30. }
  31. if (ine == 1)
  32. {
  33. byteprob = Instruments_for_bytes.Reverse(byteprob);
  34. }
  35. string bytestring = BitConverter.ToString(byteprob);
  36. // int k = IndexOf(bytestream, byteprob);
  37. int[] k = new int[2];
  38. k[0] = -1;
  39. k[1] = 0;
  40. byte[] bytestream = File.ReadAllBytes(textBox3.Text);
  41. result = bytestream;
  42. for (int i = 0; i <= 7; i++)
  43. {
  44. progressBar1.Value += 6;
  45. if (i > 0)
  46. {
  47. (new System.Threading.Thread(delegate () {
  48. bytestream = Instruments_for_bytes.ShiftLeft(bytestream);
  49. })).Start();
  50.  
  51. }
  52. Thread th1 = new Thread(() =>
  53. {
  54. k = Instruments_for_bytes.IndexOf(bytestream, byteprob);
  55. });
  56. th1.Start();
  57. if (k[0] > -1)
  58. {
  59. progressBar1.Value = 100;
  60. richTextBox1.Text += Environment.NewLine + $"Паттерн байт = {bytestring}";
  61. richTextBox1.Text += Environment.NewLine + $"Период = {k[0]}";
  62. richTextBox1.Text += Environment.NewLine + $"Байтовый сдвиг = {k[1]}";
  63. richTextBox1.Text += Environment.NewLine + $"Битовый сдвиг: {i}";
  64. if (ine == 0)
  65. {
  66. richTextBox1.Text += Environment.NewLine + $"Разворот байт: Нет";
  67. bytestream = Instruments_for_bytes.Reverse(bytestream);
  68. }
  69. else
  70. {
  71. richTextBox1.Text += Environment.NewLine + $"Разворот байт: Есть";
  72. }
  73. byte[] bytestream2 = new byte[bytestream.Length - k[1]];
  74. Array.Copy(bytestream, k[1], bytestream2, 0, bytestream2.Length);
  75. result = bytestream2;
  76. finded = true;
  77. break;
  78. }
  79. else
  80. {
  81. if (ine == 1)
  82. {
  83. if (i == 7)
  84. {
  85. progressBar1.Value = 100;
  86. richTextBox1.Text += Environment.NewLine + $"Паттерн не найден";
  87. GC.Collect();
  88. break;
  89. }
  90. }
  91. }
  92. }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement