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

partoftheworlD

Пользователи+
  • Постов

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

  • Посещение

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

    172

Сообщения, опубликованные partoftheworlD

  1. Сам уже ничего не могу придумать, жду любых идей) Вот что пробовал. Написал скрипт на бесконечное ускорение в тренировке и с ботами работает прекрасно, но хотелось бы использовать в онлайне. Без скрипта точно такая же история, если записывать в буфер. Ускорение работает, но через секунду отбрасывает на то место, где я находился до использования ускорения. По этому и предположил, что есть проверка данных на стороне сервера. Возник вопрос, какими способами можно найти функцию проверки значений(ускорения) на валидность? Чтобы её подменить, если функция ни откуда не вызывается и по трафику ничего не передается, кроме обычный информации типа exp, уровень и настройки в начале и конце игры.

     

    Добавил скрин бряка на доступ. Красным выделено постоянны работающие инструкции. Синим при использовании буста. Черным при пополнении буста.

    Скрытый текст

    KJv8AGru87U.jpg

    t-1Cl5gM-xo.jpg

     

  2. Прочитай про недокументированные функции.(NtWow64QueryInformationProcess64
    NtWow64ReadVirtualMemory64) Инфы по ним мало.
     Для чтения из игры x64 можно использовать NtWow64ReadVirtualMemory64 в 32 битном трейнере и окошко будет работать, придется функции руками импортировать из ntdll. И вот статейку глянь.

    • Плюс 1
  3. Возможно, это не баг нового движка, просто мелки недочет, на главной странице меняется автор поста на автора последнего комментария. Или так и задумано было? 

  4. 1 час назад, Gabriel сказал:

    *(int*)0x02F4B641 = 0x90909090;

     

    Вот тут не понятно, зачем ты получаешь указатель на адрес 0x02F4B641 возвращающий значение типа int и присваиваешь ему 0x90909090. Почему для записи байт не использовать WriteProcessMemory?

     

    BYTE buffer[] = {0x90,0x90,0x90,0x90};

    memcpy((void*)0x2F4B641, &buffer, 4);

     



     

    • Плюс 1
  5. Не правильно написал, вот определение с книжки "CVTTSS2SI приемник, источник F3 0F 2C /r CVTTSS2SI r32, rxmm/m32 Скалярное преобразование (путем отбрасывания дробной части) вещественного целого в знаковое целое"

  6. С cvttss2si(Converts the lower single-precision, floating-point value of a to a 32-bit integer with truncation) не пробовал? Вот эта команда в большинстве игр используется для округления. 

  7. 9 часов назад, 2zolo2 сказал:

    а как он обойдёт HTTPS, vk же заставляет все приложения использовать соединение HTTPS?

     

    Можно уже готовую библиотеку использовать, если самому, то тебе надо OpenSSL использовать

     

    Вместо Charles, лучше использовать Fiddler2 

  8. Анализ трафика, REST Client можно использовать для ручной отправки измененных пакетов или автоматизировать все написав Socks-сервер перехват и подмена пакетов с использованием функции WSAAsyncSelect чтобы не мучатся с многопоточностью. Где-то на xakep.ru или на хабре видел статью вроде бы 2011-2012 года там было подробно все написано.

     

    P.S

    Нашел эту статью все таки, но лучше скачать журнал.

    • Плюс 1
  9. :offtopic:Дивный день добры молодцы, да красны девицы:D Не было всего день, а тут уже проповеди читают.

    6 часов назад, AntonVitalievich сказал:

    Кто настолько слеп что не видит отрицательного влияния современных игр на умы детей и не только детей.

    Да это все глупости, все зависит от воспитания. Если спихивать детей на игры, когда родителям не хочется заниматься ребенком, то ничего хорошего не выйдет.Я в игры уже играю около 15 лет из 20 и вроде бы все в порядке. А на счет геймхакинга и то что это сравнимо пеплом относительно других занятий, глупо так считать, но это уже выбор каждого, многие эксперты по информационной безопасности начинали со взлома игр, сайтов, программ. Играть в игры полезно в разумных приделах, это повышает концентрация, улучшает запоминание информации, помогает тактически и стратегически мыслить и принимать верные решения.

     

  10. 31 минуты назад, Garik66 сказал:

    partoftheworlDDison - вы оба лентяи

    То что, лентяй я знаю:D. Но какой вопрос был задан?

    18 час назад, leshiy сказал:

    какие виды бывают Wallhack'а?

     Я считаю что мой ответ полностью отвечает на заданный вопрос. Зачем все это расписывать, если интернет полон описания видов вх, просто кое-кому лень гуглом пользоваться.

  11. Просто не понятно, сначала у тебя скрипт работает с одной инструкцией, теперь с другой.

    Ну вот 2 инструкции затер. Так?

    alloc(newmem,2048)
    label(returnhere)
    label(originalcode)
    label(exit)
    
    newmem:
    nop
    nop
    nop
    nop
    nop
    nop
    jmp returnhere
    
    originalcode:
    mov [edi+28],eax
    mov eax,[edi+08]
    
    exit:
    jmp returnhere
    
    067CB5DB:
    jmp newmem
    nop
    returnhere:

     

  12. Если бы кинул скрипт без изменений, то точно бы сказал, а из того скрипта что ты выложил точно не сказать будет даже исправленный вариант работать,немного подправив его, он вроде как и работать должен.

  13. Странно, что он вообще работает. В newmem пишешь код который надо изменить, оригинальный не трогаешь, чтобы после выключения он восстановился. После Disable у тебя должна выгружаться выделенная память и восстанавливаться оригинальный код. И на будущее, скрипты с нопами считаются дурным тоном и часто приводят к вылетам. Вот как-то так должен выглядеть твой код.

    Скрытый текст
    
    [ENABLE]
    alloc(newmem,2048)
    label(returnhere)
    label(originalcode)
    label(exit)
    
    newmem:
    nop
    nop
    nop
    inc eax
    
    originalcode:
    mov eax,[edi+28]
    inc eax
    mov [edi+28],eax
    
    exit:
    jmp returnhere
    
    065DB2F7:
    jmp newmem
    nop
    nop
    returnhere:
    
    [DISABLE]
    dealloc(newmem,2048)
    065DB2F7:
    mov eax,[edi+28]
    inc eax

     

     

     

  14. Сегодня мы будем делать Wall Hack используя внутри игровые функции и немножко обратной разработки. И так что мы имеем? Есть способность, называемая «Dark Vision», эта способность позволяет видеть врага, через стены. Логично предположить, что, если есть какое-то ограничение по действию, раз не все противники показаны.Ну что ж начнем поиск. Для начала найдем таймер выключения. Это значение от 0 до 30 типа float. После этого ставим бряк на доступ, включаем и выключаем способность в игре и видим инструкции которые срабатывают столько же раз сколько мы нажали на кнопку.

    tlQ7gWXfdjw.jpg

    Начнем с первой инструкции, видим что она работает с типом float.

    Делаем дамп игры, загружаем в IDA, вооружаемся ReClass и переходим на адрес найденной инструкции.  Нажимаем F5 и восстанавливаем код.

     

    Вот что из этого вышло.

    oBfZI1CbuYo.jpg

     

    Ну и конечно, же результаты) (В идеале надо отключить еще и этот эффект сепии или как он называется)

    Скрытый текст

     

     

     

    Забыл добавить сигнатуру для поиска функции,вдруг кто делать соберется. 8B D8 8B 86 ? ? ? ? 48

    • Плюс 4
  15. 8 минут назад, Garik66 сказал:

    А спойлеры свои с кодом посмотри, а все ссылки (которые внутри форума) не работают.:angry:

    До этого не дошел еще:D 

    "Нажмите здесь, чтобы скачать файл " выбрасывает на главную.

     

  16. Форум выглядит прекрасно и в особенности страница профиля, админы молодцы, правда сначала немного растерялся:D  и до сих пор не нашел темы в которых оставлял сообщения. Из багов пока заметил, что город и название города слитно пишутся.

  17. Мне кажется самым простым способом будет статический анализ полученных инструкций бряком на доступ. А на счет даты, есть подозрения что она преобразуется например _itoa_s и потом выводится на экран.

×
×
  • Создать...

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

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