

partoftheworlD
Пользователи+-
Постов
2 687 -
Зарегистрирован
-
Посещение
-
Победитель дней
172
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент partoftheworlD
-
Даже на моем компуктире идет без лагов и дропов фпс, по ощущениям фпс выше 60. Там просто Glow используется для подсветки противников, так что с ним вх можно сделать. И девушка с синими волосами шикарна точнее её способность ну и она ничего так, можно в противников проходить и разрывать изнутри. ЛОЛ. Обязательно куплю её. 24-16 счет был.
-
Написано не стримить, не фоткать, а взламывать уже можно?
-
В смысле черный? Такой что ли?
-
Благодарствую, забрал. Думаю будет по красивше, чем Quake live, но если это сделала беседка, то значит можно клипатся сквозь стены и летать на предметах. Могу поделиться аккаунтом, если кто желает затестить.
-
Пробовал не снимая бряк, перезапустить сессию, возможно адрес срабатывает один раз при перезагрузке сессии, получает указатель и работает с ним до следующего перезапуска. Но это все догадки, пока нет листинга из дизассемблера. Можешь игру каким-нибудь декомпилятором расковырять чтобы был исходный код.
-
Почему бы не сделать так? Или твой вариант не использует инжект и проделывает все это как внешний чит? typedef void(*Spawner)(dword); auto *AnyFunction = reinterpret_cast<Spawner>(address); void main() { AnyFunction(A2); } BOOL APIENTRY DllMain(HMODULE hmodule, DWORD reason, LPVOID lpReserved) { switch (reason) { case DLL_PROCESS_ATTACH: CreateThread(0, 0, reinterpret_cast<LPTHREAD_START_ROUTINE>(main), hmodule, 0, 0); break; ....
-
Может проще будет написать дллку на C++ добавить функцию как экспортируемую, и запускать из под C# после импорта? Просто .Net по своей природе не предназначен использовать asm, так что это то ещё извращение. А вот это уже хрень какая-то, выходит ты вызываешь ff5de8eb по твоим опкодам, а должен вызывать вроде как физический адрес и программа сама рассчитает положение функции(вроде так называется, если нет прошу поправить, чтобы не создавать путницы), т.е тут должно быть: byte[] asm = new byte[] { 0x68, 0xB1, 0x00, 0x00, 0x00 , // - push 000000B1 { 177 } 0xE8, 0xDD, 0xE8, 0x0D, 0x00, // - call gta-vc.exe+AE8F0 0x59, // - pop ecx 0xC3 // - ret А так все верно и мне кажется должно заработать, если у тебя дллка и она инжектируется в процесс, иначе ты будешь вызывать по этим опкодам функцию внутри своей программы и тогда возможен краш. Но это не точно, т.к не писал на C# и не знаю всех тонкостей.
-
На этот случай у меня есть вариант поиска возможно подойдет, найти координаты камеры/оружия по x координате в небо смотришь будет 89-90, вниз -89- -90 ставишь бряк и после когда в тебя попадут и дернет появляется инструкция задающая это дерганье, а после ничего сложного не должно быть, в функции будут эффекты крови, инструкции расчета нового хп и прочее.
-
Для этой игры лучше отключать урон, вместо бессмертия, а то дергает его ужас.
-
Угу ставишь бряк и смотришь на вершину стека. Плюс в статье уже все есть. Видимо гуглить не умеешь, первая ссылка в гугле http://www.gtamodding.com/wiki/List_of_vehicles_(VC)
-
Отследи этот вызов, чтобы найти инструкцию которая кладет значение в [esp+10], которое перед этим рассчитывается и после выхода из функции кладется на вершину стека, тогда не придется работать со стеком. Core.dll+E5568 глобальная переменная это по любому виртуальная таблица, edx индекс. Уфф, не знаю как в ГП, но в Dishonored много значений передавалось через стек и приходилось искать место где это значение появлялось перед укладкой в стек, иначе скрипт вызывал падения из-за ошибки доступа к памяти. Цикл от минимального значения до максимального, чтобы значение плавно перетекало в то которое тебе нужно, тогда и расчет должен быть корректным. Либо, забей вообще на подсчет очков и просто найди проверку, при которой тебе будет открываться заклинание, чтобы её найти ищи количество очков, от которых можно будет оттолкнуться, наверняка найдешь и формулу которая рассчитывает очки.. Ps возможно мои подсказки будут не верны т.к в любой непонятной ситуации я начинаю реверсить код, вместо поиска других значений.
-
@Xipho в мобильной версии во вкладке Сайт 2 одинаковые ссылки "Сайт"
-
Посмотрел, но по ссылке лишь малая часть, если ковырять глубже, то там будет нормализация угла, если игра от 3-го лица, то корректировки камеры относительно координат игрока.
-
Лазил по msdn и наткнулся на такое определение структуры и функцию void __stdcall X3DAudioCalculate( _In_ const X3AUDIO_HANDLE Instance, _In_ const X3DAUDIO_LISTENER *pListener, _In_ const X3DAUDIO_EMITTER *pEmitter, _In_ UINT32 *Flags, _Inout_ X3DAUDIO_DSP_SETTINGS *pDSPSettings ); typedef struct X3DAUDIO_LISTENER { X3DAUDIO_VECTOR OrientFront; X3DAUDIO_VECTOR OrientTop; X3DAUDIO_VECTOR Position; X3DAUDIO_VECTOR Velocity; X3DAUDIO_CONE *pCone; } X3DAUDIO_LISTENER, *LPX3DAUDIO_LISTENER; Обратим внимание на позицию, т.е получается, через функцию X3DAudioCalculate мы можем получить эту структуру, через которую получим позицию камеры игрока, с помощью которых найдем координаты игрока и его структуру? Или я уже несу какой-то бред?
-
rasm2 входит в фреймворк radare2 D:\Tools\radare2-w32-1.4.0-git>rasm2.exe -a x86 -d -b32 6200D8026200DC026200E0026200E4026200 bound eax, qword [eax] fadd dword [edx] bound eax, qword [eax] fadd qword [edx] bound eax, qword [eax] loopne 0xe bound eax, qword [eax] in al, 2 bound eax, qword [eax] Список поддерживаемых процессоров
-
Именно, сам CE так восстанавливает пропуская 00 байты. Это во всех версиях так, по этому и стандартные скрипты используют байты вместо опкодов, видимо ДБ знает об этом. И вообще генерация байтами откладывает понемногу в мозгу опкоды и это может помочь в чтении Hex дампа и ориентации в коде.
-
У меня все ищется, правда сам поиск будто процессор грузит ужасно, начинаются фризы при генерации карты указателей.
-
Открывай популярный проект open-source на гитхабе или битбакете и узнаешь статистику, багтрекер и т.д
-
Ага, просто потом посмотрел, что это нарушает работу плагина и переделал, возможно забыл обновить. Проверил, что без плагина CE не понимает корректно инструкции при восстановлении на примере нулевого смещения, так что это баг CE, а не плагина.
-
Именно, просто обычное состояние этого чекбокса даже в быстрых скриптах определяло как генерировать инструкции для восстановления, и по стандарту везде генерировались инструкции.