CHBS

Пользователи
  • Публикации

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

  • Посещение

Репутация

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

О CHBS

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

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

435 просмотров профиля
  1. Ну как-бы я сделал все верно, я не знаю что вы имели ввиду, но переменные создаются в луа динамически, а в моей игре они грузятся в главный модуль. Ну да ладно, проблему я решил использовав VirtualQueryEx. Тему можно закрывать. И да, моя переменная найдена была в 2-ух модулях, просто в 2-ом случае, переменная была закеширована в файле, и загрузилась при загрузке интерфейса игры.
  2. Потому что переменная находится в главном модуле как-бы, а во вторых, если бы ты посмотрел последний код, то я уже ищу ее во всех модулях, и не нахожу, вот в чем дело.
  3. Интепретируемый язык LUA в игре, да, переменная собственно создается динамически и грузится в память.   3F65C840 вот адресс в памяти, в котором хранится мое значение в double     И вот вам в Double представлении     
  4. Уважаемый, вы в ту ветку пишете? Мы тут на C# пишем, а не плюсах, какие снапшоты? А какая разница между VirtualQueryEx и ReadProcessMemory, если я дамп модуля снимаю? И посмотрите мой последний пост, там уже алгоритм поиска другой, я пытаюсь перейти на него исключив Text.GetBytes А перейти на чистое байтовое сравнение.  
  5. Я в отчаянии, я уже иду по всем модулям и их базовым адресам И все равно ничего...
  6. Еще не могу понять прикола с базовыми адресами Посмотрите на базовые адреса в моей программе(они верны, цикл на Process.Modules, и посмотрите на базовый адрес в Cheat Engine, еще такая же лабуда с размером модулей, в моей программе все отличается, брал так же из Process.MemoryModuleSize Т.е C.E. Показывает базовый адрес 0x3F7E3000 а в софте минимальный базовый адрес 0x5D2B0000  
  7. Разве я сказал что они закрыты? CE написан отчасти на Delphi, но у меня даже на пк валяется проект на Delphi, который ищет double значение в памяти, мне нужно найти значение в памяти через C#, что уже является лично для меня проблеммой потому что я не знаю как искать значение в C# по его типу, сказывается заброс кодинга, я сейчас пытаюсь найти значение через System.Text.Encoding.UTF8.GetBytes("967110984321231"); Принцип поиска понятен изначально, непонятна реализация на том или инном языке. В Delphi мне будет проще реализовать поиск точного значения с помощью готовых наработок, но тут C# и я не знаю каким методом сейчас ищу я и я могу только предпологать что если я ищу через UTF8.GetBytes, то вероятно я ищу строковое значение в памяти, а не double в котором у меня лежит переменная в игре
  8. Это я вообще не понял, а где мне ее тогда искать, можно ответы какие то более развертнутые и конкретные?   Я ищу данное значение в главном модуле игры, т.к как это значение всегда хранится в главном модуле игры.
  9. Немного не понял первую часть ответа, ведь   BitConverter.GetBytes(967110984321231) - возвращает массив байтов, и переменная представляется собственно как массив байтов. А со вторым я сделал через System.Text.Encoding.UTF8.GetBytes("967110984321231"), проверил выдачу на decimal выдается теперь нормально то что нужно, но байты через 0 идут, т.е 57 00 54 00 и так далее.   Лучше подскажите мне как сделать поиск значения как в CE, так как значение в игре у меня уникальное, и выдает всегда только 1 адресс  
  10. Добрый вечер господа, примерно сутки уже бьюсь головой об клавиатуру   Имеется код - >  Так же есть код с двумя циклами на перебор, по сигнатуре, но я не особо хочу его рассматривать, так как искоемое значение задается в игре т.е там есть интепретируемый язык LUA, я пытаюсь найти значения собственной переменной в игре, но ВАЖНАЯ ДЕТАЛЬ в игре переменная обусловим ее как Variable = 967110984321231, она является в игре number, но в Cheat Engine ищется исключетльно по double, я научил программу читать значение с конкретного адресса, т.е я нахожу адресс, кормлю его софту, а софт выдает мне double значение, с которым я далее манипулирую, и поставил себе задачу это дело автоматизиорвать, и пытаюсь найти в памяти региона, это значение [967110984321231] путем перебора каждого байта.    Прошу не гнать меня ссаными тряпками, не кидаться тапками, так как я очень давно не программировал на C# где то год, и в целом забил на кодинг на пол года из-за обстоятельств.    Прошу помочь мне, объяснить что в моем коде не так как с технической стороны, так и (теоретической?), что бы вы изменили, и для чего нужен оператор ref в ReadProcessMemory я тоже не могу понять.    Очень надеюсь на вашу помощь, GameHackLab'овцы   //Не по теме Я давно не посещал этот форум, а где такие люди как Keng? Канал засох, Keng не объявляется нигде, видео не выходят, только на GameHackLab на youtube выходят видео
  11. Смотрел я его вчера, раз 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;
  12. for (int i = 0; i < 3; i++){CrosshireID2 = Memory.Read(CrosshireID + 0xf0 + (0x10*i));Printl(std::to_string(CrosshireID2));} CrosshireID = это базовый адресс структуры игроков(BaseEntity)0xF0 = Смещение для команды m_TeamId 0x10*i = это я пытаюсь делать прыжки на ботов, но ничего не выходитПросто RPM(CrosshireID + 0xf0) - возращает мою команду. Идет такой выводPlayer(Я) - 3 (Спецназ)*ТИПО* Bot1 - 257(Бред Какой то)*ТИПО* Bot1 - 0(Бред Какой то) Моя цель, это сделать прыжки равные, с Player -> Bot1 -> Bot2 -> Bot3 и что бы все возращали свою команду( 2 | 3 )  Ну не канает у меня так, взял в цикл 20 значений, и получилось вот такое вот... Цифра 2 - Номер команды, после 512 которое идет, это моя команда, а остальные значения, чушь какая то.   "Если ты не задаешь вопросы откуда я могу знать что тебе не понятно? Мои экстрасенсорные способности не на столько развиты"   Я же задаю кучу вопросов, ответы приходят только на половину.   Вопрос опять задаю какой раз, как определить дистанцию между ботами в структуре от игрока(от меня) 001c - Player 0038 - Player2 0054 - Player3 0070 - Player4    Смещение 1C - Просто пример, мне нужно узнать дистанцию между ботами в структуре, и все.
  13. И плевать на то что может попасть в цикл? И что это за смещение 0x10? Я могу тебе доказать все же, что циклом в 64 значений, я не добьюсь результата, посмотри сам начало структуры BaseEntity, и где находится бот Дело в том что я уже сказал    BaseEntity = "client.dll"+04A5C9C4 - структура остальный игроков. Bot = "client.dll"+04A5CA44 - Найденная структура бота  Я попытался вычесть из структуры остальных остальных ботов - опрделенного мною бота я получаю"04A5C9C4"-"04A5CA44" =  FFFFFFFFFFFFFF80"   Что если зайти в BaseEntity по оффсету 0x80, там будет пусто. Если у кого есть CS:GO, и скайп, может кто то показать мне результат и как вы находите смещения ботов. Или давайте я вам покажу что я имею собственно, скайп kingleonide1983 Это не ответ, это просто готовое решение, человек дал мне оффсет 0x10 и все, я не за этим же пришел сюда, если бы оффсет нужен был мне, я бы сказал, дайте оффсет того-то того-то. А так я прошу объяснить как же найти этот оффсет, как же он нашел этот оффсет 0x10, EntityDistanceToPlayer ReadProcessMemory c адресом (Сlient.dll + найденый офсет + переменная цикла * 0x10);Можно подробнее? Если найденный оффсет ты подразумеваешь как смещение от EntityBase Т.е структуры игроков всех    BaseAddr = Сlient.dll + (4A5C9C4 найденый офсет) Iterator = переменная цикла допустим от 0 до 64 = возьем 7   0x10 то что это? Если все правильно понимаю, то это будет оффсет на значение (HP,Team,И так далее)   Offset = 0x100 ReadProcessMemory(BaseAddr + Iterator * Offset); То что тогда, прочитается все это дело, и вернет мне команду игрока под итерором 7? PlayerID(7)?
  14. Ну так ребят, может ли кто то объяснить мне как в структуре остальных игроков разобраться?   BaseEntity = "client.dll"+04A5C9C4 - структура остальный игроков. Bot = "client.dll"+04A5CA44 - Найденная структура бота  Я попытался вычесть из структуры остальных остальных ботов - опрделенного мною бота я получаю"04A5C9C4"-"04A5CA44" =  FFFFFFFFFFFFFF80" И начинаю шариться в структуре BaseEntity, смотрю от начала, добавляю +80 и там ничего нету особого, всякая дичь. Мне бы узнать размер разрыва между каждым ботом   Bot1 - 0x18 -> Bot2 - 0x48 -> Bot3 - 0x60 -> Bot4 - 0x78 -> ... Но судя по моему поиску, я не могу найти эту дистанцию, она нужна что бы получить бота BaseEntity + 0x18 = Bot1
  15. Когда ищу в PointerScan щас вот 5-ое сканирование, полный подвес цп(100%) , мемори ( 94%) (1940мб) занял CE.exe... Он ищет во всех модулях, engine.dll, server.dll, steamclient.dll и прочее. Наконец-то, додумался пройтись по From-To (Client.dll to Client.dll+1000)