Привет всем Возмодно запостил не на тот форум - попрате /направте если что не так есть локальный клиент (с++ компилированный .exe фал весом 5мб, к его телу и оперативной памяти при его работае есть полный доступ) Клиент получает от сервра 16 битный SALT(он заранее известен - я сам его посылаю) , по неисвестному алгоритму обьединяет его с последовательностью неизвестных байт KEY (кодовое слово?), после чего генерит из полученого 20 битный хешь crc_hash (SHA1). Хешь отсылается на сервер и его я тоде знаю. ВОПРОС можно какими либо средствами изучить адресное пространство памяти клиента, и все операции с SALT сразу после его получения, для того чтобы выяснить KEY и алгоритм его объединения с SALT ? (либо проследидить действия клиента в обратном порядке (хз - так ваще возможно?) сразу после генерации им crc_hash) ПОдскажите доки, киньте сслкой и ваще посоветуйте - можно ли хотябы побытаться или ваще безнадёга) PS вариант с перебором явно не подходит - кей скорее всего большой и взломоустойчивый - его не вводит пользователь - он специально создан для защиты клиента
хз, может тут что спалишь 1. Process Explorer скачать 2. Заходишь в него 3. Жмешь на любом процессе Properties -> Strings -- Не уверен что прокатит
да уж.... задача аля реверс.... но в памяти, сути не меняет РЕВЕРС. Ida+кракера мозги+Айс(если к компу физ.доступ)
можно реверснуть клиент, и по найденному адресу считать нужную хэш, или еще проще отснифать пакеты передаваемые клиентом и через снифер все узнать или хукнуть винсок... вообщем вариантов много )
ничего не понимаю в хакинге)) Для виндовс вроде хорошая прога ollydbg) скачал ollydbg запустил клиента приатачился к нему ollydbg зашел клиентом на сервер - передал Salt клиент сгенерил ответ и отдал на сервер в ollydbg искал обе последовательности байтов - фик чего)) Вроде как к ollydbg есть куча плагин - может надо чё доставить - отсюда поподробней... Хешь который он сгенерит я и так знаю и знаю соль, которую он использует для генерации хеша. НЕ ЗНАЮ, что он прибаляет к соли чтоб сгенериь хешь. Мне нужно как секретное слово (слова, таблица слов - хз что там у него) и алгоритм по которому он их обьединяет с солью все пакеты известны - у меня на локальном компутере и сервер и клиент - тоесть то что я отправляю клиетом- я сам и генерю а он отправлет всё мнеже Правка - осваивал теги форума)
когда то давно видел эти проги - невпечетлило(( может конечно щас новые версии) ollydbg подойдёт для этих целей? че такое РЕВЕРС? я пишу сурогатного(альтернативного) клиента для сервера. Он успешно прошёл авторизацию по протоколу SRP 6, но серер его не пускает по причине отсутвия правильного ответа, контролирующего версию и подлинность клиента
Реверс ... это все что связано с восстановлением алгоритма диззассемблируя код!!! ollydbg подойдет.... но им наверно чуть больше времени уйдет. у IDA встроенный Си подобный язык..... если освоишь, будешь сильным 8)))) как Крис Касперски обещает ВинАйс-ом проще брикпоинтить(останавливаться по наступлению определенного события)
моя задача вообще теоретически решаема? Что если у клиента таблица слов (такаяже есть на сервере) в зависисмости от соли он выбирает слова из таблицы, после чего генерит хешь (я бы в своем клиенте так и зделал) в итоге исследование будет давать резальтат только для текущего сеанса, и полученый кей ен подойдет для подсоединения сурогатным клиентом(( Мне нужно подсоединится к сереру имено моим клиентом.....
в этом случае я получу клиента в машинных кодах, которым я смогу подсоединятся к серверу и в нужный момент (при получении соли) смогу проследить что с этой солью клиент делает? вообще теоретически моя задача решаема? какую программу посоветуете для дизассемблирования? правка ща скачаю IDA Pro << подёт?
адназначна нужен реверс, но если ты задаеш такой вопрос как - "какую программу посоветуете для дизассемблирования?" , ты сам ничего несделаеш, пиши в Работу и Услуги.
СУРОГАТНЫЙ КЛИЕНТ!!!! Думаю он еще кореллируется текущим портом 8))) я бы так и сделал параметр уникалится... и получается в момент FD_ACCEPT ... соответственно он божет быть ключем(например в текстовом представлении) для к примеру стандартному блочному 2fish...в итоге шифрования простейшего слова "пароль" получаем XOR строку для шифрования..... .... давай отреверси и посмотри насколько будет отличаться от моей схемы
как точно называется программа? ВинАйс это архиватор вроде как - вы имели в виду SoftIce 4.05 for Win 9x (5223 Кб)?
ну крекерами не раждаютцо) и я довольно сообразительный)) ваше-то наверно проще обратица к специалисту, но чтобы убедится в этом нужно всёже попробовать самому)))
Ты откуда вообще спецификацию протокола взаимодействия гребешь? Если есть документация, то там должна быть описана эта аутентификация
протокол 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.) Никаких данных о методе генерации ответа не сушествет. Аналогичный самописный клиент от другой каманды также не имеет механизма генерации ответа на запрос подлинности. я изучал форумы по этому вопросу - довольноизвесный програмер и автор сурогатного сервера отписал что у него был клиент, подсоединяющийся к офф сереру, но с новым патчем он перестал работать
установил IDA pro, подсоединился к сереру авторизировался... этой мега программой сразу нашел и соль и хешь)) хехе я нихрена не понимаю в ассемблере и жуткие ломы с этим разбираться((( Допустим я разберусь с ассемблером и найду то число, которое соединяется с солью. И оно будет правильный для данного сеанса связи. При повторном соединении я опять наду ключ с помошью IDA pro - но он будет уже другим (допустим выборка по таблице слов, заранее известных серверу и клиенту по функции от соли) Смогу-ли я, использую только дизассемблер, выяснить закон и увидеть блок памяти содержаший допустим слова? И если да, то насколько это сложно? Вообще эта задача требует высокой квалификации и большого практического опыта или она решается довольно просто? Сколько может занять времени нахождение алгоритма у проффесионала? Может кто посоветует к кому можно обратится?
ну насколько я знаю.... сюда заходят люди с краклаба.... обратись с просьбой (ведь в ином случае тебе придется изучать и ассемблер и технологии реверса), но сразу нужно предупредить, "игра должна стоить свеч" , надеяться что ктото (из спецов)будет делать ради интереса бесполезно ! P.s. разбираться в логике дизассемблируя - это уровень суперспеца!