partoftheworlD
-
Постов
2 687 -
Зарегистрирован
-
Посещение
-
Победитель дней
172
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные partoftheworlD
-
-
-
2 часа назад, rugraver сказал:
Цель простая: указатели для бесконечного боеприипаса, медаптечки,продпакета.
А зачем в играх на моно указатели? Я конечно понимаю, извращения там у каждого свои, но куда проще обратиться на прямую по имени функции и сказать ей "эй метод, а кому ты отдаешь все ништяки?" простой командой mov.
-
Оу, так надо было выравнивать по одной стороне. Черт, я думал типичное задание с елочкой.
-
-
-
8. не заниматься ерундой с фильтрами, а найти инструкцию, которая работает с теми адресами, которые нужны.
9. вычислить адрес самостоятельно.
-
4 минуты назад, Senpai сказал:
как залить только драйвера на модем
вырвать прошивку из установщика программы?
-
Live CD с линуксом и modem-manager-gui
-
15 минут назад, Alex2411 сказал:
будут скрипт правильно работать на 64 если работает на 32 ?
Угу, все правильно будет вне зависимости от разрядности системы.
Специально перепроверил.
x86 - абсолютный адрес(никакие вычисления не нужны)
x64 - относительный адрес (нужны вычисления)
- 1
-
8 минут назад, RegionCL сказал:
У кого-нибудь есть инструкция как пользоваться этим софтом?
1. Открываешь рекласс
2. Указываешь адрес начала структуры
3. Устанавливаешь имя и тип переменной по выбранному смещению.
После эти структуры можно генерировать в классы для C++/C# и использовать присвоив адрес структуры указателю на сгенерированный класс. -
10 минут назад, Alex2411 сказал:
надо было просто взять из байт сразу адрес
Это достаточно тонкий момент как оказалось, в x64 байты представляют из себя относительный виртуальный адрес от текущего EIP., а x86 это абсолютный адрес, хотя это надо будет перепроверить, возможно это частный случай.
-
1 час назад, Alex2411 сказал:
а на адрес который в этой инструкции BattleBrothers.exe+2FD254 нет
В чем проблема посчитать?
В той статье на которую я давал ссылку, есть пример как рассчитать.
Если получишь 4 байта (54D26F00) относительный виртуальный адрес, достаточно будет эти 4 байта сложить с началом модуля, чтобы получить адрес указывающий на структуру. И сигнатура будет работать до тех пор, пока не изменится код функции в которой находятся эти инструкции и до тех пор пока этого не случиться у тебя будет работать скрипт.UPD в x86 даже ничего рассчитывать не надо, байты являются абсолютным адресом, достаточно просто получить их.
BattleBrothers.exe+E4EF2 - A1 54D26F00 - mov eax,[BattleBrothers.exe+2FD254] BattleBrothers.exe = 0x400000 0x4E4EF2 - A1 54D26F00 - mov eax,[0x6FD254] aob(instr, 'A1 ? ? ? ? ...') ##################################################### #mov eax, instr //instr = 0x4E4EF2 (A1 54D26F00)# #inc eax // eax = 0x4E4EF3 (54D26F00) # #mov eax, [eax] // eax = 0x6FD254 # #mov ecx, [eax+100] // # #cmp ecx, [esi+0C] // # #pop ecx // # #####################################################
-
1 час назад, Alex2411 сказал:
с помощи aob этот адрес не найти
Почему? У тебя есть сигнатура с маской, маска решает проблему с меняющимися значениями, смещениями, переменными.
33 минуты назад, Garik66 сказал:Короче. если затрудняешься кинь сюда два
ИМХО Не стоит, ему надо понять как сигнатуры работают, а это лишь дополнительные проблемы создаст.
-
Если сложно пока в одном скрипте все реализовать, то используй глобальные переменные. Первый скрипт, берет [BattleBrothers.exe+2FD254], помещает в глобальную переменную. Второй скрипт использует эту глобальную переменную.
##########Script 1########## globalAlloc(Base, $4) mov eax,[BattleBrothers.exe+2FD254] mov [Base], eax
##########Script 2########## subss xmm0,[esi+0C] push ecx mov ecx,[Base] mov ecx,[ecx+100] cmp ecx,[esi+0C] pop ecx jne
-
1 час назад, Alex2411 сказал:
как написать в скрипте что бы он
Для сигнатуры просто делаешь маску, типа 8B ? ? ? ?, главное чтобы она была уникальной. Дальше высчитываешь смещение от начала сигнатуры, до [game.exe+1234] и получаешь 4 байта указывающие на [game.exe+1234]Вот для примера.
-
xbindkeys решает проблему. -Главное после установки отключить в конфиге доп.бинды на клавиатуру.
-
Возникла проблема с биндами кнопок на новой мыши в линуксе, т.е старая мышь работает "из коробки"(SS Sensei), а у новой(Zowie FK1+) не работают дополнительные клавиши. Чем можно посмотреть какие-нибудь идентификаторы доп. кнопок на мыши, чтобы написать конфиги с биндами?
-
14 часов назад, Senpai сказал:
Так, а далее?
Читать документацию
-
55 минут назад, Garik66 сказал:
чтобы понять что ты хочешь получить.
Да простой перебор смещений многоуровневого указателя, решается циклом.
-
-
6 минут назад, Sergey99 сказал:
Может ли меняться смещение (в моём случае 842432) при динамическом распределении памяти и при статическом?
Нет, это значение является относительным виртуальным адресом, которое всегда будет равно этому значению на текущем патче.
ЦитатаRVA - это сокращение от Relative Virtual Address, т.е. относительный виртуальный адрес. "Относительно чего?" - спросите вы. "Относительно Image Base" - отвечу я. Например, если какая-либо строка хранится в памяти по адресу 450000h, и Image Base = 400000h, то RVA этой строки равен 450000h - 400000h = 50000h
-
2 часа назад, Sergey99 сказал:
непонятно зачем там нужен оператор смещения >>)
11 часов назад, partoftheworlD сказал:Бинарное умножение на 16
2 часа назад, Sergey99 сказал:как вы нашли этот параметр
Магия реверса, по строкам находишь функцию регистрирующую команды, которая принимает как аргументы
Имя команды "g_speed " Минимальное значение "190 " Маска 1 "0x80000000 " Маска 2 "0x7F7FFFFF " Максимальное значение "192 " Описание "bla-bla-bla"
Дальше входишь в эту функцию, и смотришь куда ведет тебя имя команды и минимальное значение, входишь снова в функцию, которая принимает эти значения. Так как можно предположить, что принимаемые аргументы не просто так прописаны, можно сделать вывод, что по имени команды каким-то образом вычисляется положение блока памяти, которое относится к передаваемой команде. А значит надо присмотреться к циклам и массивам.
В этой статье что-то похожее рассматривал уже. -
? Конечно он ничего не найдет, ты ведь делаешь поиск сигнатур в ntdll модуле, а нужно выбрать модуль игры. Это во вкладке отладочные символы выбирается.
-
Если картинка в буфере - CTRL+V, если в файле - то куда-нибудь на imgur и вставлять ссылку. Если картинок больше 1, то под спойлер.
С++ задание
in Общение
Опубликовано
Конечно, но зачем лишние костыли, когда спецификация позволяет?
По мне, так это какие-то жесткие и не здоровые извращения.?