Возможно ли вытащить нужные байты из раболтающего процесса?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by wlastas, 27 Jan 2008.

  1. wlastas

    wlastas New Member

    Joined:
    27 Jan 2008
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Привет всем
    Возмодно запостил не на тот форум - попрате /направте если что не так

    есть локальный клиент (с++ компилированный .exe фал весом 5мб, к его телу и оперативной памяти при его работае есть полный доступ)
    Клиент получает от сервра 16 битный SALT(он заранее известен - я сам его посылаю) , по неисвестному алгоритму обьединяет его с последовательностью неизвестных байт KEY (кодовое слово?), после чего генерит из полученого 20 битный хешь crc_hash (SHA1). Хешь отсылается на сервер и его я тоде знаю.

    ВОПРОС
    можно какими либо средствами изучить адресное пространство памяти клиента, и все операции с SALT сразу после его получения, для того чтобы выяснить KEY и алгоритм его объединения с SALT ?
    (либо проследидить действия клиента в обратном порядке (хз - так ваще возможно?) сразу после генерации им crc_hash)

    ПОдскажите доки, киньте сслкой и ваще посоветуйте - можно ли хотябы побытаться или ваще безнадёга)


    PS вариант с перебором явно не подходит - кей скорее всего большой и взломоустойчивый - его не вводит пользователь - он специально создан для защиты клиента
     
  2. Exlibris

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

    Joined:
    26 Feb 2007
    Messages:
    359
    Likes Received:
    394
    Reputations:
    27
    хз, может тут что спалишь
    1. Process Explorer скачать
    2. Заходишь в него
    3. Жмешь на любом процессе Properties -> Strings
    --
    Не уверен что прокатит
     
    1 person likes this.
  3. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    ReadProcessMemory

    З.Ы. Хотя эффективнее дизассемблить клиента в твоем случае
     
    #3 Joker-jar, 27 Jan 2008
    Last edited: 27 Jan 2008
    1 person likes this.
  4. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    да уж.... задача аля реверс.... но в памяти, сути не меняет РЕВЕРС.
    Ida+кракера мозги+Айс(если к компу физ.доступ)
     
  5. LEE_ROY

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

    Joined:
    9 Nov 2006
    Messages:
    450
    Likes Received:
    188
    Reputations:
    26
    можно реверснуть клиент, и по найденному адресу считать нужную хэш, или еще проще отснифать пакеты передаваемые клиентом и через снифер все узнать или хукнуть винсок... вообщем вариантов много )
     
  6. wlastas

    wlastas New Member

    Joined:
    27 Jan 2008
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    ничего не понимаю в хакинге))
    Для виндовс вроде хорошая прога ollydbg)

    скачал ollydbg
    запустил клиента
    приатачился к нему ollydbg

    зашел клиентом на сервер - передал Salt клиент сгенерил ответ и отдал на сервер

    в ollydbg искал обе последовательности байтов - фик чего))

    Вроде как к ollydbg есть куча плагин - может надо чё доставить

    - отсюда поподробней... Хешь который он сгенерит я и так знаю и знаю соль, которую он использует для генерации хеша. НЕ ЗНАЮ, что он прибаляет к соли чтоб сгенериь хешь. Мне нужно как секретное слово (слова, таблица слов - хз что там у него) и алгоритм по которому он их обьединяет с солью

    все пакеты известны - у меня на локальном компутере и сервер и клиент - тоесть то что я отправляю клиетом- я сам и генерю а он отправлет всё мнеже

    Правка - осваивал теги форума)
     
    #6 wlastas, 27 Jan 2008
    Last edited: 27 Jan 2008
  7. wlastas

    wlastas New Member

    Joined:
    27 Jan 2008
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    когда то давно видел эти проги - невпечетлило(( может конечно щас новые версии)

    ollydbg подойдёт для этих целей?

    че такое РЕВЕРС?
    я пишу сурогатного(альтернативного) клиента для сервера. Он успешно прошёл авторизацию по протоколу SRP 6, но серер его не пускает по причине отсутвия правильного ответа, контролирующего версию и подлинность клиента
     
    #7 wlastas, 27 Jan 2008
    Last edited: 27 Jan 2008
  8. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    Реверс ... это все что связано с восстановлением алгоритма диззассемблируя код!!!
    ollydbg подойдет.... но им наверно чуть больше времени уйдет.
    у IDA встроенный Си подобный язык..... если освоишь, будешь сильным 8)))) как Крис Касперски обещает

    ВинАйс-ом проще брикпоинтить(останавливаться по наступлению определенного события)
     
    1 person likes this.
  9. wlastas

    wlastas New Member

    Joined:
    27 Jan 2008
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    моя задача вообще теоретически решаема?
    Что если у клиента таблица слов (такаяже есть на сервере) в зависисмости от соли он выбирает слова из таблицы, после чего генерит хешь (я бы в своем клиенте так и зделал)
    в итоге исследование будет давать резальтат только для текущего сеанса, и полученый кей ен подойдет для подсоединения сурогатным клиентом((

    Мне нужно подсоединится к сереру имено моим клиентом.....
     
  10. wlastas

    wlastas New Member

    Joined:
    27 Jan 2008
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    в этом случае я получу клиента в машинных кодах, которым я смогу подсоединятся к серверу и в нужный момент (при получении соли) смогу проследить что с этой солью клиент делает?

    вообще теоретически моя задача решаема?

    какую программу посоветуете для дизассемблирования?

    правка ща скачаю IDA Pro << подёт?
     
    #10 wlastas, 27 Jan 2008
    Last edited: 27 Jan 2008
  11. LEE_ROY

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

    Joined:
    9 Nov 2006
    Messages:
    450
    Likes Received:
    188
    Reputations:
    26
    адназначна нужен реверс, но если ты задаеш такой вопрос как - "какую программу посоветуете для дизассемблирования?" , ты сам ничего несделаеш, пиши в Работу и Услуги.
     
  12. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    СУРОГАТНЫЙ КЛИЕНТ!!!!

    Думаю он еще кореллируется текущим портом 8))) я бы так и сделал параметр уникалится... и получается в момент FD_ACCEPT

    ... соответственно он божет быть ключем(например в текстовом представлении) для к примеру стандартному блочному 2fish...в итоге шифрования простейшего слова "пароль" получаем XOR строку для шифрования.....


    .... давай отреверси и посмотри насколько будет отличаться от моей схемы :D
     
  13. wlastas

    wlastas New Member

    Joined:
    27 Jan 2008
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    как точно называется программа?

    ВинАйс это архиватор вроде как - вы имели в виду
    SoftIce 4.05 for Win 9x (5223 Кб)?
     
  14. wlastas

    wlastas New Member

    Joined:
    27 Jan 2008
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    ок уже ищую этот раздел форума ))
     
  15. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    wlastas, если в дебаге ноль, не думаю что что-то родишь ;)
     
  16. wlastas

    wlastas New Member

    Joined:
    27 Jan 2008
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    ну крекерами не раждаютцо) и я довольно сообразительный)) :rolleyes:
    ваше-то наверно проще обратица к специалисту, но чтобы убедится в этом нужно всёже попробовать самому)))
     
  17. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    Ты откуда вообще спецификацию протокола взаимодействия гребешь? Если есть документация, то там должна быть описана эта аутентификация
     
  18. wlastas

    wlastas New Member

    Joined:
    27 Jan 2008
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    протокол SRP 6 - собственно вот и спецификация
    клиент уже написан и усешно авторизируется на сурогатном сервере (он не проверяет подлинность но полностью реализует SRP 6).

    На сурогатном же серере успешно авторизируется поллинный клиент

    сурогатный клиент усешно проходит авторизацию, но не проходит тест подлинности именно из за описаной проблемы. (CE_WRONG_BUILD_NUMBER=0x09, Unable to validate game version. This may be caused by file corruption or the interference of another program.)

    Никаких данных о методе генерации ответа не сушествет. Аналогичный самописный клиент от другой каманды также не имеет механизма генерации ответа на запрос подлинности.

    я изучал форумы по этому вопросу - довольноизвесный програмер и автор сурогатного сервера отписал что у него был клиент, подсоединяющийся к офф сереру, но с новым патчем он перестал работать
     
  19. wlastas

    wlastas New Member

    Joined:
    27 Jan 2008
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    установил IDA pro, подсоединился к сереру авторизировался...

    этой мега программой сразу нашел и соль и хешь))
    хехе я нихрена не понимаю в ассемблере и жуткие ломы с этим разбираться(((

    Допустим я разберусь с ассемблером и найду то число, которое соединяется с солью. И оно будет правильный для данного сеанса связи.
    При повторном соединении я опять наду ключ с помошью IDA pro - но он будет уже другим (допустим выборка по таблице слов, заранее известных серверу и клиенту по функции от соли)

    Смогу-ли я, использую только дизассемблер, выяснить закон и увидеть блок памяти содержаший допустим слова? И если да, то насколько это сложно?
    Вообще эта задача требует высокой квалификации и большого практического опыта или она решается довольно просто?

    Сколько может занять времени нахождение алгоритма у проффесионала? Может кто посоветует к кому можно обратится?
     
  20. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    ну насколько я знаю.... сюда заходят люди с краклаба....
    обратись с просьбой (ведь в ином случае тебе придется изучать и ассемблер и технологии реверса), но сразу нужно предупредить, "игра должна стоить свеч" , надеяться что ктото (из спецов)будет делать ради интереса бесполезно !

    P.s. разбираться в логике дизассемблируя - это уровень суперспеца!