Dephi, Synapse, брут многопоточный

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ky_kask, 12 Apr 2012.

  1. ky_kask

    ky_kask Member

    Joined:
    18 Nov 2009
    Messages:
    73
    Likes Received:
    81
    Reputations:
    6
    исходник. Прога мучает админки Joomla на предмет подходящего пароля.
    Может полезен будет. синапс в архиве.

    http://ky-kask.ru/Project1.zip

    Замечания по адекватности кода принимаются
     
  2. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Сам код лучше не писать в юните формы\консольного приложения, отступы я не заметил.
    Рез(тело ответа) лучше писать не DataStream а в переменную RawByteString а потом ее перегонять в нужный тип, экономия памяти.
    Это если ты не файлы качаеш.
    У меня или куски переносов сожрало или ты реально в коде пишешь так.
    Code:
    var x,pass2,ad:string; httpsend: THTTPSend; Data:TStringStream;
    Так делать не стоит когда код людям показываешь.
    Мб и тебе так удобно но я поначалу думал что это арг функц.
     
    #2 mironich, 12 Apr 2012
    Last edited: 12 Apr 2012
    1 person likes this.
  3. ky_kask

    ky_kask Member

    Joined:
    18 Nov 2009
    Messages:
    73
    Likes Received:
    81
    Reputations:
    6

    отступы это
    Begin
    [TAB] код
    end

    ?

    файлы там не качаются)

    в ПМ отписал
     
    #3 ky_kask, 12 Apr 2012
    Last edited: 12 Apr 2012
  4. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Короч суть была не в этом немного я запутал, работать с ответам перегнаным в тип RawByteString стоит когда ты не работаеш с большими обьемами данных как то так.
    Отступы как в стандарте по два пробела для блока кода.
    Это конечно на любтеля и.т.д но лучше вместо.
    Result:='FAIL';
    так.
    Result := 'FAIL';
    Зачем использовать string в кач-ве рез возвращаемого функц.
    check
    Там вроде и Boolean пойдет на крайняк свой перечисляемый.
    TstringList
    Для работы с норм списками не ок все грузит в память, как следствие на норм обьемах будет висеть.
     
    #4 mironich, 12 Apr 2012
    Last edited: 12 Apr 2012
  5. ky_kask

    ky_kask Member

    Joined:
    18 Nov 2009
    Messages:
    73
    Likes Received:
    81
    Reputations:
    6
    Srtring на случай использования прокси, например) Проще ведь написать 'PROXY ERR' чем с цифрами мучаться

    А вот про отступы учту.. не знал, что это стандарт такой)
     
  6. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    type
    FuncRes = (Okay, Fail, ProxyErr);
    Вот и все :)
    И не надо мучаться с цифрами,
    DataStream для пост дата не ок, удобно но лишняя память занимаеться.
    Нагугли стандарты оформления кода Delphi, читаю раз в неделю, сверяя со своим кодом.
     
    #6 mironich, 12 Apr 2012
    Last edited: 12 Apr 2012
    1 person likes this.
  7. ky_kask

    ky_kask Member

    Joined:
    18 Nov 2009
    Messages:
    73
    Likes Received:
    81
    Reputations:
    6
    Да, определенно проще)
    А на размер скомпиленной проги это никак не повлияет?
     
  8. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    ну если ты не пишеш прогу на конкурс "самый маленький консольный брут на делфи", то особо нет.
    Зы если Delphi7 то для чтения записи в поток в модуле SynaUtils есть две удобные функц ReadFromSream, WriteFromStream(точно не скажу)
     
    #8 mironich, 12 Apr 2012
    Last edited: 12 Apr 2012
  9. ky_kask

    ky_kask Member

    Joined:
    18 Nov 2009
    Messages:
    73
    Likes Received:
    81
    Reputations:
    6

    погуглю
     
  10. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Code:
    pos('Set-Cookie:',x)<>0)
    Перед этим, Headers.NameValuesSeperator(':');
    Не ок,
    Code:
    if Headers.IndexOfName('Set-Cookie') <> 0//..
    gzip как я понял не используеться как я понял?
    Тож не ок.
    Давай переменным человеческие имена(вместо x чтонебудь вменямое).
    Коментарии к функц, и к непонятным моментам тож важно(непонятным для других людей(использование нестандартных решений)).
    Статический юзер агент, отсутстфие реферера не ок, мб я реферер прост не увидел.
    Статический размер массива не оч. хорошо, лучше динамический и выставлять длину в зависимости от кол-ва потоков.
     
    #10 mironich, 12 Apr 2012
    Last edited: 12 Apr 2012
  11. ky_kask

    ky_kask Member

    Joined:
    18 Nov 2009
    Messages:
    73
    Likes Received:
    81
    Reputations:
    6
    Знаю их) Удобные вещи, когда работаешь с чем угодно. Но если потрошишь HTTP, то не проще ли использовать функции предназначенные как раз для этого? Кроме того, у джумлы же и куки есть
     
  12. ky_kask

    ky_kask Member

    Joined:
    18 Nov 2009
    Messages:
    73
    Likes Received:
    81
    Reputations:
    6
    вот стандарты оформления мну убили... Бох ты мой 0_0. благодарю, Мироныч) . буду знать, они существуют)
     
  13. ky_kask

    ky_kask Member

    Joined:
    18 Nov 2009
    Messages:
    73
    Likes Received:
    81
    Reputations:
    6
    Если не его, то кого же использовать?
    TmemoryStream?
     
    #13 ky_kask, 12 Apr 2012
    Last edited: 12 Apr 2012
  14. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    TFileStream
     
    2 people like this.
  15. ky_kask

    ky_kask Member

    Joined:
    18 Nov 2009
    Messages:
    73
    Likes Received:
    81
    Reputations:
    6
    А там предел (для x86) где то в районе 2Гб...Насколько я помню)

    знатно) надо приучиться к нему)
     
  16. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Можно обойти, теоретически, ну и овер 2г. это опасный брут, а так соурс в 100м. стринг лист выплюнет(тормозить будет).
     
  17. ky_kask

    ky_kask Member

    Joined:
    18 Nov 2009
    Messages:
    73
    Likes Received:
    81
    Reputations:
    6
    в 100мб?? ну это еще наковырять такое надо..


    Пошел читать оформление. И про TFileStream тоже хорошо. попробую)
     
  18. Mdccalex

    Mdccalex New Member

    Joined:
    30 Oct 2013
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Зарегился на этом форуме для того чтоб решить свою проблему,так как купил софт у ресселера ТС,оплатил 150$ вперёд ,150 должен после теста,протестировав софт пришёл к выводу что он неработает вообще как договорено при покупке,3 недели его ресселер компосирует мозги, не может решить проблему и я вижу не хочет,логи разговоров скину кому надо.Помогите решить вопрос.
     
  19. fl00der

    fl00der Moderator

    Joined:
    17 Dec 2008
    Messages:
    1,027
    Likes Received:
    311
    Reputations:
    86
    У кого исходник сохранился?
    Глянул бы, интересно.
     
    _________________________
  20. Mdccalex

    Mdccalex New Member

    Joined:
    30 Oct 2013
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    вопрос решён)