Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Возможно ли вытащить нужные байты из раболтающего процесса? (https://forum.antichat.xyz/showthread.php?t=60081)

wlastas 27.01.2008 17:50

Возможно ли вытащить нужные байты из раболтающего процесса?
 
Привет всем
Возмодно запостил не на тот форум - попрате /направте если что не так

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

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

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


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

Exlibris 27.01.2008 18:03

хз, может тут что спалишь
1. Process Explorer скачать
2. Заходишь в него
3. Жмешь на любом процессе Properties -> Strings
--
Не уверен что прокатит

Joker-jar 27.01.2008 18:11

Цитата:

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

З.Ы. Хотя эффективнее дизассемблить клиента в твоем случае

Delimiter 27.01.2008 18:24

да уж.... задача аля реверс.... но в памяти, сути не меняет РЕВЕРС.
Ida+кракера мозги+Айс(если к компу физ.доступ)

LEE_ROY 27.01.2008 18:28

можно реверснуть клиент, и по найденному адресу считать нужную хэш, или еще проще отснифать пакеты передаваемые клиентом и через снифер все узнать или хукнуть винсок... вообщем вариантов много )

wlastas 27.01.2008 18:34

ничего не понимаю в хакинге))
Для виндовс вроде хорошая прога ollydbg)

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

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

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

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

Цитата:

Сообщение от LEE_ROY
можно реверснуть клиент, и по найденному адресу считать нужную хэш"

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

Цитата:

Сообщение от LEE_ROY
проще отснифать пакеты

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

Правка - осваивал теги форума)

wlastas 27.01.2008 18:37

Цитата:

Сообщение от Delimiter
да уж.... задача аля реверс.... но в памяти, сути не меняет РЕВЕРС.
Ida+кракера мозги+Айс(если к компу физ.доступ)

когда то давно видел эти проги - невпечетлило(( может конечно щас новые версии)

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

че такое РЕВЕРС?
я пишу сурогатного(альтернативно о) клиента для сервера. Он успешно прошёл авторизацию по протоколу SRP 6, но серер его не пускает по причине отсутвия правильного ответа, контролирующего версию и подлинность клиента

Delimiter 27.01.2008 18:46

Реверс ... это все что связано с восстановлением алгоритма диззассемблируя код!!!
ollydbg подойдет.... но им наверно чуть больше времени уйдет.
у IDA встроенный Си подобный язык..... если освоишь, будешь сильным 8)))) как Крис Касперски обещает

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

wlastas 27.01.2008 18:53

Цитата:

Сообщение от Delimiter
Реверс ... это все что связано с восстановлением алгоритма диззассемблируя код!!!
ollydbg подойдет.... но им наверно чуть больше времени уйдет.
у IDA встроенный Си подобный язык..... если освоишь, будешь сильным 8)))) как Крис Касперски обещает

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

моя задача вообще теоретически решаема?
Что если у клиента таблица слов (такаяже есть на сервере) в зависисмости от соли он выбирает слова из таблицы, после чего генерит хешь (я бы в своем клиенте так и зделал)
в итоге исследование будет давать резальтат только для текущего сеанса, и полученый кей ен подойдет для подсоединения сурогатным клиентом((

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

wlastas 27.01.2008 18:57

Цитата:

Сообщение от Joker-jar
ReadProcessMemory

З.Ы. Хотя эффективнее дизассемблить клиента в твоем случае

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

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

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

правка ща скачаю IDA Pro << подёт?

LEE_ROY 27.01.2008 19:01

адназначна нужен реверс, но если ты задаеш такой вопрос как - "какую программу посоветуете для дизассемблирования?" , ты сам ничего несделаеш, пиши в Работу и Услуги.

Delimiter 27.01.2008 19:03

СУРОГАТНЫЙ КЛИЕНТ!!!!

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

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


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

wlastas 27.01.2008 19:07

Цитата:

Сообщение от Delimiter
ВинАйс-ом проще брикпоинтить(останавливат ся по наступлению определенного события)

как точно называется программа?

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

wlastas 27.01.2008 19:11

Цитата:

Сообщение от lee_roy
адназначна нужен реверс, но если ты задаеш такой вопрос как - "какую программу посоветуете для дизассемблирования?" , ты сам ничего несделаеш, пиши в Работу и Услуги.

ок уже ищую этот раздел форума ))

Joker-jar 27.01.2008 19:11

wlastas, если в дебаге ноль, не думаю что что-то родишь ;)

wlastas 27.01.2008 19:15

Цитата:

Сообщение от Joker-jar
wlastas, если в дебаге ноль, не думаю что что-то родишь ;)

ну крекерами не раждаютцо) и я довольно сообразительный)) :rolleyes:
ваше-то наверно проще обратица к специалисту, но чтобы убедится в этом нужно всёже попробовать самому)))

Joker-jar 27.01.2008 19:17

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

wlastas 27.01.2008 19:36

Цитата:

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

протокол 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.)

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

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

wlastas 28.01.2008 04:45

Цитата:

Сообщение от Delimiter
СУРОГАТНЫЙ КЛИЕНТ!!!!
.... давай отреверси и посмотри насколько будет отличаться от моей схемы :D

установил IDA pro, подсоединился к сереру авторизировался...

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

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

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

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

Delimiter 28.01.2008 16:11

ну насколько я знаю.... сюда заходят люди с краклаба....
обратись с просьбой (ведь в ином случае тебе придется изучать и ассемблер и технологии реверса), но сразу нужно предупредить, "игра должна стоить свеч" , надеяться что ктото (из спецов)будет делать ради интереса бесполезно !

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

wlastas 28.01.2008 20:28

Цитата:

Сообщение от Delimiter
надеяться что ктото (из спецов)будет делать ради интереса бесполезно !

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

Ну понятно что не затак - главное чтоб нашлись люди которые ваще могут это сделать - раз это так сложно(
запостил на http://www.cracklab.ru - модет кто поможеть)


Время: 04:55