BinSearch

Тема в разделе "WASM.BEGINNERS", создана пользователем Flasher, 10 июл 2005.

  1. Flasher

    Flasher Member

    Публикаций:
    0
    Регистрация:
    31 янв 2004
    Сообщения:
    640
    Msdn молчит.

    Как я понял, это один из функций masm32.lib.

    Но чёт тут C:\masm32\M32LIB не нашёл исходник этой функции...

    У меня тут прога юзает эту функцию.

    Дайте плиз исходник, или может моно как-нить обойтись без неё?

    Спасибо.
     
  2. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
  3. Flasher

    Flasher Member

    Публикаций:
    0
    Регистрация:
    31 янв 2004
    Сообщения:
    640
    там-же вроди сравнение строк и т.д. :)cresta
     
  4. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
  5. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Flasher

    Где сравнение строк???



    leo

    Оказывается мы строки сравнивали :dntknw:

    А думали, что поиск делаем...



    Жизнь прожита зря, всё коту под хвост :dntknw:
     
  6. Flasher

    Flasher Member

    Публикаций:
    0
    Регистрация:
    31 янв 2004
    Сообщения:
    640
    cresta, ну я не много не точно выразился..., а так, всё равно при нахождении вам-же пришлось сравнивать чтоб найти нужную строку :))



    leo, спасибо за исходник, но прога серавно вылетает на нём.



    Пытаюсь получить dialup пароли по методике Stas'a, если не ошибаюсь, который кода-то выложил здесь исхоник подобной проги.



    Прошло кой какое время, и я каким-то способом получил вот такую строку 2A 00 00 00 34 39 34 32 37 30 00 31 36 30 30 00 37 00 00 00 64 61 72 76 69 6E 00 68 67 48 79 44 53 6B 39 00 00 30 00 00 00 00

    Теперь появился вопрос, как отсюда достать password ? :)
     
  7. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Flasher

    BinSearch ищет заданную последовательность байт в большом массиве байт. Но пароли она не достаёт.
     
  8. Flasher

    Flasher Member

    Публикаций:
    0
    Регистрация:
    31 янв 2004
    Сообщения:
    640
    cresta, яж не до такой степени ламак :)

    Вот код, который юзает BinSearch.



    [​IMG] _1111261875__pass.rar
     
  9. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Flasher

    Попробовал твою глисту - ничего не вылетает, правда, параметры какие-то странные в BinSearch передаются :)

    Одно из подключений у меня пустое, нет ни пароля, ни логина, так ты передаёшь в BinSearch для поиска пустую строку (надо бы проверить на длину, прежде чем передавать в поиск)

    При этом:


    Код (Text):
    1. 0040118F  |. 81EE 563D4000  |SUB ESI,TROJAN.00403D56
    2. 00401195  |. D1E6           |SHL ESI,1
    3. 00401197  |. 56             |PUSH ESI                      ;длина искомой строки
    4. 00401198  |. 68 0E364000    |PUSH TROJAN.[b]0040360E[/b]          ;адрес искомой строки
    5. 0040119D  |. 68 E8030000    |PUSH [b]3E8[/b]                      ;длина буфера
    6. 004011A2  |. FF35 0A364000  |PUSH DWORD PTR DS:[[b]40360A[/b]]    ;адрес буфера где ищется
    7. 004011A8  |. 6A 00          |PUSH 0
    8. 004011AA  |. E8 61020000    |CALL TROJAN.00401410




    По адресам буфера и искомой строки получается, что в буфере ищется подстрока из самого же буфера (перекрытие адресов). Результат будет всегда положительный (всегда будет найдена подстрока).



    Для второго подключения логин определила, а пароль - нет. Опять пустую строку ищет. (два нуля)

    И опять же в буфере ищется часть самого буфера :)

    Чего-то куда-то отослала.

    Если что интересное, верни назад :)
     
  10. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    При таком раскладе памяти и esi = 2 (длина искомого), BinSearch возвращает в eax 7.

    Хотя должна была вернуть 3. Т.к. кусок из двух нулей встречается с оффсета 3 относительно начала буфера - адреса 40360A.

    Налицо непорядок.


    Код (Text):
    1. 00403600  00 00 34 00 34 00 AE 35 40 00 30 E3 14 00 00 00  ..4.4.®5@.0г...
    2. 00403610  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    3. 00403620  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    4. 00403630  00 00 00 00 00 00 08 01 00 00 D2 E5 EB E5 EA EE  ........Телеко
    5. 00403640  EC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  м...............




    Ты бы глушил своего трояна, а то он нагружает систему не по детски, сразу в глаза бросается :)

    И Sleep не помогает...
     
  11. Flasher

    Flasher Member

    Публикаций:
    0
    Регистрация:
    31 янв 2004
    Сообщения:
    640
    cresta

    Не мой это троян ;)

    С этого форума скачивал :)

    Замучился я с этой прогой...

    Решил юзать исходники pinch'a, да оказалось, что получение pass'ов, на асме, а декриптор на дельфи :)







    [​IMG] 450982748__RAS.asm