Сап мейлач. В C++ треде полтора анона, по этому попытаю удачу попросив помощи здесь. Я пытаюсь написать код который будет перехватывать отправку данных и отображать их в консоли в виде "0x10", "0x7f", "0x0D" и так далее.
Код для перехвата отправки и вывода вроде-как написан, но в правильности последнего я не уверен. Правильно ли написан код на первом скриншоте?
Под правильностью я имею ввиду чтобы в дальнейшем я мог сверить его с тем что находится в документации по протоколу игры и иметь какое-то представление что за данные были отправлены. Протокол для моей версии игры находится здесь https://wiki.vg/index.php?title=Protocol&oldid=7368.
>>235623740 Ну я так понимаю, что ты читы для онлайн игры пишешь, и хочешь менять нужные значения у клиента и передавать их на сервер. Я думаю у них есть защита от такого.
Занимаюсь реверсингом ~13 лет. ООП, гугли "dll injection github". Дальше, если ты будешь файловые дескрипторы анализировать, тебе нужно защититься от гонки. Мутекста достаточно будет.
>>235624256 Перехватываю вызов функции отправки данных и считываю буфер переводя его в вид 0x0C и тому подобного. Что в принципе и видно на первом скриншоте.
>>235624323 Для онлайн игры. Никакие значения я менять не хочу. Для начала мне нужно понять какие данные отправляются. Потом возможно просто буду предотвращать отправку неугодных мне данных. Как я это сделаю не важно, главное сейчас это вывод и протокол.
>>235624618 Я и так делаю при помощи загрузки своей DLL в процесс и перехвата функции отправки. О каких файловых дескрипторах идёт речь я не понимаю.
>>235621953 (OP) Кароч слушай сюда шкила. Пиздуешь щас в гугл, лолз, югейм, нахуй, етк. Берешь там исходники чита, расковыриваешь их, разбираешься чё там и как, переделываешь/модифицируешь/копипастишь под свои нужды. Всё. И не ебешь нам голову. Если ты даже ЭТО не сможешь, то уж тем более написать что-то своё с нуля. Ок? Ок.
Соре автор но ты тупой и лучше забей на свою идею. Без базовых знаний С++, реверса, winapi тебе тут делать нечего. Решишь эту проблему так потом застрянешь на другой и будешь опять ныть на дваче.
Твой код кривой по нескольким причинам: 1) Ты пишешь в консоль по нажатию кнопки и можешь пропустить кусок важных данных 2) Тебе надо брать не размер буффера а lpNumberOfBytesSent. Это число может быть меньше чем размер буффера. 3) Ты не разделяешь данные по сокетам, каждый сокет может быть предназначен для своих целей 4) Ты пишешь в консоль чем создаешь себе лаги. Гугли ProducerConsumer паттерн, пиши данные в свой буффер и в отдельном потоке выводи его в файл.
1. На данный момент я тестирую свой код в меню игры Minecraft. Я не нахожусь на сервере. При нажатии на кнопку "обновить" в списке серверов, игра посылает запросы. Перед нажатием кнопки я зажимаю боковую кнопку мыши, по этому ситуации когда какие-то данные проходят мимо быть не должно. 2. Переменная lpNumberOfBytesSent используется игрой для проверки на то, все ли данные были отправлены. В эту переменную записывается количество отправленных байт УЖЕ ПОСЛЕ того как данные отправились. Попытка отправить > отправка > запись количества переданных байтов в переменную > проверка количества переданных байтов. Если передано меньше то отправляются те которые не отправились. 3. Для WSASend используется один сокет, для WSARecv используется другой. Я использую перехват функции WSASend, так что никакого разделения пока не требуется. 4. Мне удобнее писать в консоль.
>>235625929 Я уже давно знаю информацию которая ищется по таким запросам. То что я делаю сейчас совершенно по другому реализовано и исходников похожих на то что я делаю я ещё не встречал.
>>235627270 >>235627216 Нихуя ты не знаешь, кому ты тут пиздеть пытаешься? Если бы ты знал, ты не задавал тупых вопросов тут. У тебя элементарно не хватает мозгов скопипастить/модифицировать ввод/вывод из чужих исходников. Я хуею с этой дуры
>>235627910 Я тебе ещё раз говорю, там реализация другая. То что я делаю совершенно иное. Ты не писал конкретно для этой игры ничего и пытаешься сейчас ничего не зная утверждать.
>>235628025 Вы не понимаете это другое! Я не такой как все я делаю по иному! Ещё раз тебе говорю школьник ебучий. Всё уже давно придумано и сделано до тебя. То, что ты там пытаешься свой велосипед изобрести лишь говорит о недостатке у тебя ума. Я не против на самом деле - ебись сколько влезет, можешь дрочить вприсядку пока не надоест. В итоге ты в любом случае сделаешь как я писал выше. Нам только голову не еби, съеби уже. У меня всё.
>>235628364 >>235628384 Биба и боба, два долбаеба. Один считает что двач весь для него создан, другой не понимает что подгрузка класса при помощи вызова функции из jvm на С++ не то же самое что хук отправки данных.
>>235630309 Кнопка обновить просто для тестов. Она обновляет сервера, посылая им запросы. Можно и на сервере тестировать, но там передаётся крайне много данных. Так проще. Мне нужно понять где конкретно указывается что это за пакет данных чтобы иметь возможность детектить неугодные мне пакеты и отсеивать их. Отсеивания я уже сам сделаю, нужен лишь детект.
>>235630428 Иконка java потому что я создал консоль в этом же процессе.
>>235631211 Да забей, тут ебланы сидят. который сами нихуя не могут и горят. Дельных советов от спеца тут вряд ли найдешь, попробуй на форумах поспрашивать.
>>235631386 >Да забей, тут ебланы сидят. который сами нихуя не могут и горят. Дельных советов от спеца тут вряд ли найдешь, попробуй на форумах поспрашивать.
>>235631447 Ну фонтуна не на твоей стороне сегодня значит. Выше анон что-то писал похожее на правду, но потом стал желчь изливать, что подталкивает сомневаться в его словах. А второй вообще вайпит зачем то, не так часто такие треды бывают, лучше бы биопроблемники вайпил. Жаль, что я тебе помочь не могу, т.к только начал свой вкат в байтоебство. Раньше писал на Си, но жизнь и рыночек вынудил выучить и писать на php. Планирую в реверс вкатиться как хобби.
>>235631801 >Выше анон что-то писал похожее на правду Ты про то что можно искать чужие читы на C++ для Minecraft и изучать? Я не говорил что это не будет работать. Дело в том что реализации таких читов основываются либо на перехвате подгрузки jar файла (перехват на C++, чит на java), либо на вызов функции подгрузки класса из jvm.dll (вызов на C++, чит на java), либо лютая ебень с jna. То что я делаю совершенно другое и тот анон почему-то подумал что знает больше чем я.
>>235632223 Ну в любом случае удачи тебе с этим, надеюсь у тебя получится. Свои велосипеды писать это круто, да и в качестве обучения тоже неплохо. Ты вообще кем рабоьаешь?
>>235621953 (OP) Вот тебе и двач, вот тебе и свободное общение где каждый тред портит своим флудом дикая пидорашка, а нерусь носатая ничего не делает. У меня три треда так засагали уже
также есть сомнения в том, что зажав кнопку, ты перехватишь все пакеты. Там могут быть всякие асинхронные вызовы и прочая многопоточность, лучше бы выводил безусловно в файл, что ли
>>235633101 Нет, не пробовал. Сейчас установлю и проверю. Спасибо.
>>235633275 У меня стоит перехват функции WSASend. Любые данные которые пытается отправить клиент игры сначала записываются в консоль а потом уже отправляются.
>>235634065 У меня сейчас идёт перехват только отдачи. Если консоль маленькая то появляется скроллбар, без всяких переносов на новую строку. На новой строке - новые данные.
>>235634158 я к тому, что данные могут посылаться за несколько вызовов WSASend и соответственно по-разному разбиваться по потокам\пакетам, крч смотри сам, но имхо, разделение по вызовам WSASend при выводе было бы нагляднее
>>235634215 а, лол, они еще могут по разному упаковываться, надо протокол смотреть, как там передается big-endian или little-endian, или можт еще как то
>>235634414 сори, в шары доблюсь, не увидел cout << endl. я бы только еще один добавил, чтобы разделять длинные пакеты и короткие визуально, но это уже вкусовщина
>>235634555 а ты скрин полностью покажи, у IP пакетов же куча заголовков\инкапсуляций, в packet details ищи там, где data - это должны быть чистые данные
>>235635088 https://habr.com/ru/news/t/532968/ >Компания Google извинилась за доставленные неудобства и подтвердила, что причина неисправности скрывалась в службе аутентификации. Она отключилась в 14:47 по московскому времени и «лежала» ¾ часа из-за внутренних проблем квоты хранилища. В 15:32 МСК проблема была решена, и сервисы Google заработали.