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

partoftheworlD

Пользователи+
  • Публикаций

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

  • Посещение

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

    171

partoftheworlD стал победителем дня 1 апреля

partoftheworlD имел наиболее популярный контент!

Репутация

814 Advanced Gamehacker

Информация о partoftheworlD

  • Звание
    инженер проектирующий свалки

Информация

  • Пол
    Array

Посетители профиля

14 127 просмотров профиля
  1. Автоматический поиск указателей не гарантирует нахождение указателей, он просто перебирает смещения, поэтому в зависимости от игры он может работать, а может не работать, на это влияет множество факторов от правильности пути по которому будет сохраняться результат до всяких прав доступа к памяти. Ручной поиск хоть и дольше, но результат гарантирован(если не потеряться в ответвлениях структур).
  2. игру(Assembly-CSharp.dll) открываешь через dnSpy. ищешь упоминания лески/натяжений/катушки, в классе FishingLine(леска) будет метод UpdateTension(обновление натяжения), теперь необходимо получить адрес значения натяжения, быстро пробежавшись по дизассемблеру и коду в dnSpy можно найти инструкцию, которая работает с натяжением. Дальше ищешь рабочую инструкцию с этим же смещением, если эта не срабатывает. Получаешь адрес значения натяжения Теперь устанавливаешь на этот адрес брейкпоинт на запись, и ждешь пока рыба клюнет: После подсечки появятся еще 4 инструкции, скрипты нужно будет написать на первые 2 с обнулением xmm5. И скрипт
  3. Если справка выводится локальная - удалить её, если вызывает URL с инфой, то сломать ShellExecute внутри CE Эти функции патчишь ret и больше никакой справки cheatengine-i386 : 55 89 E5 8D 64 24 C8 53 56 57 66 89 D6 cheatengine-x86_64: 55 48 89 E5 48 8D 64 24 ? 48 89 5D C8 48 89 7D D0 48 89 75 D8 66 89 D3 Можно и от F1 отвязку сделать, но мне лень, патч по идее должен сработать.
  4. Ищи редакторы на форумах мододелов, либо пиши свой редактор на основе функций игры, иначе никак.
  5. Составление темы в разделе вопросов без вопроса, вот что круто.
  6. partoftheworlD

    Поиск анимаций CE

    Нужно выйти на структуру игрока и смотреть все вложенные структуры минимум в 2-3 уровнях.
  7. Нужно смотреть на код, как расставляешь и проверяешь доступность hwbp, а так же как отлавливаешь исключения
  8. Размер указывается для определенных типов брейкпоинта, чтобы зацепить изменения в адресе, только на запись и на чтение, если брейкпоинт на выполнение, то размер игнорируется. Получение значений регистров через асм вставки не должно было вызвать проблем, но правильнее было бы открыть поток, получить контекст, из контекста выбрать нужные регистры. auto threadID = GetCurrentThreadId(); auto hThread = OpenThread(THREAD_GET_CONTEXT | THREAD_SET_CONTEXT | THREAD_SUSPEND_RESUME | THREAD_QUERY_INFORMATION, FALSE, threadID); CONTEXT ctx = { 0 }; ctx.ContextFlags = CONTEXT_FULL; GetThreadContext(hThread , &ctx); Удивительно, это ведь обычный mid hook.
  9. Если времени мало, стоит определить для начала для чего нужен асм, если в целом для программирования на асм, то лучше The Art of Assembly Language, 2nd Edition Randall Hyde пока ничего не находил, если для отладки, то куда быстрее будет заняться реверсом, а так же иметь под рукой документацию по асму, решать всякие crackme/keygenme, для начала даже можно самому компилировать простые программки, учиться по ним читать и понимать асм.
  10. Навряд ли, скорее просто проверка инициализировалась ли память под структуру нового предмета. Во-первых обратить внимание на то, как происходит подбор, если без касания к предмету(т.е. гг проезжает мимо и лут собирается) это идеальные условия. Для начала стоит попробовать более простой способ поиска, например, попытаться найти дистанцию между предметом и гг. Если такое значение найдется, считай 75% дела уже сделано и останется как по учебнику повесить бряк на доступ и после подобрать предмет, таким образом ты найдешь инструкцию, которая сравнивает дистанцию между предметами, и если она меньше определенного статического значения, то будет подбор. А дальше на любителя, либо отключить проверку, чтобы подбор было по всей локации, либо увеличить дистанцию.
  11. Функция принимает D3DXVECTOR3, а ты передаешь ей float Так же, твой Vector2D является Vec3, а возвращаемое значение WorldToScreen имеет тип D3DXVECTOR2. Написать перегрузку WorldToScreen, судя по исходникам с этим не должно возникнуть проблем. Или написать шаблон WorldToScreen.
  12. Потому что эта функция может использоваться любыми программами и даже системой, если что пойдет не так будут проблемы. Да и это достаточно глупо, можно сравнить например, вот возникла трещина в кости, а врачи вместо гипса, конечность отрезали, по сути проблема решена, но стоило ли оно того. Вот и тут так же, поэтому прежде чем что-то внедрять в winapi надо понимать последствия и на их основе уже оценивать необходимость такого подхода.
×
×
  • Создать...

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

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