Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.28 KB | None | 0 0
  1. private void Form1_Load(object sender, EventArgs e)
  2. {
  3. //fs.Read(read, 0, len);
  4. }
  5. #endregion
  6.  
  7. #region Defaults
  8. OpenFileDialog open = new OpenFileDialog();
  9.  
  10. static int len = 1000000000;
  11. byte[] read = new byte[len];
  12. static string path = "";
  13. int index = 0;
  14. int count = -1;
  15. List<int> saveSearch = new List<int>();
  16. #endregion
  17.  
  18. #region output funcs
  19. public int findBytes(byte[] haystack, byte[] needle, int start_index)
  20. {
  21. int len = needle.Length;
  22. int limit = haystack.Length - len;
  23. for (int i = start_index; i <= limit; i++)
  24. {
  25. int k = 0;
  26. for (; k < len; k++)
  27. {
  28. if (needle[k] != haystack[i + k]) break;
  29. }
  30. if (k == len) return i;
  31. }
  32. return -1;
  33. }
  34. private string DebuggerStr(byte[] numArray, int start)
  35. {
  36. try
  37. {
  38. StringBuilder stringBuilder = new StringBuilder();
  39. StringBuilder stringBuilder1 = new StringBuilder();
  40. for (int i = 0; i < (int)numArray.Length; i++)
  41. {
  42. int num2 = numArray[i + start];
  43. if (num2 > Convert.ToInt32(0x19) && num2 < Convert.ToInt32(0x7F))
  44. {
  45. stringBuilder1.Append((char)numArray[i + start]);
  46. }
  47. else if (num2 == Convert.ToInt32(0x0A))
  48. {
  49. break;
  50. }
  51. else
  52. {
  53. stringBuilder1.Append(".");
  54. }
  55.  
  56. stringBuilder.Append(string.Concat(stringBuilder1.ToString()));
  57. stringBuilder1 = new StringBuilder();
  58. }
  59. return stringBuilder.ToString();
  60. }
  61. catch
  62. {
  63. return "";
  64. }
  65. }
  66. #endregion
  67.  
  68. #region Button Controls
  69.  
  70. private void button2_Click(object sender, EventArgs e)
  71. {
  72. if (count != 0)
  73. {
  74. string save = DebuggerStr(read, saveSearch[--count]);
  75. textBox2.Text = save;
  76. }
  77. }
  78. private void button3_Click(object sender, EventArgs e)
  79. {
  80. byte[] search = Encoding.ASCII.GetBytes(textBox1.Text);
  81. index = findBytes(read, search, index);
  82.  
  83. if (index != -1)
  84. {
  85. ++count;
  86. saveSearch.Add(index);
  87. string save = DebuggerStr(read, saveSearch[count]);
  88. textBox2.Text = save;
  89. index += search.Length;
  90. }
  91. else
  92. {
  93. resetSearch();
  94. textBox2.Text = "No Results";
  95. }
  96. }
  97.  
  98. private void button1_Click(object sender, EventArgs e)
  99. {
  100. if (open.ShowDialog() == DialogResult.OK)
  101. {
  102. path = open.FileName;
  103. FileStream fs = new FileStream(path, FileMode.Open);
  104. fs.Read(read, 0, len);
  105. resetSearch();
  106. Text = "Text Searcher - File Opened: " + path;
  107. }
  108. }
  109.  
  110. private void button4_Click(object sender, EventArgs e)
  111. {
  112. resetSearch();
  113. }
  114. #endregion
  115.  
  116. #region Other funcs
  117. private void resetSearch()
  118. {
  119. textBox2.Clear();
  120. saveSearch.Clear();
  121. index = 0;
  122. count = -1;
  123. }
  124.  
  125. private void textBox1_TextChanged(object sender, EventArgs e)
  126. {
  127. index = 0;
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement