Перейти к содержанию

temtriss

Пользователи+
  • Публикаций

    166
  • Зарегистрирован

  • Посещение

  • Победитель дней

    7

temtriss стал победителем дня 15 октября 2018

temtriss имел наиболее популярный контент!

Репутация

46 Rookie

1 Подписчик

Информация о temtriss

  • Звание
    Спамер

Информация

  • Пол
    Array

Посетители профиля

2 996 просмотров профиля
  1. Ну как ты говоришь, игра синхронизируется с сервером. То каким образом тебе поможет подмена пакетов? Ну купил ты к примеру что-то за бабки. Отправил пакет о покупке на сервер. Сервер получил пакет, чекнул твою валюту, у тебя её нету и соответственно послал тебя нафиг. Если подменишь посыл сервера, то это даст только визуальный эфект(и то не факт), ты получишь предмет, которого по факту у тебя нет. И соответсвенно работать он не будет.
  2. Всем спасибо, последняя идея сработала) т.к. функция не использует std::string как std::string Типо так: Сорян, зря открыл тему.
  3. Всем привет :)) Кто может подсказать, возникла необходимость вызвать функцию которая принимает std::string как параметр... Естественно просто подсунуть ей std::string не получится(на сколько мне известно, реализация зависит от кучи факторов, версии компилятора, флагов, погоды :D) по этому они будут отличатся. this ptr у меня есть :)) Я чуток по отлаживал. В моей МСВЦ 2019 std::string строка или указатель на строку находится сразу в std::string В игре же +0x4 так что исходя из этого, получается a2 - что-то... а3 строка или указатель на строку в зависимости от размера строки. > 16 указатель, <=16 строка а8 - размер строки далее вторая std::string чисто технически, я могу вручную вызвать все проверки из этой функции в своём коде и вызвать евент т.к. он вызывается чуть ниже(я уже это сделал, но без всех этих проверок очень легко уронить игру) но кода тут очень много в функции, по этому хотелось бы как-то обойтись) Не кто попадал в подобную ситуацию? чисто технически отработает ли это если я просто подсуну в а3 и а10 char* а, в а8 и а15 strlen на эти строки? P.S. последняя мысль пришла в голову пока писал пост, сейчас пойду опробую
  4. ну да, тут больше нужен ассемблер) Я бы сказал больше всего нужен ассемблер) Так что книги по асму в руки и вперед, далее посоветовал бы почитать про реверсинг, что то типо IDA Pro The Book. По поиску уязвимостей и прочего. На русском языке ты мало чего найдешь, большество информации на английском... Как-то так))
  5. Всем спасибо, решение нашел сам. Если кому-то интересно: Я расширял стэк в своей функции и по хз какой причине на Win 10 это работало нормально, а на win 2012 Server нет. Я сделал патч на расширение стека в оригинальной функции вместо sub esp, 0c пропатчил на sub esp, 10 А в своей функции соответсвенно убрал расширение стека. И всё заработало))) больше 2х недель мучался :DDD В общем тему можно закрыть! Всем спс :)))
  6. Я и так не накосячил со стеком))) я проверял) Да и сложно ошибится, расширил стэк на 4 и почистил на 4 больше)) всё) Темболее, что функция работает. Проблемы с стэком точно нет) Это не совсем хук, я просто внедряю кусок кода. Мне не нужно переписывать всю функцию. Мне нужен маленький кусочек. Когда я переписываю полностью функцию, я так и делаю. А так же какая разница? Я могу так же юзануть detours только вот нечего не поменяется... у меня нету конвенции вызова у функции т.к. она мне не нужна... мне нужно записать из есх(GAntityActor) + HP, MP, STA offset значение)) все... изобретать велосипед не хочется функция и так готовая) И ей абсолютно паралельно сколько байт отправлять(структура кладётся в SingleBlob, функция просто выделяет память и с помощью memcpy копирует то, что ей скормили с проверкой размера < 1024)
  7. Даа) sol мощная либа, пару раз юзал)) Но ИМХО C++ ,SWIG + Python круче)) Ну это чисто ИМХО)) P.s. сори за офтоп.
  8. Ох, как давно меня тут небыло) Всем здарово, кто меня помнит В общем дело такое, занимаюсь в данный момент игрой, расширяю функционал клиентской и серверной части. Столкнулся с некой проблемой: Игра работает с ХП/МП/Стаминой с int32, как клиентская так и серверная часть. Но какого-то беса разрабы решили, в пакетах отправлять int16. Исходников естесвенно нету, но есть ИДА и желание этим заниматся :)) Я нашел функцию в клиентской и серверной части. Переписал полностью клиентскую, и чуток изменил серверную. Ниже по спойлером серверная функция. С которой возникли некоторые проблемы. Сервер прекрасно работает и отправляет мне пакет с int32 параметрами. Клиент так же на ура их принимает и всё работает. И на моей машине проблем нету. Так же держатель сервера тестил на своей локальной машине и так же не каких проблем. А вот при запуске на сервере, при смене локации падает сервак.(после этого тестили ещё на 3-4 машинах под WIn10, на всех работает нормально, сервер под Win2012 Server) В общем что я сделал в данной функции. Я иньекчу кусочек кода __declsepc(naked) функцию в получение параметров movzx eax, word ptr [ecx+1D8h] Вот пример моей функции. Увиличивая стэк, что бы влезла структура с х3 int32(12), оригинальная структура х3 int16(6), но компилятор вырвнял ее до 8)) sub esp, 4 достаточно Далее вношу полные параметры и пушу параметр для new и соответственно прыгаю обратно на new Таже делаю 2 патча небольших, а именно патчу размер структуры тут: push 6 ; size lea ecx, [esp+0Ch] ; Load Effective Address push ecx ; tTD_UPDATE_SIMPLE_STATUS mov ecx, eax ; this call ??0MCommandParameterSingleBlob@minet@@QAE@PBXG@Z вместо 6 пушу 12, можно конечно и бинарник пропатчить, но я в любом случае иньекчусь в процесс, так что без разницы. Ну и поменял пару смешений относительно стека далее по коду и очистку стека. Как я и говорил выше, это прекрасно отработало на всех компах, которых мы тестили под управлением Windows10. Самый интересный момент, сервер плюет exception по адресу, на котором он быть не должен, да и сам exception code странный, не смог его не нагуглить, не error lookup не чего не выдал: 40010006 Так же самая большая странность, если открыть на сервере Вижал студию и присоеденить её как отладчик до ексепшена или во время, то студия не выдаёт ошибок или чего-то еще, а просто продолжает процесс без каких либо проблем. И сервер спокойно работает и проблема исчезает. Но как по мне странно запускать сервер и вешать на него студию в дебаг моде :DDD Может у кого-то вылезал подобный ексепшн или кто-то сталкивался с такой дичью? Всем спс :)) P.s. отлаживать постоянно сервак возможности нету. p.s.s свой Exception handler писал, устанавливал и хукал SetUnhandledExceptionFilter что бы не переставили) Но почему-то результата это не дало. Он не отработал, хотя на Access Violation(специально подстроеный) плюнул мой обработчик.
  9. Я понимаю, попробую набратся сил и записать. А то я за неделю 16 часов поспал((( Сегодня высплюсь и завтра на свежую голову попробую все записать
  10. Честно, учитывая выход Fallout 76 и завала на работе, я чувствую, что вообще подзабью на это дело, но это пока не точно
  11. К сожалению не успел записать урок, но полностью подготовил материал. Если на неделе будет свободное время, то запишу. Надеюсь, что найду время до выходных
  12. Новый видосик в разделе видео! :))
  13. К моему величайшему сожалению, в связи с печальными обстоятельствами(жена попала в больницу :((( ) на этой неделе я не успел подготовить урок и соответственно записать, да и так как ребенок полностью на мне, записать даже готовый материал было бы очень проблематично. Так что надеюсь на неделе наверстать упущенное, и к след. выходным сделать несколько уроков сразу(да и выходные вроде длинные будут - 3 дня).
  14. Вышел новый урок! Кому интересно на форуме в видео! Новое качество звука! Новое оформление канала, новое качество видео! Огромное спасибо за помощь @vagingameh И сразу еще +1 :))
  15. Можешь воспользоваться плагином для ЦЕ - SigMaker, но он делает маленькие сигнатуры, они могут быть не уникальными... Можешь воспользоваться плагином для х64дбг - SwissArmyKnife он создаст сигнатуру на столько байт, на сколько тебе надо. И там же можешь проверить её на уникальность
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.