При многопоточном бруте индекс выходит за границы массива.
Всем привет! Начал писать свой многопоточный брут, делал все по видео.
[Ссылки могут видеть только зарегистрированные пользователи. ] - первая часть
[Ссылки могут видеть только зарегистрированные пользователи. ] - вторая часть
При выполнении возникает ошибка:
Необработанное исключение типа "System.ArgumentOutOfRangeException" в mscorlib.dll
Дополнительные сведения: Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
(эта строка выделена красным)
Там у меня расхождение с Checking(). Автор на видео чучуть по другому делал, так как он брутил Рамблер и передавал еще и домен. В моем случае только логин и пароль нужно передавать.
Это на первом видео примерно 01:20:00.
Посмотрите пожалуйста, в чем может быть проблема?
(индекс выходит за границы не сразу, при достаточно большом Source фале (около 7000 и 30 потоках) проверяет где то около 600 - 800 и выдает эту ошибку.
using System;
using System.Threading;
using System.Collections.Generic;
using System.IO;
using xNet.Net;
using System.Windows.Forms;
namespace MyBrute
{
public class Checker
{
private Thread[] Threads;
public Object SyncIndex = new Object();
public Object SyncFiles = new Object();
public static string Check(string login, string password)
{
...
________________ Понравилось моё сообщение?? Помог советом? СТАВЬ СПАСИБО Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Re: При многопоточном бруте индекс выходит за границы массива.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Вот скрин с видео. По моему так.
На втором видео это 19:35
________________ Понравилось моё сообщение?? Помог советом? СТАВЬ СПАСИБО Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Re: При многопоточном бруте индекс выходит за границы массива.
Есть такое словосочетание "Потокобезопасность"
Если ты просто делаешь integer++ - то ни о какой потокобезопастно нету и речи.
Тебе надо контролировать индекс, чтобы потоки получали не одинаковый и валидный индекс.
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
Re: При многопоточном бруте индекс выходит за границы массива.
Спасибо за ваши ответы!
Я понял только одно - если что-то хочешь сделать хорошо - нужно делать это самому ;-) Начну с однопоточного брута, разберусь нормально с ним (ато у меня сейчас и в однопоточном какой то косяк появился, когда я проверил достаточно большую базу, тоже что-то за границы массива выходит)
Потом отпишу, надеюсь вы мне поможете в написании многопоточного.
________________ Понравилось моё сообщение?? Помог советом? СТАВЬ СПАСИБО Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).