private void new_scan_worker_DoWork(object sender, DoWorkEventArgs e) { WorkerArgs args = (WorkerArgs)e.Argument; ulong lenPercent = 0; for (int section_idx = 0; section_idx < processManager.mapped_section_list.Count; ++section_idx) { MappedSection mappedSection = processManager.mapped_section_list[section_idx]; mappedSection.AddressList = mappedSection.getFilteredAddressList(processManager, value_box.Text, new_scan_worker, ref lenPercent, 0, 0.5f); } update_result_list_view(new_scan_worker, args.ValueType, false, 50, 0.5f); }
private void next_scan_worker_DoWork(object sender, DoWorkEventArgs e) { ulong percent_len = 0; for (int section_idx = 0; section_idx < processManager.MappedSectionList.Count; ++section_idx) { MappedSection mappedSection = processManager.MappedSectionList[section_idx]; AddressList addressList = mappedSection.AddressList; AddressList filtered_list = mappedSection.getFilteredAddressList(processManager, memoryHelper, value_box.Text, next_scan_worker, ref percent_len, 0, 0.5f); mappedSection.AddressList = addressList.Intersect(memoryHelper, filtered_list, value_box.Text); } WorkerArgs args = (WorkerArgs)e.Argument; update_result_list_view(next_scan_worker, args.ValueType, false, 50, 0.5f); }
private void next_scan_worker_DoWork(object sender, DoWorkEventArgs e) { ulong percent_len = 0; for (int section_idx = 0; section_idx < processManager.mapped_section_list.Count; ++section_idx) { MappedSection mappedSection = processManager.mapped_section_list[section_idx]; AddressList addressList = mappedSection.AddressList; if (mappedSection.AddressList.Count < 50) { for (int address_idx = 0; address_idx < addressList.Count; ++address_idx) { Address address = addressList[address_idx]; byte[] compare_value = processManager.MemoryHelper.GetCompareBytes(address, value_box.Text); byte[] value = processManager.MemoryHelper.GetBytesByType(address.AddressOffset + mappedSection.Start); if (!processManager.MemoryHelper.Compare(compare_value, value)) { addressList.RemoveAt(address_idx); --address_idx; } else { Address address_tmp = new Address(); address_tmp.AddressOffset = addressList[address_idx].AddressOffset; address_tmp.MemoryValue = processManager.MemoryHelper.BytesToUint(value); addressList[address_idx] = address_tmp; } } } else { AddressList filtered_list = mappedSection.getFilteredAddressList(processManager, value_box.Text, next_scan_worker, ref percent_len, 0, 0.5f); mappedSection.AddressList = addressList.Intersect(processManager.MemoryHelper, filtered_list, value_box.Text); } } WorkerArgs args = (WorkerArgs)e.Argument; update_result_list_view(next_scan_worker, args.ValueType, false, 50, 0.5f); }