EvilByte

Стажёры
  • Публикации

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

  • Посещение

Репутация

3 Навыки не прокачены

О EvilByte

  • Звание
    Пользователь

Контакты

  • Skype freel1ne1

Информация

  • Пол Мужчина

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

457 просмотров профиля
  1. А вобще нашел метод, относительно языка flash (ActionScript), который переводит координаты, с помощью функции  globalToLocal ()   Но эта функция, работает в среде flash. Встал в тупик(
  2.   Нет желания создавать пиксельный аибот, да и противники, могут менять скин и он не будет работать
  3. Реальные значения, которые влияют на перемещение прицела (это и есть курсор, у него тип 4 байта), они не зависят от самого прицела (прицел просто визуальный). 
  4. Как мне кажется, нужно идти вот в этом направлении
  5. Спасибо за ответы, этот способ я тоже проверял, координаты прицела оказались целые числа, и если в них записывать какие-либо значения, то прицел только визуально меняет положение, а стреляет туда, где стоит курсор. А если записывать значения, в координаты мышки которые были найдены мною ранее, то все работает (стрелять будет туда, куда запишешь значение, а прицел визуальный не будет менять положение). То есть, координаты мышки найдены уже правильно.
  6. Спасибо за ответ, но не подошло. Как вы не можете понять, что координаты мышки и координаты игроков не зависят напрямую. Просто перевод игровых координат в целое число ничего не даст. Тут именно нужно конвертированние координат игровых, в координаты экранные (координаты мышки). Есть ли, на этом форуме специалисты по этому делу (Aimbot)? Возможно, тут нужно делать какие-нибудь геометрические действия?  
  7. Нет немного не правильно меня понял. Координаты мышки целые числа (Пример x=340, y=600) - это положение курсора на экране. Координаты игрока дробные числа (Пример x=3.2235234, y=11.34253452). Перевод координат игрока в целое число - это не проблема. Тут дело немного в другом: Допустим мышка (курсор) у меня находится в центре окна игры (Пример разрешение окна 600 на 800), тем самым координаты мышки x=300, y=400. Игрок, которого мы хотим убить находится в центре экрана, то есть мы вручную навели на него прицел. А координата игрока, допустим x=3.55234663 и y=11.53652346 (При этом, координаты мышки никак не могут быть равны с координатами игрока). Если этот игрок сместится куда - нибудь, то прицел уже будет не на нем. То есть задача такова: Нужно перевести координаты игроков мировые (или игровые, не знаю как они еще называются), в координаты мышки (Экранные координаты).    
  8. Сразу видно, что ты не разбираешься. Почитай про понятие объект (мировые координаты и экранные).
  9. Сейчас попробую. В Cheat Engine ассемблере команды в таком же виде (fld и fistp)?
  10.   Разные типы координат получились такими, так как во всех flash играх существует область окна (swf игры), в которой есть высота и ширина окна (пример 900x600). Курсор мышки, который попадает в видимость окна флеш игры, записываются координаты положения высоты и ширины окна (это и есть координаты мышки).   В пример, если курсор мышки стоит в центре окна игры (900x600), то координаты будут следующие: Xmouse = 450 (int) Ymouse = 300 (int) А мировые координаты игроков, имеют тип float - это X координата игрока, а тип double - это Y координата игрока. Перевести мировые координаты в тип int, это не проблема, но они будут отличаться от экранных координат мышки (курсора).   То есть математический сопроцессор может перевести мировые координаты игроков в координаты мышки каким-то способом? Или вы просто имели ввиду, конвентирование float в int?   Может нужно работать с матрицами, или с геометрией какой-либо (ну нужно учитывать, что это 2D игра)?  
  11. Ничего нового я не услышал (способов реализаций существует множество), вопрос остается открытый - конвертированние мировых координат, в координаты экранные.
  12. Пришла на ум мысль сделать aimbot для 2D flash игры. Сама реализация аимбота мне понятна, но есть некоторая проблема, о которой я скажу позже. Как я представляю реализацию аимбота (Прошу поправить, если что-то не так): 1)Читаем адрес со значением о кол-ве игроков n раз в t время.   2) Запускаем цикл, с перебором всех игроков(базовый адрес + смещение каждого игрока + смещение до координат) и читаем их координаты   3)Далее вычисляем дистанцию от своей координаты до координаты противника и добавляем в массив в отсортированном порядке.   4)Находим адрес координат нашей мышки X и Y.   5)Потом делаем инъекцию кода в уже найденную инструкцию стрельбы, с записью координат ближайшего врага. После инструкции стрельбы пишем команду   mov [адрес координаты мышки X], координата противника X mov [адрес координаты мышки Y], координата противника Y Вот тут, то и есть некоторая проблема.   Координаты противника X - это float значение Координаты противника Y -  это double значение. Координаты мышки X, Y - это int значение(4 байта).   Как я понимаю, нужно каким-то образом перевести координаты противника, в экранные координаты (координаты мышки). Каким образом это сделать, мне не известно. Буду очень признателен, если кто-нибудь поможет мне, с этой проблемой.      
  13.   То есть, если есть байты в сигнатуре со значением 0xFF(-1), то цикл вычитается (не важно, совпал ли байт из буффера с байтом из сигнатуры).   Я просто заменил вопросик на 0xFF   Кстати насчет маски есть один вопрос.   Я правильно переделал код? Чтобы в маске было не два символа "xx", а один "x".   (исходный код) Для двух символов "xx": bool[] maskBool = new bool[mask.Length / 2]; for (int i = 0; i <= mask.Length - 2; i += 2) { maskBool[i / 2] = mask.Substring(i, 2) == "xx" ? true : false; }(переделанный код) Для одного символа "x": bool[] maskBool = new bool[mask.Length]; for (int i = 0; i <= mask.Length - 1; i++) { maskBool[i] = mask.Substring(i, 1) == "x" ? true : false; }
  14. protected int FindPatternKeng(byte[] buffer, byte[] pattern) { if (ProcessСonnection.handle != IntPtr.Zero) { var counter = 0; if (pattern.Length <= buffer.Length) { for (var i = 0; i < (buffer.Length); i++) { if (buffer[i] == pattern[0] | pattern[0] == 0xFF) { for (var j = 0; j < pattern.Length && i + j < buffer.Length; j++) { if (buffer[(i + j)] == pattern[j] | pattern[j] == 0xFF) { counter++; if (counter == pattern.Length) { var result = i; return result; } } else { counter = 0; } } } } } } return 0; } protected IntPtr Scan(byte[] sIn, byte[] sFor) { int[] sBytes = new int[256]; int Pool = 0; int End = sFor.Length - 1; for (int i = 0; i < 256; i++) sBytes[i] = sFor.Length; for (int i = 0; i < End; i++) sBytes[sFor[i]] = End - i; while (Pool <= sIn.Length - sFor.Length) { for (int i = End; sIn[Pool + i] == sFor[i]; i--)// if (i == 0) return new IntPtr(Pool); Pool += sBytes[sIn[Pool + End]]; } return IntPtr.Zero; } 
  15. Но сигнатуру таким способом не находит. Я пробовал и копаться в откладчике c#, но так и не понял в чем проблема. NullAlex: Любой код должен быть обрамлен тегом кода. Это неизменное правило не только нашего форума, но и всех остальных. Подробнее - в FAQ