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

imaginary

Помогаторы
  • Постов

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

  • Посещение

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

    43

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

  1. Записывать надо после того как будет получено значение, можно делать это в цикле в другом скрипте, или ещё как то. Что бы понять как записать посмотри CELua
    Там тебе понадобятся getAddress что бы прочитать адрес метки, потом readPointer и прочие, там всё есть на страничке с описанием, можешь изучать и пробовать

  2. Что бы понять что тут происходит, посмотри видео на канале в плейлисте Взлом игр от "А" до "Я"

    Что бы написать такой скрипт на C# нужно сильно постараться, потому что в этом скрипте происходит внедрение в код игры, выделение памяти, переход на свой код и сохранение в выделенную память базового адреса из регистра edi когда по коду проходит поток

  3. 2 минуты назад, imaginary сказал:

    А я например видела как из winApi вызывается функция отрисовки из directx

    Точнее наоборот

    2 минуты назад, Xipho сказал:

    Есть пример? Аж любопытно стало, как винапишная функция чтения файла, например, использует ДХ.

    Наоборот было, я не то написала, по моему мы с тобой даже об этом говорили

  4. 1 час назад, youneuoy сказал:
    2 часа назад, LuBu сказал:

    WinAPI помойму тоже работает через DX, но так как это API винды. То на тяп ляп все сделанно.

    графика винапи не имеет сторонних зависимостей и именно этим она хороша.

    А я например видела как из winApi вызывается функция отрисовки из directx

  5. 2 часа назад, alkayde123 сказал:

    Слишком заморочено, я делаю бота под игры, для себя и для друзей

    Попробуй посмотреть на AutoHotkey, она умеет по моему нажимать на свёрнутые окна, и можно очень просто делать программы, можно совместить с другой программой через файлы, например можно управлять ahk скриптами из C#, и всё такое, ну или нужно делать инъекцию кода в игру что бы имитировать кликанье...

  6. В общих чертах, это кнопку нажать в Cheat Engine - Enable Speed Hack, и будет в самых общих чертах, он внедряет dll которое подменяет проверку времени игрой и она подстраивается под другой ход времени, можно ускорять всю игру или замедлять. Только сервера и всё остальное это замечают легко, потому что пакеты отправляются проверочные намного чаще чем обычно, или реже, если замедлять. Для ускорения конкретных параметров можно заниматься отладкой кода от самого времени вроде GetTickTime, или QueryPerformanceCounter и других, отсеивая то, что с ними работает, выходя на нужный параметр.

  7. Чего не так то? Что я не так говорю? Я всё сказала что можно использовать, сделать проверку выхода на ret любую вместо jmp со счётчиком, например :

    inc [schetchik]
    cmp [schetchik],#14
    jl ApplyEffect

    Sleep он уже сделал сам, что мешает вставить его перед проверкой?
    Или ожидался сразу весь код вместо подсказок как обычно?

  8. Что же у вас столько рассуждений в такой теме, особенно у кое кого...

    Одну строчечку добавить...

    Спойлер
    
    [ENABLE]
    
    alloc(EffectID,4)
    registersymbol(EffectID)
    alloc(ApplyEffect,128,DarkSoulsIII.exe)
    registersymbol(ApplyEffect)
    createthread(ApplyEffect)
    
    EffectID:
    dd #130134131
    
    ApplyEffect:
     mov    edx, [EffectID]
     mov    rbx, [DarkSoulsIII.exe+4768E78]
     mov    rbx, [rbx+80]
     mov    r8, rbx
     mov    rcx, rbx
     sub    rsp, 48
     call   140886C40
     add    rsp, 48
     jmp ApplyEffect // <----------------- Вот эту
     ret
    
    [DISABLE]
    
    dealloc(ApplyEffect)
    unregistersymbol(ApplyEffect)
    dealloc(EffectID)
    unregistersymbol(EffectID)
    

     

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

    А ты @Garik66 совсем странное что то пишешь, пытаешься выполнить в ассемблерном коде команды для Cheat Engine

  9. Можно использовать сразу syscall или загрузить свою версию копию системной dll, просто нужно название изменить перед загрузкой и потом делать вызовы из этой библиотеки, например можно скопировать KERNEL32.dll, назвать KERNEL33.dll и никто не будет перехватывать вызовы в ней. Но это только если не драйвер который сразу в ядерных модулях всё перехватывает.

  10. Что? Разыменования чего? 0 это тоже самое что NULL в C++, ошибка 299 partial copy error  означает что часть памяти не получилось прочитать, или записать, такое может быть при нарушении прав доступа, а вот тут - указания размера буфера огромного, оно пытается записать в память у которой нету прав на запись, или в не выделенную.

  11. Я конечно отвечу, хотя и тема не там, попробуй bufferSize установить адекватный, например float обычно 4 байта. И нужно передавать указатели.
    2046754110_.png.c758e700133d7108d9d5d3db8a5f8c54.png

    Тема передвинута в правильный раздел

  12. Если сохранять, тогда можно использовать readmem при восстановлении, просто написать внизу readmem из памяти куда сохранены значения ассемблером. Вообще у тебя такая задача которая намного проще может быть написана на lua. Разбирайся сам лучше, материалов достаточно ?.

  13. 12 минут назад, FENIX145 сказал:

    осмотрел как написал пример Dark Byte и что-то оно не завелось у меня

    Это для твоих нужд не подходит, потому что readmem это команда для CE, а не ассемблера, выполняется один раз в [ENABLE], или [DISABLE]

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

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

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