-
Постов
319 -
Зарегистрирован
-
Посещение
-
Победитель дней
43
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные imaginary
-
-
В танках есть структура хранящая в себе разные параметры физики нашего игрока, ускорение, координаты. По координатам её не найти, зато по боковому ускорению можно, а дальше уже выйти на координаты и обычное ускорение. В видео показано какие параметры за что отвечают.
Поиск:
Крутимся влево - больше, вправо - меньше.
Видео:
СпойлерСкрипт: (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
-
9 минут назад, Garik66 сказал:
первее - такого слова нет. напиши первым в следующий раз.
Да и кстати, а шрифт в СЕ не хочешь сменить для записи видео?
а то плохо читабельно.Хорошо, почему нет? ? Со следующей записью будет обычный шрифт, просто сейчас уже есть ещё 1 записаное почти часовое с курсивным.
А на счёт звука, так я пишу а не говорю. Возможно вскоре эти проблемы решатся. -
В этом видео рассказано как сделать плавное ускорение башни используя игровую инструкцию. Данное ускорение будет работать для любых пушек и для прицеливания мышью.
Код:
Спойлер[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
-
18 минут назад, ЛАГАРИУМ сказал:
Hashes: 0xC45D23BAF168AAB8 0x8880038A
Я могу лишь предположить что это ссылка на инструкцию или указатель, я знаю такие адреса для gta sa, там это указатели, то есть, добавляешь указателем адрес и смещение для него - это будет здоровье машины к примеру, возможно тут так же, попробуй. GTA V скачать нет возможности)
-
10 минут назад, ЛАГАРИУМ сказал:
Нечиво не находить
Значит это другие адреса, ты предоставил слишком мало информации для решения проблемы.(для меня)
-
1 минуту назад, ЛАГАРИУМ сказал:
я имею виду чи можна с етого хеша например 07B2A6DC получить адрес етой функции в чит енжине?
Перейди в отладчик, далее - перейти по адресу - вставляешь свой адрес, переходишь на него.
-
1 минуту назад, Garik66 сказал:
но по времени. получается, что запись про одну после моего поста
Не не не! ? у меня на 2 минуты раньше
-
1 минуту назад, Garik66 сказал:
заменяться будет только один раз
У меня там написано внизу что 1 раз, а ещё если много то лучше всего сделать на lua, но это не ко мне, ещё можно изгалиться и сделать много скриптов таких, положить их в группу и в свойствах указать что бы они активировались вместе с ней, можно такой поиск сделать и на ассемблере, но это надо подумать сколько времени этот скрипт будет искать все адреса, у меня есть такой опыт по minercraft, так вот лучше не стоит, одни проблемы. Точно знаю что такая функция есть в lua, но я там не разбираюсь.
-
Если это адреса, то например 0x07B2A6DC что бы получить адрес надо убрать 0x и будет 07B2A6DC. Правда я не совсем понимаю о чём ты.
-
Если ты хочешь через таблицу заменять, а сигнатура уникальна, то сделай просто:
[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 сигнатуру)
-
Только что, Garik66 сказал:
но долго ты эту уязвимость в табличку добавлял
Ну так там часто бывает что напишешь просто, все отлично, или наоборот пишешь с указателем, а не находит, потому и.. ?
-
В этом видео рассказано как иногда можно найти влиятельные(выгодные) параметры(а именно бессмертие) найдя структуру персонажа по простым параметрам.
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
-
Только что, Garik66 сказал:
Вот посмотри его видео
Смотрели уже, классно получилось, но ты все выставляешь в таком свете будто тут соревнования
-
1 минуту назад, Garik66 сказал:
Очень хорошо знает LUA.
А я LUA вообще не знаю, так что
-
2 минуты назад, Garik66 сказал:
Привыкай
Что ты имеешь ввиду?
-
13 минут назад, Antonshka сказал:
Вот примерный пример эффекта, о котором я говорил
Ну у тебя что то вроде арбрейка без коллизии, как в samp. Получилось весьма интересно у тебя. И спасибо еще раз за упрощенные функции нахождения угла, и про твою информацию о том что fsin,fcos работают с радианами, это мне уже пригодилось
-
В видео показано как работает ускорение в играх, на примере программы в которой отсутствует ускорение, это программа для 3D моделирования "Blender". В видео создаётся функция ускорения и демонстрируется как оно работает. Так же создается полет на нулевые координаты основываясь на созданной функции ускорения, что бы провести аналогию с другой моей статьей, в которой мы в minecraft создаем полет на сохраненную позицию.
Формула получается примерно такая: Конечные координаты=Начальные координаты+(Шаг ускорения/делитель)
Видео:Спойлер- 3
-
44 минуты назад, Antonshka сказал:
есть ли какие-либо продвижения?
Нету предложений, есть только еще вариант, проверить - если расстояние больше 30, то не записывать выше. Так мы получим ровную скорость, остается лишь сделать проверку на первые тридцать метров для плавного старта, и все.
-
17 минут назад, Xipho сказал:
Хотя бы примерно так, как я в своих уроках объясняю
Хорошо, спасибо
-
Вообще ерунда получилась, и еще и размером в час, пусть уж лучше это будет
в следующих видео учту -
7 часов назад, Garik66 сказал:
2. Нужно поменять шрифты СЕ, ИМХО плохо-читабельно.
У меня это системный шрифт, если я его изменю то везде будет другой, попробую переснять с подробными комментариями.
@Xipho Но до какой подробности мне объяснять? там же рассказаны основные элементы, или мне рассказывать вообще все что я делаю? Это получается мне каждый раз заново рассказывать как проходить по смещениям, делать указатели, и прочее?
Там же рассказан принцип конкретно того что сделано, например полет снарядов на указатель -
1 час назад, Antonshka сказал:
При способе, который ты используешь, не будет ли движение не прямолинейное?
Если так хочется сделать, то почему бы не найти угол между точками, и потом сделать так же как в теме в которой мы сейчас пишем, я имею ввиду: (твой рисунок с моими дорисовками)
При этом можно просто записывать полученные значения не в ускорение а сразу в координаты (добавлять), но сначала их сильно уменьшить с помощью деления, и опять же - деление будет скоростью.
А на счет замедления и ускорения просто проверять расчетное расстояние между точками. -
В этой теме рассказано как сделать большие корпуса при прицеле шафтом (пушка), так как шафт наводится не по коллизии а по текстурам, то увеличение последних дает возможность уничтожать танки за стенами или в труднодоступных местах, да и вообще увеличивает радиус попадания. Я пишу этот скрипт с нуля, до этого у меня написан другой, потому видео немного большое.
Скрипт, ищущий адрес башни игрока:Спойлер[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
-
4 минуты назад, Garik66 сказал:
прими поздравления с переходом в статус Рзрабочика!
Спасибо!
[Borderlands 2] Новый уровень с каждым убийством
in Вопросы по созданию читов в одиночных играх
Опубликовано
Вот скрипт и видео, 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)
Видео: