-
Постов
14 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные Miidi
-
-
В том проекте старый код, вот процедура на считывание
procedure TForm1.Button2Click(Sender: TObject); var nob: size_t; whp: single; begin WindowName := FindWindow(nil, WindowTitle); { ShowMessage(WindowName.ToString); } ThreadId := GetWindowThreadProcessId(WindowName, @ProcessId); { ShowMessage(ThreadId.ToString); } HandleWindow := OpenProcess(PROCESS_ALL_ACCESS, False, ProcessId); ReadProcessMemory(HandleWindow, ptr(Address), @whp,sizeof(whp),nob); Edit1.Text := FloatToStr(whp);
https://1drv.ms/u/s!AkW4Lkqk9P4igehF759fsrI121rdBw а вот ссылка на новый исправленный проект)
- 1
-
Всё сделал ,всё получилось и считать из памяти и записать в неё)
Cсылка на мой проект
https://1drv.ms/u/s!AkW4Lkqk9P4igehE9MWcme2RllC4WQ
Огромное всем спасибо )
- 1
-
6 часов назад, Taiwan сказал:
Да и вообще лучше скинь суда весь исходник. Конечно если есть такая возможность.
Не хочет коомпилировать))
14 часа назад, Garik66 сказал:Тогда можно ещё так попробовать:
Не а не хочет))
6 часов назад, Vlad2 сказал:Вот как я считываю float. Первая строка - имя процесса, Вторая - адрес откуда будет считывать.
Разберешь исходник и все поймешь, там ничего сложного.Это работает я посмотрю как у тебя сделано)Может у себя косяк найду
-
Господи все в пустую.... Я уверен это все из за этого типа Size_t . Пока попробую записать что то в этот адрес
8 часов назад, Garik66 сказал:PS: Но проще будет сделать так (мне кажется):
тут он на дает с коомпилировать файл то бишь функций ReadProcessMemory не хватает пятого аргумента я его добавил он стал говорить , что хочу другой тип данных не Real .
9 часов назад, Garik66 сказал:whp := IntTofloat(whp) Edit1.Text := whp.ToString; Label1.Caption := nob.ToString;
Тут он ругается что whp не какой не integer.
9 часов назад, partoftheworlD сказал:VarToHeh() и HehToVar()
А эти функции я не нашел и делфи моих их не знает VarToHeX() и HeXToVar()*
=====================================================================
Фиг с ним попробую просто по этому адресу записать нужное мне значение.
-
Спасибо за советы, я ближе к вечеру отпишусь
-
9 минут назад, Garik66 сказал:
Кажется понял. У тебя в whp выводится строка, т.е. нужно не int. а str
Приложение запускается но при считывание пишет " is not a valid floating point value"
1 час назад, keng сказал:Не надо вставлять никуда тот код, который ты не понимаешь. Лучше выпиши незнакомые слова и найди, что они обозначают.
Выдает вообще какие то левые числа .
Я вот думаю когда я нажимаю на кнопку , он считывает из памяти данные преобразует их в строку и выдает значение в dec "1120403456".
Получается надо взять это значение перевести в hex а его уже в число и потом это число преобразовать в строку и вывести на экран , попробую так
-
-
12 минуты назад, Garik66 сказал:
Я ЯП не знаю не одного (к сожалению ). но думаю что должно быть что-то типа того:
Edit1.Text := whp.FloatToStr;
Тысячи видосов по взлому на Ютуб и не одного языка ,поражен)
На FloatToStr он ругается ,я использовал тип Size_t у переменной whp.Что это за тип сам понять не могу , но без него он не хотел функцию компилировать ReadProcessMemory .
8 минут назад, keng сказал:Привет! Можно загуглить "hex to float", hex - шестнадцатеричная система счисления, float - с точечкой. Там будет куча всяких онлайн-конвертеров, но в том числе и объяснение алгоритма их работы. Мне гугл предложил вот [такое] решение.
Слишком много цифорок, не ужели в Delphi не придумали как сделать проще((Боюсь сейчас начну вставлять этот код и еще больше ошибок на делаю))
-
31 минуты назад, Garik66 сказал:
2. Ты не правильно записываешь поинтеры (указатели).
Вообще пока указатель не записываю, дай хоть пока так адрес напрямую запишу)
-
Cо значением разобрался не много, просто хотел HEX перевести в вещественное число ,а теперь понял что это не так просто )))
Так теперь что выводит у меня поле Edit "1120403456" если перевести это в hex "42C80000" то получиться значение моего здоровья.Вопрос как перевести его в нужное мне число с точкой)
Скрытый текстprocedure TForm1.Button2Click(Sender: TObject); var HP: integer; whp,nob: size_t; begin WindowName := FindWindow(nil, WindowTitle); { ShowMessage(WindowName.ToString); } ThreadId := GetWindowThreadProcessId(WindowName, @ProcessId); { ShowMessage(ThreadId.ToString); } HandleWindow := OpenProcess(PROCESS_ALL_ACCESS, False, ProcessId); ReadProcessMemory(HandleWindow, ptr(Address), @whp{это куда пишеться значение},4{количество байт для копирования?}, nob{что это за число не могу понять}); Edit1.Text := whp.ToString; Label1.Caption := nob.ToString; end;
// Принято пользоваться тегами и кода и спойлера, если код больше 3-5 строк. Garik66/
-
Разъясните пожалуйста при поиске в CE нашел адрес значение - здоровья, открыл его в memory viewer. получается байты "64 70 51 42 00 00 C8 42" - это и есть 52.35975647? Если так то как их перевести в это значение( Просто не понимаю этого ).
И второй вопрос будет по поводу Delphi попросил вывести значение по адресу в поле Edit в он вывел мне полную не разбериху ,я добавлю информацию чуть позже вместе с кодом
-
Чата какого нибудь не хватает. Иногда хочется спросить что то, а тему для маленького вопроса создавать не охота)
- 1
The Wild Eight координаты персонажа
in Вопросы по созданию читов в одиночных играх
Опубликовано · Изменено пользователем Miidi
Дополнил
Доброго времени суток)
Проблема в поиске координатов персонажа , нахожу множества значений но при заморозке персонаж продолжает двигаться. Пытался найти через функцию которая обращается к данным координатам ,там тоже не смог разобраться как выйти на истинное значение.
Если есть возможность подскажите как найти данное значение. А лучше тыкните носом)
==========
Не много оффтопа есть ли возможность как то отследить координаты примение оружия? пока думаю мне нужно выйти на фукцию примение выстрела и там уже копаться как откуда и куда все верно?
Кстати в игре вообще не ищутся значения предметов в инвенторе даже в строковом значении
Игра на Unity