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

TheErel

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

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

  • Посещение

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

  1. 1 минуту назад, what228 сказал:

    Откуда я могу знать как делается дюп в данной игре? Пробуй всякие разные известные методы. Ищи инструкции при получение или удалении предмета работай с ними.

    Я не имел ввиду эту игру, но ладно.

  2. 5 минут назад, what228 сказал:

    Для поиска текста? Ставишь бряк смотришь что куда от куда берется и выходишь на те или иные инструкции.

    <# buff.F1 * 100#>
    Ну скорее всего buff.F1 тут типа значение какое-то в виде 0-9999 * 100 получается 0-999900%.

    Как делается дюп вещей?

  3. Привет, стало интересно для чего поиск в СЕ текста.
    Ввел название скила, развернул описание и в тексте увидел вот это : Святое прикосновение" становится дистанционным и восстанавливает на <# buff.F1 * 100 #>% больше здоровья.
    Интересно стало что за <# buff.F1 * 100 #> и как этим можно воспользоватся?

  4. 19 минут назад, what228 сказал:

    Если твой вопрос касается определенной программы то укажи ее название в квадратных скобках "[Cheat Engine] Обновление Тренера".

    По теме:
    Бессмысленно такое делать через CE но если хочет то можно найти в памяти строку версии и если она отличается ( или допустим если AOB не отвечает ) то будет выбивать сообщение с сылкой на сайт ( где скачать новую версию ).

    Почему бессмысленно?

  5. Все продолжаю гулять по Cheat Engine и Lua.
    Недавно столкнулся что в игре бывают обновления и чит приходится тоже обновлять, как сделать что бы старая версия проверяла на наличие новой и предлагала скачать новую или переставала работать если она старая?

  6. 4 минуты назад, what228 сказал:

    Я только что проверил. Все работает.
    Скорее всего ошибка на твоей стороне ( я взял твой скрипт а не свой делал )

    Сработало, я дополнял чит, не вышло, сделал новый чистый и внес телепорт, сработало как нужно.

  7. В 16.08.2017 в 18:24, MasterGH сказал:

     

    Собрать *.dll (.net)

    Адрес переменной найти в памяти. Это _coordinates - будет 3 раза по 4 байта.

    Но, лучше читы не делать через Cheat Engine, все делать через .dll. В CE можно сделать форму трейнера и подгрузчик dll. Подгрузчик dll через АА в CE я где-то выкладывал.

     

      Показать содержимое
    
    
    using UnityEngine;
    using System.Collections;
    
    public class PlayerCoordinates : MonoBehaviour
    {
        // Координаты игрока (искать адрес в памяти)
        private Vector3 _coordinates;
        
        // Если использует стандартный тег (если не используется, то не повезло. Тогда по названию игрового объекта или компонента, или т.п.)
        private const tagPlayer = "Player";
        private GameObject _goPlayer = null;
        
        void Update()
        {
            if (_goPlayer == null)
            {
                _goPlayer = GameObject.FindWithTag(tagPlayer);
            }
    
            if (_goPlayer != null)
            {
                _coordinates = _goPlayer.transform.position;
            }
        }
    }

     

     

    Интересно а почему лучше dll Делать? Если dll так же будет читать и записывать память, нет? Я новичек просто стало интересно.
    И почему через ооли откладкой лучше пользоваться?

  8. Скажи что не так делаю какой раз вникаю уже кровь с ушей голова болит а я бьюсь с этой дрянью
    Мне нужно что бы сохранять не одну позиции а две.

     

    Скрытый текст
    
    [ENABLE]
    aobscanmodule(TeleportHack,rqmain.exe,8B 96 68 0B 00 00) // should be unique
    alloc(newmem,$1000)
    label(code)
    label(return)
    label(savemem)
    label(loadmem)
    label(coordone)
    label(coordtwo)
    label(teleport)
    label(savecoord)
    registersymbol(coordone)
    registersymbol(coordtwo)
    registersymbol(teleport)
    registersymbol(savecoord)
    label(savemem1)
    label(loadmem1)
    label(coordone1)
    label(coordtwo1)
    label(teleport1)
    label(savecoord1)
    registersymbol(coordone1)
    registersymbol(coordtwo1)
    registersymbol(teleport1)
    registersymbol(savecoord1)
    newmem:
    cmp [savecoord],1
    je savemem
    cmp [teleport],1
    je loadmem
    cmp [savecoord1],1
    je savemem1
    cmp [teleport1],1
    je loadmem1
    jmp code
    savemem:
    push [esi+00000B64]
    pop [coordone]
    push [esi+00000B68]
    pop [coordtwo]
    mov [savecoord],0
    jmp code
    savemem1:
    push [esi+00000B64]
    pop [coordone1]
    push [esi+00000B68]
    pop [coordtwo1]
    mov [savecoord1],0
    jmp code
    loadmem:
    cmp [coordone],0
    je code
    push [coordone]
    pop [esi+00000B64]
    push [coordtwo]
    pop [esi+00000B68]
    mov [teleport],0
    jmp code
    loadmem1:
    cmp [coordone1],0
    je code
    push [coordone1]
    pop [esi+00000B64]
    push [coordtwo1]
    pop [esi+00000B68]
    mov [teleport1],0
    jmp code
    code:
      mov edx,[esi+00000B68]
      jmp return
      coordone:
      dd 0
    coordtwo:
      dd 0
    teleport:
      dd 0
    savecoord:
      dd 0
        coordone1:
      dd 0
    coordtwo1:
      dd 0
    teleport1:
      dd 0
    savecoord1:
      dd 0
    
    
    TeleportHack:
      jmp newmem
      nop
    return:
    registersymbol(TeleportHack)
    
    [DISABLE]
    TeleportHack:
      db 8B 96 68 0B 00 00
    
    unregistersymbol(TeleportHack)
    unregistersymbol(coordone)
    unregistersymbol(coordtwo)
    unregistersymbol(teleport)
    unregistersymbol(savecoord)
    unregistersymbol(coordone1)
    unregistersymbol(coordtwo1)
    unregistersymbol(teleport1)
    unregistersymbol(savecoord1)
    dealloc(newmem)

     

     

     

    // Используй именно тег кода, а не симплета. Garik66

    ЗЫ: @TheErel Если не знаешь как это делать, вот посмотри видео. Garik66

  9. 53 минуты назад, partoftheworlD сказал:

    Расчет коллизии работает постоянно, лучший вариант искать эти расчеты от пишущей инструкции, они обычно выше по коду. Ещё можно ручным поиском, найти коллизию, но это достаточно долго и много чего надо проделать, мой тестовый метод. Получаешь координаты объекта(это можно сделать с помощью собственных координат упершись(ну и словечко)  углы объекта), после при попытке войти в объект вычисляешь твои координаты - координаты объекта = значение коллизии, но часто оно очень маленькой типа 0.00123/0,0123, чтобы они были больше можно попробовать ограничить количество кадров в секунду, чем меньше кадров, тем дольше просчитывается коллизия, но опять же это не для всех игр.

    Коллизия не может быть в отрицательном числе?
    и какой ручной способ?

  10. Привет, я все еще немного осваиваю программу СЕ и сейчас хочу узнать как отключить коллизию в этой игре.
    Я пытался, через координаты которые меня телепортировали, поставил на них брейк на доступ подхожу к преграде ничего нет, нашел координаты которые уже в нормальном значении флоат, вроде нашел похожую инструкцию, она не сразу срабатывает при припятствии а только при обходе его автоматом, что-то не выходит у меня найти.
    Инструкция что нашел subss xmm0,[ecx]

     

  11. Мне всегда было интересно как находить для этой игры что бы можно было заменять оценку на нужную.
    Есть разные боты для этой игры и вот FF FF FF ?? FF FF FF E0 FF FF FF FF ?? 00 00 00 ?? ?? ?? ?? ?? ?? ищем и находим потом я поставил на запись и нашел такую инструкцию mov al,[edx+000018FC] ниже если посмотреть есть je DanceGame.HD_MissionSceneManager::GetMainRoleModel+297C4C если это занопить то получается вместо промаха идеал, но это только идеал и нашел я не сам  а просто взял эту сигнатуру с бота, как самому такое искать?

  12. 20 минут назад, Garik66 сказал:

    Скрипт у тебя верный (я бы конечно убрал из него много лишнего)

     

    А имено?
    Я смотрел по видео так что я не знал как можно упростить.
    Да если использую его скрипт игра вылетает.
    Но я уже понял что не с тем работаю ну или сделаю фильтр

  13. 4 минуты назад, what228 сказал:

    В инструкции ТС только 3 адреса и они связанные с героем.
    1. Координата 1

    2. Координата 2

    3. Координата 3 ( скорее всего )
    В его адресе идет запись из ecx в [ebx] и если делать скрипт на той инструкции то могут быть проблемы ( возможно только я столкнулся с ними :D ).

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

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

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

    Проверь с какими адресами работает твоя инструкция. ПКМ в отладчике по инструкции.

    Благодарю, не заметил, работает еще с 8 чем-то.

  15. 1 минуту назад, what228 сказал:

    Я дал тебе скрипт который я уже проверил в игре. Используй его.

    Я не понимаю, как сработает savecord и teleport если этих символов нет у меня в скрипте?
    Мне тяжело далось это видео я просто не понимаю это получаеться мне нужно сделать флаг teleport и флаг savecord ?

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

    Ты хочешь сделать телепорт но откуда ты будешь брать координату для телепорта?

    
    ebx 
    ebx+4

     

    а флаг тогда зачем?
    Флаг же делает 1 и 2 , 1 сохраняет, 2 телепортирует, трижды смотрел видео, я что-то не понимаю?

  17. 2 часа назад, what228 сказал:
      Показать содержимое

     

    Вынеси в таблицу [ teleport ] и [ savecoord ] после сначала установи в адресе [ savecoord ] 1 и после чего  можешь в адресе [ teleport ] установить 1 и переместишься в сохраненные координаты.

    А зачем так делать если флаг сохраняет и вроде должен записывать как по видео.

    + не понимаю как.
    когда я жму клавишу (для себя поставил нумпад+) во флаге байт меняется на  1 срабатывает на флаге и сохраняются координаты в регистре,  нажимаю нумад - 2 по идеи должно записаться.

    Как на видео

  18. Посмотрел видео и захотелось сделать телепорт в игре Роял Квест, по видео сделал код, но мне кажется из-за того что нет свободных регистров координаты ни куда не сохраняются.
     

    Скрытый текст
    
    [ENABLE]
    aobscanmodule(Teleport,gaxomofy.dll,89 0B 89 E1 89 8F 98 6C 00 00) // should be unique
    alloc(newmem,$1000)
    label(code)
    label(return)
    label(coord)
    label(tflag)
    registersymbol(tflag)
    
    newmem:
    cmp byte ptr [tflag],0
    je code
    cmp byte ptr [tflag],1
    jne @F
    push eax
    mov eax,[ebx]
    mov [coord],eax
    mov eax,[ebx+4]
    mov [coord+4],eax
    pop eax
    mov byte ptr [tflag],0
    jmp code
    
    @@:
    cmp byte ptr [tflag],2
    jne code
    push eax
    mov eax,[coord]
    mov [ebx],eax
    mov eax,[coord+4]
    mov [ebx+4],eax
    pop eax
    mov byte ptr [tflag],0
    
    code:
      mov [ebx],ecx
      mov ecx,esp
      mov [edi+00006C98],ecx
      jmp return
    
      tflag:
      db 00
      coord:
      db 00 00 00 00 00 00 00 00
    
    Teleport:
      jmp newmem
      nop
      nop
      nop
      nop
      nop
    return:
    registersymbol(Teleport)
    
    [DISABLE]
    //code from here till the end of the code will be used to disable the cheat
    Teleport:
      db 89 0B 89 E1 89 8F 98 6C 00 00
    unregistersymbol(Teleport)
    unregistersymbol(tflag)
    dealloc(newmem)

     

    Или что-то не так делаю?
    По EBX находится одна координата без смещения, на +4 вторая координата, третей нет, пробовал в ручную вписать коорды, возвращался куда нужно, но когда пользуюсь скриптом ничего не происходит, я взял левый регистр и подумал что если пушнуть то он очиститься  и там запишутся корды для сохранения нет?
    Исправление: Посмотрел коорды записываются в этот регистр, почему телепорт не срабатывает, не вписывается что ли?

    // Для читабельности пользуемся тегом  кода. Garik66

  19. 6 минут назад, Garik66 сказал:

    не заметил что ты взял ниже инструкцию, а не эту 

    
    movss [esi+000002F4],xmm3

    Так что скрипт лучше сделать так:

      Скрыть содержимое
    
    
    [ENABLE]
    aobscanmodule(speed,rqmain.exe,F3 0F 10 86 F4 02 00 00) // should be unique
    alloc(newmem,$1000)
    label(return)
    registersymbol(speed)
    
    newmem:
      mov [esi+000002F4],(float)50 
      movss xmm0,[esi+000002F4]  
      jmp return
      
    speed:
      jmp newmem
      db 90 90 90
    return:
    
    [DISABLE]
    speed:
    
      db F3 0F 10 86 F4 02 00 00
    unregistersymbol(speed)
    dealloc(newmem)
     

     

     

    Спасибо, хорошо помог.
     

  20. 1 час назад, Garik66 сказал:

    Если с xmm0 и т.д. пока не разобрался, попробуй сделать скрипт проще. ну например так:

      Скрыть содержимое
    
    
    [ENABLE]
    aobscanmodule(speed,rqmain.exe,F3 0F 10 86 F4 02 00 00) // should be unique
    alloc(newmem,$1000)
    label(return)
    registersymbol(speed)
    
    newmem:
      movss xmm0,[esi+000002F4]
      mov [esi+000002F4],(float)50 
      jmp return
      
    speed:
      jmp newmem
      db 90 90 90
    return:
    
    [DISABLE]
    speed:
    
      db F3 0F 10 86 F4 02 00 00
    unregistersymbol(speed)
    dealloc(newmem)

     

     

    Спасибо)

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

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

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