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

Xipho

Администраторы
  • Постов

    4 022
  • Зарегистрирован

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

    42

Весь контент Xipho

  1. Нет. Если в оригинале три байта, значит, тебе надо брать две инструкции, так как прыжок займет пять байт. Логика такая. Прыжок всегда занимает 5 байт. Из длины инструкции вычитаешь 5 байт и получаешь количество нопов (не нУпов), которые нужно проставить Допустим, инструкция 8 байт, от 8 отнимаешь 5 - получаешь 3 нопа. Если инструкция 10 байт - отнимаешь 5, получаешь 5 нопов. Если инструкция меньше 5 байт, нужно взять две инструкции (одну ту, что нужно, вторую - следующую), или три инструкции. В общем, столько инструкций, сколько их составит не меньше пяти байт. То есть, если идут две инструкции по 3 байта, то их берешь две, и один ноп: (3 + 3) - 5 = 1 Может быть и такой случай, когда понадобится три инструкции. Например (3 + 1 + 1) - 5 = 0 (одна трехбайтная и две однобайтные инструкции, например) В общем, суть, думаю, ты понял.
  2. Именно такие трейнеры, как этот - одобряю.
  3. В стандартном АА-скрипте тоже можно применять aobscan.
  4. Прыжок на кодкейв (инжект) всегда составляет 5 байт (в общих случаях, частности не рассматриваю сейчас). Обычно СЕ автоматически высчитывает длину инструкции и количество нопов для балансировки. Но если делаешь вручную - сначала подсчитай байты инструкции, которую ты будешь затирать прыжком на кодкейв (инжект).
  5. Ты, очевидно, что-то не так понимаешь. AOBScan - это функция поиска инструкции по сигнатуре (соседним уникальным байтам). Почитай темы на форуме, вникни.
  6. Для балансировки длины инструкции. Была инструкция, допустим, 7 байтов длиной, а ты прыжком ее забил. Стала инструкция 5 байт длиной, и образовались два лишних байта. А процессор выполняет инструкции последовательно. И тут ему два каких-то непонятных байта суют. Вот и вылет. А если вместо эти двух лишних байт поставить nop (No operation), процессор их выполнит ничего не делая (но оперейшн - нет операции) и дальше пошпарит по порядку как надо.
  7. Сделай на AOBScan, больше людей смогут воспользоваться. Проверил на другой таблетке - не работает )
  8. Xipho

    Взлом игры

    Здравствуй, правила форума почитай и узнаешь.
  9. Так, хватит. Споры и ссоры прекращаем. Надоело. Тему почистил, пред один (который был спровоцирован) снял.
  10. Обновил версию, вычистил несколько некритичных багов. Перекачайте, кто качал.
  11. Тебе нужно не трассировщик инструкций проверять. Читай выше внимательно. И в прилагаемом скриншоте смотри, что я имею в виду
  12. Делай отображение этой инструкции в отладчике, и там выбери "Find out what addresses this instruction accesses". И посмотри, сколько адресов вылезет. Подозреваю, что много и тебе придется делать фильтр.
  13. Не "сдвинул ecx", а "записал в ecx". И попробуй так: originalcode:mov [rax+28],ecxmov [rax+28],200000movzx eax,byte ptr [rsp+70]И, разумеется, проверь, не работает ли эта инструкция с каким-то еще адресами, что вполне вероятно.
  14. Написал на досуге плеер для данной радиостанции под винду. Если интересно - тестируйте. Прикрепил к первому посту.
  15. 1. Неинформативное название темы. 2. Не указано название игры. 3. Просто не давай обновляться координатам.
  16. Тогда механизм такой 1. Находишь окно игры (FindWindow) 2. Получаешь контекст устройства этого окна (GetDC) 3. Создаешь шрифт (CreateFont) 4. Выбираешь его в контекст устройства, найденный выше (SelectObject) 5. Создаешь надпись и выводишь ее на выбранный контекст (DrawText или TextOut) 6. Уничтожаешь созданный шрифт (DeleteObject) 7. Освобождаешь контекст (ReleaseDC) Вот такой алгоритм, если вкратце. Читай про указанные функции, и применяй на практике.
  17. Онлайн игра, говоришь? А какого рода информацию ты хочешь выводить? Если что-то, что поможет обмануть других игроков - топай читать правила нашего форума. А по выводу на чужую поверхность с мерцанием и без хуков - читай функции GetDC, SelectObject и другие функции GDI.
  18. Не непосредственно в видеокарту. Мерцание возникает из-за того, что оригинальная частота обновления кадров приложения не синхронизирована с частотой обновления накладываемой картинки. Это бывает, когда для наложение используется GDI прием с получением контекста окна и выводом графических команд на него. GDI обновляет окно по-своему, DirectX - по-своему. Отсюда нестыковка и мерцание. Именно поэтому и стали использовать хуки, то есть, перехват функции вывода DirectX, и внедрение своего кода перед непосредственно самим выводом. Это даже не является перехватом, по сути. Это просто наложение одной графической информации поверх другой.
  19. Xipho

    X64 Dbvm

    Так он драйвер так не загружает. Загружается драйвер при отладке. А у тебя подпись по-прежнему включена, отсюда и вылеты.
  20. Да это не особо важно, они действительно связаны между собой. Факт в том, что ты видел на видео, как я сделал, и что оно работает. Дальше дело за тобой.
  21. Xipho

    X64 Dbvm

    А как ты видел, что у тебя DBVM запустилась?
  22. Так не нужно их совмещать. Что мешает сделать вот прямо вот так: http://www.youtube.com/watch?v=7C0KdKk1g64
  23. Кликаешь в проекте на Form1.Designer.cs (не знаю, как он у тебя в русской версии называется, но похоже должен быть) Находишь функцию private void InitializeComponent() Убеждаешься, что в этой функции есть такой код: this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseDown);В моем случае регистрируется функция private void Form1_MouseDown(object sender, MouseEventArgs e) { this.Capture = false; var msg = Message.Create(this.Handle, 0xa1, new IntPtr(2), IntPtr.Zero); this.WndProc(ref msg); }И обрати внимание. Событие вешается на саму форму, а не на picturebox. Так что будь внимателен, и все у тебя получится. Надеюсь, поймешь, куда нужно вписать свои значения, а не будешь заниматься копипастой. И да, если ты не видишь фукнцию private void InitializeComponent() - у тебя она в коде скрыта, надо нажать плюсик в той же строке, где написано Windows Forms Designer Generated Code (у тебя может быть опять же по-русски написано).
  24. Разумеется, нужно выбирать что-то одно. Но ты, судя по всему, не выбрал вообще ничего.
  25. Вот у тебя там даже написано над твоей функцией - ссылок: 0. Потому что ты саму функцию скопипастил, а не зарегистрировал в качестве события. Читай внимательно, как это делается, выше в моем посте, и делай.
×
×
  • Создать...

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

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