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

CHBS

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

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

  • Посещение

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

  1. Получается если напишу при использовании флоата, хуже я не сделаю, тогда почему происходит краш?
  2. Еще вопрос такой fstp dword ptr [esi-04] // float store обращается через dword ptr // нужно ли делать тоже самое в измененении значения, т.е mov dword ptr [esi-04], (float)1000 // т.е в каких случаях нужно указывать dword ptr в mov, просто в fstp он указан, а в mov нет сейчас попробовал проверить опытным путем свою инструкцию, все получилось, все значения колес изменились на 1000, все 4 колеса, машина впечаталась в пол, а не вперед, это мой косяк с нужным значением. Но опытным путем выяснилось то что если написать mov dword ptr [esi-04], (float)1000 //будет краш из-за dword ptr mov [esi-04], (float)1000 // полет нормальный
  3. Посмотрел видео, спасибо, решился вопрос все таки, как лучше написать скрипт, но по факту я писал изначально правильно, по второму варианту т.е если в оригинальной инструкции будет такое - mov [ecx+04], ebx То очевидно что лучше записать в регистр ebx, потому что следующая инструкция возьмет из этого регистра данные, поэтому собственно с записью я сделал все верно Да, все верно, потому что я зашел в обычную кольцевую гонку, и на мое удивление мои соперники тоже притягивались к дороге, я написал скрипт правильно еще вчера, просто почему то машину не тянуло вперед, а ее тянуло вниз, будто я бустил не координату X/Y а бустил координату Z по вектору Ну мне на самом деле проблематично выйти на эту структуру Спасибо, сейчас буду пробовать, если что напишу результат))
  4. Скорее всего так и есть, или Такой вариант может быть?
  5. Да вроде, в данный момент я так и поступил, нашел что туда пишет, делаю инъекцию по инструкциям которые пишут в этот адрес Пробовал так: newmem: mov [esi-04], (float)10 originalcode: fstp dword ptr [esi-04] jne SPEED2.EXE+1AA550 Ничего не происходит Попробовал вот так: newmem: mov [esi-04], (float)10 fstp dword ptr [esi-04] jne SPEED2.EXE+1AA550 originalcode: fstp dword ptr [esi-04] jne SPEED2.EXE+1AA550 Вешается игровая отриосвка, становится 1fps, хотя я сразу после включения скрипта выключаю его, вообщем, он вешается, и с одним фпс приходится рестартать гонку, далее все стабилизируются, и кстати, когда крашится отрисовка, ломаются все значения в ранее найденых указателях, у меня есть подозрение, что я смещаю инструкции, и все соответственно ломается, зато не вылетает, вот что интересно)))))) Вот полный код инъекции
  6. А можешь написать конкретно что я не так делаю, хотелось бы исправится, и сделать все правильно))
  7. Заработало, сам запамятовал правильное приведение в флоат))) Еще пару вопросов, колеса у меня 4, и нужно записать в 4 адреса это флоат значение, как я могу это сделать одним code injection? ведь я выполняю инъекцию в определенный адрес, а таких подобных адреса еще 3, но у них есть смещение от первого колеса по (28 + 1A0) Далее, если я запишу значение в эти 4 адреса, как мне заморозить их на постоянно\на время? Я делаю буст авто, нужно в эти 4 адреса получается кратковременно подержать флоат 1000 едениц
  8. newmem: mov eax, float(1000) Почему-то не может скомпилировать такую инструкцию
  9. Приветствую пользователей форума, ковыряю игру из названия темы Под спойлером картинка Цель изменить значение адреса 0BD2CE88, выделено в рамку помечено как Addr Value Я пытался сделать Code injection по конкретному адресу, пользователь @ReWanet поправил меня, и сказал что стоит делать AOBScan, я сделал AOBScan рамка справа, но проблема заключается в том, что если автомобиль стоит на месте, и у адреса значение скорости будет 0, соответственно и сигнатура будет одна, обусловим ее так "C7 78 A6 42", если машина будет стоять, и я активирую скрипт, то в теории все сработает, но что делать если машина поедет, а ведь у адреса сменится значение скорости, а соответственно изменится сигнатура, она станет например такой "0A D7 23 3C C8 EB 07", а значит AOBScan не сработает в этом случае, как быть? Если я не понятно объяснил, то сигнатура AOBScan постоянно меняется по ходу игры, и AOBScan теоретически применить нельзя, либо я не знаю каких то тонкостей с работой AOBScan'a Когда я делал Code Injection @Garik66 поправил меня, указав на то что так делать нельзя в метку newmem: я записал команду mov ebx, #1000, надеясь что в ebx запишется флоат значение 1000, но как мне сказали, это не так и я задаю вопрос по поводу занесения значений через автоассемблер 1. Как в регистр в автоассемблере записать флоат значение? 2. Что значит решетка перед записываемым числом? 3. Какая разница между #1000 и float(1000)?
  10. Вы слишком многого желаете на данной стадии развития, как вы хотите написать обход анти-чита, не зная принципов его работы?
  11. А общей структуры нету, мол машина, а по офсетам корпус\колеса\итд?
  12. Блин, видео удаленно, самому интересно стало как ты ищешь значение, ты не мог бы видео перезалить\ и скрыть если требуется?
  13. Ну как-бы я сделал все верно, я не знаю что вы имели ввиду, но переменные создаются в луа динамически, а в моей игре они грузятся в главный модуль. Ну да ладно, проблему я решил использовав VirtualQueryEx. Тему можно закрывать. И да, моя переменная найдена была в 2-ух модулях, просто в 2-ом случае, переменная была закеширована в файле, и загрузилась при загрузке интерфейса игры.
  14. Потому что переменная находится в главном модуле как-бы, а во вторых, если бы ты посмотрел последний код, то я уже ищу ее во всех модулях, и не нахожу, вот в чем дело.
  15. Интепретируемый язык LUA в игре, да, переменная собственно создается динамически и грузится в память. 3F65C840 вот адресс в памяти, в котором хранится мое значение в double И вот вам в Double представлении
  16. Уважаемый, вы в ту ветку пишете? Мы тут на C# пишем, а не плюсах, какие снапшоты? А какая разница между VirtualQueryEx и ReadProcessMemory, если я дамп модуля снимаю? И посмотрите мой последний пост, там уже алгоритм поиска другой, я пытаюсь перейти на него исключив Text.GetBytes А перейти на чистое байтовое сравнение.
  17. Я в отчаянии, я уже иду по всем модулям и их базовым адресам И все равно ничего...
  18. Еще не могу понять прикола с базовыми адресами Посмотрите на базовые адреса в моей программе(они верны, цикл на Process.Modules, и посмотрите на базовый адрес в Cheat Engine, еще такая же лабуда с размером модулей, в моей программе все отличается, брал так же из Process.MemoryModuleSize Т.е C.E. Показывает базовый адрес 0x3F7E3000 а в софте минимальный базовый адрес 0x5D2B0000
  19. Разве я сказал что они закрыты? CE написан отчасти на Delphi, но у меня даже на пк валяется проект на Delphi, который ищет double значение в памяти, мне нужно найти значение в памяти через C#, что уже является лично для меня проблеммой потому что я не знаю как искать значение в C# по его типу, сказывается заброс кодинга, я сейчас пытаюсь найти значение через System.Text.Encoding.UTF8.GetBytes("967110984321231"); Принцип поиска понятен изначально, непонятна реализация на том или инном языке. В Delphi мне будет проще реализовать поиск точного значения с помощью готовых наработок, но тут C# и я не знаю каким методом сейчас ищу я и я могу только предпологать что если я ищу через UTF8.GetBytes, то вероятно я ищу строковое значение в памяти, а не double в котором у меня лежит переменная в игре
  20. Это я вообще не понял, а где мне ее тогда искать, можно ответы какие то более развертнутые и конкретные? Я ищу данное значение в главном модуле игры, т.к как это значение всегда хранится в главном модуле игры.
  21. Немного не понял первую часть ответа, ведь BitConverter.GetBytes(967110984321231) - возвращает массив байтов, и переменная представляется собственно как массив байтов. А со вторым я сделал через System.Text.Encoding.UTF8.GetBytes("967110984321231"), проверил выдачу на decimal выдается теперь нормально то что нужно, но байты через 0 идут, т.е 57 00 54 00 и так далее. Лучше подскажите мне как сделать поиск значения как в CE, так как значение в игре у меня уникальное, и выдает всегда только 1 адресс
  22. Добрый вечер господа, примерно сутки уже бьюсь головой об клавиатуру Имеется код - > Так же есть код с двумя циклами на перебор, по сигнатуре, но я не особо хочу его рассматривать, так как искоемое значение задается в игре т.е там есть интепретируемый язык LUA, я пытаюсь найти значения собственной переменной в игре, но ВАЖНАЯ ДЕТАЛЬ в игре переменная обусловим ее как Variable = 967110984321231, она является в игре number, но в Cheat Engine ищется исключетльно по double, я научил программу читать значение с конкретного адресса, т.е я нахожу адресс, кормлю его софту, а софт выдает мне double значение, с которым я далее манипулирую, и поставил себе задачу это дело автоматизиорвать, и пытаюсь найти в памяти региона, это значение [967110984321231] путем перебора каждого байта. Прошу не гнать меня ссаными тряпками, не кидаться тапками, так как я очень давно не программировал на C# где то год, и в целом забил на кодинг на пол года из-за обстоятельств. Прошу помочь мне, объяснить что в моем коде не так как с технической стороны, так и (теоретической?), что бы вы изменили, и для чего нужен оператор ref в ReadProcessMemory я тоже не могу понять. Очень надеюсь на вашу помощь, GameHackLab'овцы //Не по теме Я давно не посещал этот форум, а где такие люди как Keng? Канал засох, Keng не объявляется нигде, видео не выходят, только на GameHackLab на youtube выходят видео
  23. Смотрел я его вчера, раз 5, у него там структуры игрока рядом, 0x18, а у меня они хер пойми где. Да понятно что у тебя то работает, и у меня работает, я же уже какой раз задаю гребанный вопрос. Мне нужно понять как находятся Прыжки, как у чувака EntityLoopDistance, мне вот что нужно, у меня то тоже работает, только на игроке, а что бы работало и на боте, нужно узнать через какое смещение бот лежит, и ВОПРОС, как узнать это СМЕЩЕНИЕ через которое лежит БОТ относительно ИГРОКА У меня то ведь все по другому идет, у меня рядом с игроком подобного нету. Взял свою структуру EntityBase Нашел бота, вышел на его стурктуру Отнял от своей структуры его и получил это значение 51FD38 EntityBase + 51FD38 = BotStructure EntityBase + 51FD38 + FC = BotHp (FC - Health Offset) Создал еще одного бота. 51FD38 умножил на 2, Вышел на A3FA70 но а там уже другие значения, хотя чисто логически, боты должны идти по равным смещениям.. Пипец какой то, оказывается структура игроков вообще не там находится, она находится EntityBase+51FD38 И уже там через каждое 0x04 идут игроки... Получается Bot1hp EntityBase + 51FD38 + 4 + fc; Bot2hp EntityBase + 51FD38 + 8 + fc;
×
×
  • Создать...

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

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