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

Лидеры

  1. ReWanet

    ReWanet

    Ветераны


    • Баллы

      6

    • Постов

      1 681


  2. keng

    keng

    Ветераны


    • Баллы

      4

    • Постов

      1 635


  3. aliast

    aliast

    Разработчики


    • Баллы

      3

    • Постов

      572


  4. Garik66

    Garik66

    Помогаторы


    • Баллы

      2

    • Постов

      5 750


Популярный контент

Показан контент с высокой репутацией 14.04.2017 во всех областях

  1. @krocki, если вдруг интересно, то регистр ESP - это вершинка стека. А штуковины вида "MOV EAX, [ESP+4]" - это чтение аргументов функции. Попробую примерно объяснить суть. Вызываешь ты функцию: invoke Foo,1,2 Эквивалент: PUSH 2 PUSH 1 CALL [Foo] Как при этом работает PUSH? Допустим, что оба параметра у тебя - 32-битные. Стек изначально выглядит как-то так: 0000 0000 0000 Когда ты делаешь PUSH, стек сдвигается: PUSH 2 0002 0000 0000 0000 А после вызова функции через стек передается адрес возврата, вместе с параметрами: 0x1234 0001 0002 0000 0000 0000 И вот ESP при этом будет указывать на 0x1234, [ESP+4] - 1, [ESP+8] - 2, типа того. Сама по себе команда push делает вот так: PUSH arg - это: SUB ESP,4 MOV [ESP], arg Т.е. "отрезается" 4 байта на стеке и в них записывается аргумент, который на стек нужно положить. PS: Я чуток дополню. Копирование ESP в EBP нужно для того, чтобы всегда знать, где изначально лежали параметры. Процедура, которую вызывают, обращается к аргументам на стеке через EBP, в который предварительно сохраняет ESP в прологе функции. Обычно даже в асме все стараются придерживаться сишного соглашения о вызовах.
    2 балла
  2. Предположу, что тебе нужно сделать самый сложный вариант - выбрать бит, который ты меняешь. Заводишь под него флаг. Находишь инструкцию, которая читает значение, что тебе нужно изменить. Делаешь инъекцию. В инъекции еще один флаг (как в телепорте) - нужно ли делать замену бита. Дальше механизм такой. Нужное значение кладешь в регистр, номер бита (из второго флага) - в другой регистр. И делаешь XOR, типа XOR EAX,EBX. После этого, если в EAX лежало нужное тебе значение, бит под номером EBX поменяется на противоположный. Кладешь новое значение из EAX обратно туда, где оно было при инъекции. Сбрасываешь нужные флаги. Все.
    1 балл
  3. Взлом Witcher покупка товаров без денег Скрипт "Покупка товаров у торговцев без денег.": Видео: Табличка: witcher.CT
    1 балл
  4. Ты точно запускаешь Пуск-Программы-Стандартные-Подключение к удаленному рабочему столу?
    1 балл
  5. Только что выложил в той теме патчер для Win 8.1. Только там не патчер, а уже патченная dll. У меня всё заработало. Осталось выложить патчер для Win 10, но мне его тестить не на чем.
    1 балл
  6. Если есть второй ноут или комп, то можно попробовать сделать так - очень удобно. Правда с переходом на Win8 способ работать перестал
    1 балл
  7. Эта функция вернет ноль в EAX/RAX только если у нее не получится выполнить свою работу. В остальных случаях она вернет результат, состояние "нажато" - "не нажато" которого будет определяться 16-м битом. То есть test или cmp всегда сработают, независимо от положения этого самого шестнадцатого бита. По-хорошему нужно делать именно сдвиг и смотреть на бит. Вот пример. Допустим, что пришел нам результат в EAX:
    1 балл
  8. Твой персонаж если он выделен будет всегда следовать за курсором Ну а вот так только по нажатию правой клавиши мыши ( ПКМ ) Garik66 скрипт в игре не работает Видео работы: P.S. registersymbol(CurX-Y-Z) можешь удалить.
    1 балл
  9. Писал на коленке (без теста). попробуй Блинк-телепорт по щелчку мыши (ПКМ).
    1 балл
×
×
  • Создать...

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

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