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

Dino

Пользователи+
  • Постов

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

  • Посещение

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

    4

Сообщения, опубликованные Dino

  1. 45 минут назад, DaVilka сказал:

     

    ID всегда равен 1 байт, он пишется из al по адресу 6BB6DFA0, ecx == 00000000

    Дальше идет тело, dword( 4 байта) -> dword -> dword -> dword -> char(1байт всегда равен 00 хз почему его не записало

    Во второй инстукции, где пишется eax, ecx == 00000001

    Собственно а как щас пишет, 4 байта eax?

     

     

     

     

    и что?? Я во втором посте объяснил почему так происходит, и даже почему 17, а не 18

  2. 21 час назад, gamehikker сказал:

    Мне программно нужно адрес девайса найти . Чтобы в нём подменить адрес нужной функции .

    1)создаешь девайс

    2)получаешь адрес таблицы виртуальных методов(адреса методов в таблице будут идентичны с оригинальнымы)

    3)Из свой таблице выдираешь сигнатуру(допустим первые 50байт) и по ней ищешь оригинальную таблицу

    4)далее, когда адрес оригинальной VMT будет получен - подменяешь в ней необходимые тебе методы на свои.

  3. 12 часа назад, Xipho сказал:

    Хотел конструктивной критики. Ну вот она:

    Ну на самом деле для обучения все средства хороши, я вообще, подобное изучал на примере исходника бота. А так от прочтения одной статейки никто и не гарантирует успех.

  4. не смущает, что у тебя base address + scan size меньше адреса начала сигнатуры?

    5 часов назад, IzerodayI сказал:

    у меня тоже находит , но когда на него делаю сигнатуру получается снизу пусто : https://cloud.mail.ru/public/Ckd6/ByvScaqEn

    еще меня смущает , что кроме модуля client написано thread

    Если клиент приостановлен, то показывает ид потока на котором брякнулся

  5. причем тут помогло не помогло? углы должны быть представлены в радианах об этом ясно сказано в доках, тут нужно не пробовать, а делать.

     

    Новые координаты находятся по таким формулам

    x2 = x1 + dist*cos(angle);

    y2 = y1 + dist*sin(angle);

     

    еще можешь почитать это 

    https://habrahabr.ru/post/131931/ и это http://gamehack.do.am/publ/ajmbot_dlja_mta_sa/1-1-0-4

  6. 10 часов назад, barsuuk сказал:

    хех) я чет не могу понять в чем проблема)) углы правильные, формула вроде тоже, но вывод это линия их головы в 0 0 кординаты окна, хотя косинус и синус вроде верные)

    вот кусок кода

    
    private void EyesLine(ScreenVector s)
    {
    
     double kx = 50*  Math.Cos(angles.X);
     double ky = 50 * Math.Sin(angles.X);
    
      bufferedGraphics.Graphics.DrawLine(new Pen(Color.Green, 2), s.X, s.Y, (float)kx, (float)ky);
    }

    любой угол дает 0((

    https://msdn.microsoft.com/ru-ru/library/system.math.cos(v=vs.110).aspx . А у тебя углы в радианах?

  7. согласен с partoftheworlDПри невозможности использовать скил, игра наверняка выдает какое-либо сообщение(но а иначе никак). Ищешь это сообщение (ansi/unicode) далее ставишь на него бряк на доступ(достаточно на первый символ) и еще раз пытаешься использовать скил вовремя действия кд. После этих действий игра словит бряк, но скорее всего на каком-нибудь memcpy или lstrcpy(из нее нужно найти выход, тк мы работаем с модулем игры, а не сис вызовами), и теперь уже можешь разбирать цепочки функций, дабы понять, что могло заставить игру перейти к этому участку кода, когда это поймешь - поймешь как можно обойти кд. Но к сожалению только для клиента :D , потому что разработчики не такие дурачки, чтобы забыть о серверной проверки cooldown умений.

  8. 15 час назад, DeadShot сказал:

    Снова не то, кроме с "fnstsw ax загружает регистр состояния sr или swr в ax, долго ломал голову как fnstsw  может загрузить float значение в ax.

    На счет fld1, fldz и инструкций выталкивания fstp, я так и делал, выгружал с помощью fstp [_temp] 2 раза, а дальше уже был тест с комбинациями загрузок 0.00 и 1, с помощью fldz и fld1.

    ты код то покажешь?

  9. 11 минуту назад, Garik66 сказал:

    Может я не так понял?

    вот что написано:

      Скрыть содержимое

     Команды fstsw и fnstsw сохраняют текущее значение слова статуса FPU в указанном месте. Операндом-адресатом может быть либо 16 бит в памяти, либо регистр AX. fstsw перед сохранением слова проверяет на подвешенные немаскируемые прерывания, fnstsw этого не делает.
       Команды fstcw и fnstcw сохраняют текущее значение управляющего слова FPU в указанном месте в памяти. fstcw перед сохранением слова проверяет на подвешенные немаскируемые прерывания, fnstcw этого не делает. fldcw загружает операнд в управляющее слово FPU. Операндом должно быть 16-битное расположение в памяти.

     

     

    под "текущее значение слова статуса FPU" подразумевается регистр состояния SR. Ну сам логически порассуждай, как можно число с плавающей точкой в 16 бит уместить :D 

  10. 1 час назад, Garik66 сказал:

    Нужно либо фильтровать на этой инструкции, если тебя интересует конкретная машина, либо смотреть выше по коду, откуда берется в esp - начало структуры машины.

     

    После  fnstsw ax смысла уже нет что-то переписывать.

    опкод  fnstsw ax, копирует значение из st(0) в память, либо в регистр ax, в твоём случае именно в ax. 

    ну не путай человека, пускай вон лучше справку почитает. fnstsw ничего не копирует из st(0)

     

    14 часа назад, DeadShot сказал:


    Dino, в st(0) и st(1)? пробовал после  fnstsw ax выталкивать данные и загружать fldz, fld1, эффекта нет.

    fnstsw ax, меняет значение регистра eax, как, каким образом?

     

    Что за магический код такой? как узнать откуда дальше берутся значения, и какие значения.

    чего ты хочешь добиться командами fldz, fld1? Чтобы вытолкнуть из st(0) существует команда fstp

     

    никакой магии, элементарное не знание основ.

  11. А из ядра что ты собрался делать с памятью?(Драйвер за 200р *ROFL*) Или может полагаешь это единственный путь либо dll? А может на процесс навешана какая-либо защита, обход которой подразумевается?

    Ну за 10 минут на сайте фрилансеров калькулятор, думаю, напишут за 200руб.

    Кстати, насчет формы с кнопками тема до сих пор не раскрыта.

     

  12. белым по черному написано же, индекс находится вне границ массива, то есть происходит обращение к ячейке памяти, которая защищена от чтения, либо ее вовсе не существует.

×
×
  • Создать...

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

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