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

imaginary

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

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

  • Посещение

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

    43

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

  1. Вот скрипт и видео, 2 инструкции, при убийстве врага записывается значение очков для уровня *забавно получилось - игра показывает кучу опыта при победе над врагом, будто так и должно быть)

    Действует только если за врага дают опыт, после достижения определённого уровня за слабых врагов больше не дают, за сильных дают.


    Скрипт:

     

    Спойлер
    
    [ENABLE]
    aobscanmodule(Finder,Borderlands2.exe,66 0F 6E 83 5C 02 00 00 F3 0F 10 4F)
    alloc(newmem,$100)
    
    label(code)
    label(return)
    label(needCount)
    registersymbol(needCount)
    
    newmem:
    fild dword [ebx+0000025C]
    fstp dword [needCount]
    
    code:
      movd xmm0,[ebx+0000025C]
      jmp return
    
    needCount:
    db 0
    
    Finder:
      jmp newmem
      nop
      nop
      nop
    return:
    registersymbol(Finder)
    
    aobscanmodule(LevelUp,Borderlands2.exe,F3 0F 11 47 6C E8)
    alloc(newmem2,$100)
    
    label(code2)
    label(return2)
    
    newmem2:
    movss [edi+6C],xmm0
    fld dword [needCount]
    fstp dword [edi+6C]
    
    code2:
      jmp return2
    
    LevelUp:
      jmp newmem2
    return2:
    registersymbol(LevelUp)
    
    [DISABLE]
    Finder:
      db 66 0F 6E 83 5C 02 00 00
    
    unregistersymbol(needCount)
    unregistersymbol(Finder)
    dealloc(newmem)
    
    LevelUp:
      db F3 0F 11 47 6C
    
    unregistersymbol(LevelUp)
    dealloc(newmem2)
    

     

     

    Видео:

     

    Спойлер

     

     

    • Плюс 1
  2. В танках есть структура хранящая в себе разные параметры физики нашего игрока, ускорение, координаты. По координатам её не найти, зато по боковому ускорению можно, а дальше уже выйти на координаты и обычное ускорение. В видео показано какие параметры за что отвечают.


    Поиск:
    Крутимся влево - больше, вправо - меньше.
     

    Видео:
     

    Спойлер

     

     

    Скрипт: (64 бит flashplayer_sa. только)
     

    Спойлер
    
    [ENABLE]
    aobscan(FindPhTank,8B 56 18 85 DB 74 39)
    alloc(newmem,$100)
    
    label(code)
    label(return)
    label(TankAddres)
    registersymbol(TankAddres)
    
    newmem:
    mov [TankAddres],esi
    
    code:
      mov edx,[esi+18]
      test ebx,ebx
      jmp return
    
    TankAddres:
    dq 0
    
    FindPhTank:
      jmp newmem
    return:
    registersymbol(FindPhTank)
    
    [DISABLE]
    FindPhTank:
      db 8B 56 18 85 DB 74 39
    
    unregistersymbol(TankAddres)
    unregistersymbol(FindPhTank)
    dealloc(newmem)

     

     

    • Понравилось 1
    • Плюс 1
  3. 9 минут назад, Garik66 сказал:

    первее - такого слова нет. напиши первым в следующий раз.

    Да и кстати, а шрифт в СЕ не хочешь сменить для записи видео?
    а то плохо читабельно.

    Хорошо, почему нет? ? Со следующей записью будет обычный шрифт, просто сейчас уже есть ещё 1 записаное почти часовое с курсивным.


    А на счёт звука, так я пишу а не говорю. Возможно вскоре эти проблемы решатся.

  4. В этом видео рассказано как сделать плавное ускорение башни используя игровую инструкцию. Данное ускорение будет работать для любых пушек и для прицеливания мышью.
     

    Код:
     

    Спойлер
    
    [ENABLE]
    aobscan(BashnyaSpeed,F2 0F 59 CA F2 0F 58 C1 66 0F D6 42 68)
    alloc(newmem,$200)
    
    label(code)
    label(return)
    label(Speed)
    registersymbol(Speed)
    
    newmem:
     mulsd xmm1,[Speed]
    
    code:
      mulsd xmm1,xmm2
      addsd xmm0,xmm1
      jmp return
    
    Speed:
    dq 3FF0000000000000
    
    BashnyaSpeed:
      jmp newmem
      nop
      nop
      nop
    return:
    registersymbol(BashnyaSpeed)
    
    [DISABLE]
    
    BashnyaSpeed:
      db F2 0F 59 CA F2 0F 58 C1
    
    unregistersymbol(Speed)
    unregistersymbol(BashnyaSpeed)
    dealloc(newmem)

     

     

    Видео:
     

    Спойлер

     

     

    • Понравилось 1
    • Плюс 2
  5. 18 минут назад, ЛАГАРИУМ сказал:

    Hashes: 0xC45D23BAF168AAB8 0x8880038A

    Я могу лишь предположить что это ссылка на инструкцию или указатель, я знаю такие адреса для gta sa, там это указатели, то есть, добавляешь указателем адрес и смещение для него - это будет здоровье машины к примеру, возможно тут так же, попробуй. GTA V скачать нет возможности)

  6. 1 минуту назад, ЛАГАРИУМ сказал:

    я имею виду чи можна с етого хеша  например 07B2A6DC получить адрес етой функции в чит енжине?

    Перейди в отладчик, далее - перейти по адресу - вставляешь свой адрес, переходишь на него.

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

    заменяться будет только один раз

    У меня там написано внизу что 1 раз, а ещё если много то лучше всего сделать на lua, но это не ко мне, ещё можно изгалиться и сделать много скриптов таких, положить их в группу и в свойствах указать что бы они активировались вместе с ней, можно такой поиск сделать и на ассемблере, но это надо подумать сколько времени этот скрипт будет искать все адреса, у меня есть такой опыт по minercraft, так вот лучше не стоит, одни проблемы. Точно знаю что такая функция есть в lua, но я там не разбираюсь.

  8. Если ты хочешь через таблицу заменять, а сигнатура уникальна, то сделай просто:

    [ENABLE]
    aobscan(labelName,7B 14 AE 47 E1 7A 84 3F 00 00 00 00 00 00 00 40) //Ищет
    registersymbol(labelName) //обьявляет глобальный доступ
    
    labelName:
    db 66 66 66 66 66 66 D6 3F 00 00 00 00 00 00 00 40 //Заменяет
    
    [DISABLE]
    labelName:
    db 7B 14 AE 47 E1 7A 84 3F 00 00 00 00 00 00 00 40 //Возвращает
    unregistersymbol(labelName)

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

     

    (Заменяет 1 сигнатуру)

  9. В этом видео рассказано как иногда можно найти влиятельные(выгодные) параметры(а именно бессмертие) найдя структуру персонажа по простым параметрам.
    Wormix, игра из соц. сетей, на эту игру было множество интересных обманов от разных людей, с помощью разных программ, в этот раз я покажу как можно найти структуру персонажа а после уже по вашему желанию, например написать скрипт её поиска.
    *Скрипт простой и детально не описан, описан поиск.

    *Советую использовать браузер с выделенным процессом для плагинов, или же ищите процесс через диспетчер задач браузера (flash игра)


    Мной это найдено примерно пол года назад, и отлично работает на данный момент, как долго разработчики не узнают об этом зависит лишь от пользователей.

    Скрипт поиска:

     

    Спойлер
    
    [ENABLE]
    aobscan(FindPersonaj,41 89 88 C8 00 00 00 48 8B 4D E8 48 89 4A 58)
    alloc(newmem,$200)
    
    label(code)
    label(return)
    label(Persona) //Создание метки
    registersymbol(Persona) //Объявление для таблицы и глобально
    
    newmem:
    mov [Persona],r8 //Запись в метку
    
    code:
      mov [r8+000000C8],ecx
      jmp return
    
    Persona: //Метка 8 размера, потому что 64 бит и адрес 8 байт
    dq 0
    
    FindPersonaj:
      jmp newmem
      nop
      nop
    return:
    registersymbol(FindPersonaj)
    
    [DISABLE]
    FindPersonaj:
      db 41 89 88 C8 00 00 00 48 8B 4D E8
    
    unregistersymbol(Persona)
    unregistersymbol(FindPersonaj)
    dealloc(newmem)

     

     

    Смещения:
    +5С - уязвимость
    +С8 - поворот персонажа
    Там есть много других параметров, не советую их трогать на основном профиле, эти безопасны на данный момент.

     

    Видео:
     

    Спойлер

     

     

    • Понравилось 1
    • Плюс 2
  10. 13 минут назад, Antonshka сказал:

    Вот примерный пример эффекта, о котором я говорил

    Ну у тебя что то вроде арбрейка без коллизии, как в samp. Получилось весьма интересно у тебя. И спасибо еще раз за упрощенные функции нахождения угла, и про твою информацию о том что fsin,fcos работают с радианами, это мне уже пригодилось

  11. В видео показано как работает ускорение в играх, на примере программы в которой отсутствует ускорение, это программа для 3D моделирования "Blender". В видео создаётся функция ускорения и демонстрируется как оно работает. Так же создается полет на нулевые координаты основываясь на созданной функции ускорения, что бы провести аналогию с другой моей статьей, в которой мы в minecraft создаем полет на сохраненную позицию.
    Формула получается примерно такая: Конечные координаты=Начальные координаты+(Шаг ускорения/делитель)

    Видео:

    Спойлер

     

     

    • Плюс 3
  12. 44 минуты назад, Antonshka сказал:

    есть ли какие-либо продвижения?

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

  13. 7 часов назад, Garik66 сказал:

    2. Нужно поменять шрифты СЕ, ИМХО плохо-читабельно.

    У меня это системный шрифт, если я его изменю то везде будет другой, попробую переснять с подробными комментариями.
    @Xipho Но до какой подробности мне объяснять? там же рассказаны основные элементы, или мне рассказывать вообще все что я делаю? Это получается мне каждый раз заново рассказывать как проходить по смещениям, делать указатели, и прочее?
    Там же рассказан принцип конкретно того что сделано, например полет снарядов на указатель

     

  14. 1 час назад, Antonshka сказал:

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

    Если так хочется сделать, то почему бы не найти угол между точками, и потом сделать так же как в теме в которой мы сейчас пишем, я имею ввиду: (твой рисунок с моими дорисовками)

    Спойлер

    5a8b407cf3f47_.thumb.png.cb0c2e6c3fbdfa56ef116b4a869c391a.png


    При этом можно просто записывать полученные значения не в ускорение а сразу в координаты (добавлять), но сначала их сильно уменьшить с помощью деления, и опять же - деление будет скоростью.
    А на счет замедления и ускорения просто проверять расчетное расстояние между точками.

  15. В этой теме рассказано как сделать большие корпуса при прицеле шафтом (пушка), так как шафт наводится не по коллизии а по текстурам, то увеличение последних дает возможность уничтожать танки за стенами или в труднодоступных местах, да и вообще увеличивает радиус попадания. Я пишу этот скрипт с нуля, до этого у меня написан другой, потому видео немного большое.

    Скрипт, ищущий адрес башни игрока:

    Спойлер
    
    [ENABLE]
    aobscan(AressInj,8B 51 08 8B 4A 14 89 8D 44 FF FF FF 8B 4E 38 85 C9) //Поиск сигнатуры
    alloc(ScriptShaft, 230)
    registersymbol(AressInj)
    label(BashnyaAdress)
    registersymbol(BashnyaAdress)
    
    //Иньекция кода
    ScriptShaft:
    push ecx
    mov ecx,[esi+38]
    mov ecx,[ecx+48]
    mov ecx,[ecx+24]
    mov ecx,[ecx+14]
    mov [BashnyaAdress],ecx //Проходим по смещениям и записываем
    pop ecx
    
    code: //Оригинальный код
    mov ecx,[esi+38]
    test ecx,ecx
    ret
    
    
    BashnyaAdress:
    dd 0
    
    //Иньекция кода
    AressInj+C:
    call ScriptShaft
    
    [DISABLE]
    //Иньекция кода 1
    AressInj+C:
    db 8B 4E 38 85 C9 //При деактивации восстанавливаем байты
    
    unregistersymbol(AressInj)
    unregistersymbol(BashnyaAdress)
    dealloc(ScriptShaft)

     


    Скрипт, делающий корпуса большими при прицеле шафтом: //Перед включением этого, включить предыдущий, этому нужен адрес башни.

    Спойлер
    
    [ENABLE]
    aobscan(AressInZ,F3 0F 7E 8F B0 00 00 00 F2 0F 59 C1 66 0F D6 87 C8 01 00 00) //Поиск сигнатуры
    alloc(ObjectSizes, 120)
    registersymbol(AressInZ)
    
    ObjectSizes:
    cmp [edi+C0],3FF00000 //1
    je code
    cmp [edi+70],0 //1
    je code
    push eax
    mov eax,[BashnyaAdress]
    cmp [eax+B4],0
    pop eax
    jne noBig
    mov [edi+9C],40000000 //X
    mov [edi+A4],40000000 //Y
    mov [edi+AC],40100000 //Z
    jmp code
    noBig:
    mov [edi+9C],3FF00000 //Все записываем на 1 если не целимся
    mov [edi+A4],3FF00000
    mov [edi+AC],3FF00000
    code:
    movq xmm1,[edi+000000B0]
    ret
    
    
    AressInZ:
    call ObjectSizes
    nop
    nop
    nop
    
    [DISABLE]
    AressInZ:
    db F3 0F 7E 8F B0 00 00 00
    
    unregistersymbol(AressInZ)
    dealloc(ObjectSizes)

     


    Видео:
    Часть 1:

    Спойлер

     


    Часть 2:

    Спойлер

     


    Часть 3:

    Спойлер

     


    Таблица:
    flashplayer_22_sa.CT

    • Понравилось 1
    • Плюс 1
×
×
  • Создать...

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

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