-
Постов
160 -
Зарегистрирован
-
Посещение
-
Победитель дней
4
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные Dino
-
-
В 28.12.2017 в 11:55, vad сказал:
возможно ли?
в 90% случаев нет, зачастую и на серверной части стоит проверка
-
Ищешь цепочку функций отвечающие за подбор лута , в одной из этих функций и будет проверка расстояния.В ммо подобное проще делать отталкиваясь от wsasend/send
-
45 минут назад, DaVilka сказал:
ID всегда равен 1 байт, он пишется из al по адресу 6BB6DFA0, ecx == 00000000
Дальше идет тело, dword( 4 байта) -> dword -> dword -> dword -> char(1байт всегда равен 00 хз почему его не записало
Во второй инстукции, где пишется eax, ecx == 00000001
Собственно а как щас пишет, 4 байта eax?
и что?? Я во втором посте объяснил почему так происходит, и даже почему 17, а не 18
-
судя по скрину больше похоже, что 17 байт.
EAX хранит 4 байта, al 1 байт
4*4+1 = 17
ECX в роли итера, полагаю что-то вроде add ecx,4
-
21 час назад, gamehikker сказал:
Мне программно нужно адрес девайса найти . Чтобы в нём подменить адрес нужной функции .
1)создаешь девайс
2)получаешь адрес таблицы виртуальных методов(адреса методов в таблице будут идентичны с оригинальнымы)
3)Из свой таблице выдираешь сигнатуру(допустим первые 50байт) и по ней ищешь оригинальную таблицу
4)далее, когда адрес оригинальной VMT будет получен - подменяешь в ней необходимые тебе методы на свои.
-
12 часа назад, Xipho сказал:
Хотел конструктивной критики. Ну вот она:
Ну на самом деле для обучения все средства хороши, я вообще, подобное изучал на примере исходника бота. А так от прочтения одной статейки никто и не гарантирует успех.
-
не смущает, что у тебя base address + scan size меньше адреса начала сигнатуры?
5 часов назад, IzerodayI сказал:у меня тоже находит , но когда на него делаю сигнатуру получается снизу пусто : https://cloud.mail.ru/public/Ckd6/ByvScaqEn
еще меня смущает , что кроме модуля client написано thread
Если клиент приостановлен, то показывает ид потока на котором брякнулся
-
17 часов назад, barsuuk сказал:
так, завелось но только во вертикали)
во второй статье описано же как найти Z
-
причем тут помогло не помогло? углы должны быть представлены в радианах об этом ясно сказано в доках, тут нужно не пробовать, а делать.
Новые координаты находятся по таким формулам
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
-
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 . А у тебя углы в радианах?
-
согласен с partoftheworlD. При невозможности использовать скил, игра наверняка выдает какое-либо сообщение(но а иначе никак). Ищешь это сообщение (ansi/unicode) далее ставишь на него бряк на доступ(достаточно на первый символ) и еще раз пытаешься использовать скил вовремя действия кд. После этих действий игра словит бряк, но скорее всего на каком-нибудь memcpy или lstrcpy(из нее нужно найти выход, тк мы работаем с модулем игры, а не сис вызовами), и теперь уже можешь разбирать цепочки функций, дабы понять, что могло заставить игру перейти к этому участку кода, когда это поймешь - поймешь как можно обойти кд. Но к сожалению только для клиента , потому что разработчики не такие дурачки, чтобы забыть о серверной проверки cooldown умений.
-
-
В зависимости от того как реализована система таргета на уровне кода
-
15 час назад, DeadShot сказал:
Снова не то, кроме с "fnstsw ax загружает регистр состояния sr или swr в ax, долго ломал голову как fnstsw может загрузить float значение в ax.
На счет fld1, fldz и инструкций выталкивания fstp, я так и делал, выгружал с помощью fstp [_temp] 2 раза, а дальше уже был тест с комбинациями загрузок 0.00 и 1, с помощью fldz и fld1.
ты код то покажешь?
-
11 минуту назад, Garik66 сказал:
Может я не так понял?
вот что написано:
Команды fstsw и fnstsw сохраняют текущее значение слова статуса FPU в указанном месте. Операндом-адресатом может быть либо 16 бит в памяти, либо регистр AX. fstsw перед сохранением слова проверяет на подвешенные немаскируемые прерывания, fnstsw этого не делает.
Команды fstcw и fnstcw сохраняют текущее значение управляющего слова FPU в указанном месте в памяти. fstcw перед сохранением слова проверяет на подвешенные немаскируемые прерывания, fnstcw этого не делает. fldcw загружает операнд в управляющее слово FPU. Операндом должно быть 16-битное расположение в памяти.под "текущее значение слова статуса FPU" подразумевается регистр состояния SR. Ну сам логически порассуждай, как можно число с плавающей точкой в 16 бит уместить
-
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
никакой магии, элементарное не знание основ.
-
потому что по адресу speed.exe+277D11 происходит загрузка данных в стек арифметического сопроцессора, и уже от туда оперирует ими
-
А из ядра что ты собрался делать с памятью?(Драйвер за 200р *ROFL*) Или может полагаешь это единственный путь либо dll? А может на процесс навешана какая-либо защита, обход которой подразумевается?
Ну за 10 минут на сайте фрилансеров калькулятор, думаю, напишут за 200руб.
Кстати, насчет формы с кнопками тема до сих пор не раскрыта.
-
так ты определись dll или exe или тебе нужно чтобы форма с кнопкой из dll создавалась ?
PS за пару сотен никто не возьмется, за такую сумму даже лень VS открывать.
- 1
-
Бряк на доступ к имени объекта - самый верный способ на мой взгляд.
-
Где это может понадобиться на практике?
-
белым по черному написано же, индекс находится вне границ массива, то есть происходит обращение к ячейке памяти, которая защищена от чтения, либо ее вовсе не существует.
-
даже копировать чужой код правильно не можем)
-
1 час назад, ШАРИК сказал:
Чет не работает...Не туда двигается персонаж.Ира assaultcube
а как ты определил что он движется не туда?
Dllimport, адреса функций и прочее
in Низкоуровневое программирование
Опубликовано · Изменено пользователем Dino
можно пропарсить пеб стороннего процесса, чтобы вытащить адрес функции твоей дллки, тогда не придется ее в свой процесс грузить