-
Постов
319 -
Зарегистрирован
-
Посещение
-
Победитель дней
43
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент imaginary
-
В статье нет примеров и видео, поскольку мне кажется тут не о чем больше рассказывать, (в отличии от FPU) ?
-
В данном руководстве описано как использовать xmm регистры, а так же некоторые команды. Список некоторых команд (напоминалка): О регистрах: Регистры в этих дополнениях сопроцессора очень похожи на основные, но в отличии от них могут содержать целых четыре элемента, и даже работать сразу со всеми четырьмя! Арифметические операции с регистрами: Все функции сложения, вычитания, и другие могут быть совершены только с регистрами. Такая инструкция сработает: addss xmm0,[MyLabel] А такая - нет. addss [MyLabel],xmm0 Потому следует все операции производить после записи регистров. Например, если необходимо прибавить что нибудь к переменной можно использовать такой код: movss xmm0,[MyLabel] //Записываем в xmm0 наше число addss xmm0,[MyAddValue] //Добавляем к нему другое movss [MyLabel],xmm0 //Записываем из xmm0 назад в число. Так же нужно помнить что регистры это не стек, и потому значения свои сохраняют после записи. Как уже было сказано выше, эти регистры могут содержать целых 4 элемента - работа с массивами: Массив должен состоять из четырёх элементов, например такой: MyMassiv: dd (float)2 dd (float)7 dd (float)29324.126 dd (float)8261.3 Что бы записать этот массив в xmm мы можем использовать следующий код: movups xmm0,[MyMassiv] После чего получим в xmm0 все четыре числа по порядку. Теперь мы можем сделать что нибудь с этим массивом, например умножить его на другой массив. К примеру вот такой: MyMassivMul: dd (float)1 dd (float)2 dd (float)0.5 dd (float)2 Умножаем: movups xmm0,[MyMassiv] //Загружаем наш массив movups xmm1,[MyMassivMul] //Загружаем массив на который умножим mulps xmm0,xmm1 //Умножаем movups [MyMassiv],xmm0 //Возвращаем в наш массив. После выполнения этого кода, массив примет такой вид: 2; 14; 14662,063; 16522,6. Так же можно вычитать, делить, находить корень, складывать, и многое другое.
-
Всё не работает, например ты пустой адрес записываешь в ebx, после в [00000000](ebx) записываешь edx, и соответственно вылет. AOB - когда выбираешь как сделать инъекцию кода, есть выбор AOB. Это инъекция с поиском байт - CE ищет байты и после туда внедряет код. Лучше всего тебе пойти посмотреть самые начальные уроки. Какое название у игры?
-
Для этого и существуют скрипты, берёшь какую нибудь инструкцию которая работает с твоим игроком, например с его здоровьем, типа такой Пример: mov [eax+123],ecx На неё делаешь скрипт, в скрипте создаёшь метку, вроде такого: Теперь, добавляешь в таблицу MyPlayer (в строку адреса вписываешь). В итоге получаешь при активации адрес своего игрока, и наплевать на обновления. (инъекцию AOB делать надо). Но учти, что инструкция должна работать только с твоим игроком.
-
Создай скрипт типа такого: Всё, теперь ты можешь писать в newmem всё что хочешь, в пределах выделенного места. То есть например: А на счёт твоего кода, как бы там ни было, мне кажется ты записываешь в адрес переход по которому ничего не даст, то есть ведёт в никуда, попробуй сделать отладку. Мне не совсем понятно что ты пытаешься сделать, но если хочешь записать в тот адрес что то своё, то просто сделай: mov [ebp-10],edx //В место edx что то своё
-
Возможность смены отладчика как раз и позволяет например обойти защиту игры от отладки. Если хорошо работал windows отладчик, то незачем менять на другой.
-
Ты слишком банально себе это всё представляешь, тк ты искал адрес который (ключевое слово) храниться в другом, совсем не обязательно что там инструкции будут руководствоваться той же логикой что и предыдущие. Попробуй сделать скрипт и уже дальше смотри, если прямо проблема то повесь опять же скрипт на одну из первых инструкций и получай оттуда адрес игрока.
-
Заметь, дебагер показывает только конечный адрес, то есть после выполнения mov ebx,[ebx] он покажет тебе не нужное смещение, а твой же адрес. Потому перейди в отладчик - поставь бряк на этот адрес, и как только бряк поймает поток посмотри вправо - там появятся все регистры. Скопируй оттуда ebx, в нём должен быть правильный адрес. Это смещение +0. После можешь убрать бряк и запустить выполнение. Все нужные функции найдёшь в Debug.
-
FreeCam - свободная камера, подразумевает возможность полёта камеры отдельно от объекта/персонажа и тому подобного, используется в самых разных целях, для обнаружения противников, для создания красивых снимков, для нахождения секретов и тому подобного. Принцип создания: Всё зависит от типа игры. Если реализован поворот камеры мышью - то данную функцию делать не нужно. Для перемещения камеры можно использовать самые разные функции, но я склоняюсь к полёту в ту сторону куда смотрит игрок. Для этого необходимо вычислить синус и косинус для поворота по горизонтальной, и синус для поворота по вертикальной оси. После их надо умножить на радиус, мы получим точку на сфере - это и будет вектор ускорения для камеры. Его следует добавлять к уже существующим координатам камеры, изменяя радиус мы можем изменять скорость. Для того что бы камера была "свободная", нужно записывать свои значения в координаты, а функцию которая записывает их в игре по стандарту - отключить. Более детально всё показано в следующем видео Создание свободной камеры на примере игры "WarThunder": Видео где показан принцип работы формул: тык
-
Ставишь тип поиска Array of byte (Массив байт) ставишь "без разницы" в Writable и CopyOnWrite (синие квадратики вместо галочки), ставишь галочку hex у строки поиска, вставляешь массив и ищешь. Дам тебе ещё совет как там можно очень просто реализовать бесконечные патроны. Замени в своём скрипте ja Borderlands2.exe+A189C2 На jb Borderlands2.exe+A189C2 Только это еще сделает врагов бессмертными, и тебя ?
-
Например у тебя в коде есть какая нибудь сигнатура допустим (случайные числа) 23 7B 26 22, CE ищет эту сигнатуру. У тебя есть ещё один скрипт, он при поиске использует её же. Первый скрипт изменяет сигнатуру своим jmp *название метки*. Например он меняет первые 2 байта. (23 7B). Тебе надо найти вторые 2 байта и туда поставить скрипт, но первые байты изменены. Вместо этих байтов ставишь ** ** 26 22. Но так сигнатура может потерять свою уникальность, потому смотришь что есть выше в отладчике - например A5. Добавляешь A5 ** ** 26 22. Проверяешь поиском - уникально - используешь. Но вообще не стоит делать 2 скрипта которые работают в одном месте, сделай всё в одном скрипте. И к тому же, у тебя один скрипт может перезаписывать кусок jmp от другого, скорее всего будет просто вылет программы.
-
А какая разница, значение целое, находятся рядом, что так что эдак выходит одно и то же ведь ?
-
В видео показано как сделать моментальную башню у танка, а так же что еще можно сделать моментальным. Скрипт на башню (64 бит): Советую написать свой скрипт на функции которая записывает в поворот, так будут намного качественней движения башни. Видео:
-
Не будет, второе cmp перезапишет флаги первого, будет работать только второе. Лучше напиши: cmp [esi+A4],4 jg code cmp [esi+A4],3 jl code
-
В этом руководстве показан принцип работы стека FPU и обращение с ним, рассмотрены команды загрузки, записи, проверки, и другие. Первая часть: Вторая часть: SoCommands.txt
- 1 ответ
-
- 4
-
-
-
*Длинное видео к тому же содержит кучу моих ошибок, советую посмотреть полностью, (если будете сразу что то делать) , возможно такой опыт вам пригодится ? В этом видео показано как сделать сбор предметов с области (на сервере тоже) область регулируется (квадрат). Скрипт (поиск персонажа): Скрипт (сбор) с пояснениями: Видео (2 часа):
-
Вот скрипт и видео, 2 инструкции, при убийстве врага записывается значение очков для уровня *забавно получилось - игра показывает кучу опыта при победе над врагом, будто так и должно быть) Действует только если за врага дают опыт, после достижения определённого уровня за слабых врагов больше не дают, за сильных дают. Скрипт: Видео:
- 21 ответ
-
- 1
-
-
В танках есть структура хранящая в себе разные параметры физики нашего игрока, ускорение, координаты. По координатам её не найти, зато по боковому ускорению можно, а дальше уже выйти на координаты и обычное ускорение. В видео показано какие параметры за что отвечают. Поиск: Крутимся влево - больше, вправо - меньше. Видео: Скрипт: (64 бит flashplayer_sa. только)
- 1 ответ
-
- 2
-
-