Кибор » Кибор - Интегрированная среда разработки ботов » О программе Кибор » Версия 3.02 Работа с памятью процесса. Поиск, чтение, запись в память процесса игры

Страниц (24): « 1 2 [3] 4 5 6 7 8 9 ... » В конец
 

21. rentner - 02 Февраля, 2017 - 05:54:33 - перейти к сообщению
Уважаемые знатоки помогите разобраться у меня возникло два проблемных вопроса
1. если число не целое а дробное
char poisk[4];
codhex(102.5, #poisk[0]);
// как получить из HEX в дробное

double t=codhexd(#poisk[0]);
messagebox(t);
//и
double t=codhexi(#poisk[0], 4);
messagebox(t);
//не дают нужного результата

2. при поиске в в памяти игры например здоровья нахожу 44 результата

int q=formatsn(input ("Введите значение здоровья"Подмигивание);
char poisk[4];
codhex(q, #poisk[0]);
int adr[1000000];
int y=findmemory (-1, #poisk[0], 4, #adr[0], 0, prc);

как отсеять из 44 результатов при изменении нового значения здоровья как в cheat engine (отсеивание может проходить в N-ое количество проходов)
22. Kibor - 02 Февраля, 2017 - 06:32:44 - перейти к сообщению
 rentner пишет:
если число не целое а дробное

 Цитата:
char poisk[4];
codhex(102.5, #poisk[0]);
char poisk1[4];
for (int n=0; n<4; n++)poisk1[n]=poisk[3-n];
double t=codhexd(#poisk1[0]);
messagebox(t);

его надо развернуть (байты)

 rentner пишет:
как отсеять из 44 результатов при изменении нового значения здоровья как в cheat engine (отсеивание может проходить в N-ое количество проходов)

Это не CE. То есть если надо отсеять, то пишите алгоритм.
Если надо найти структуру, то используйте поиск по маске findmemorymask
23. Dantes3000 - 21 Апреля, 2017 - 16:49:21 - перейти к сообщению
Сложновато как-то.
Нашел я адрес 02FE5D28 это 4 байта, значение ему 3296 = это мое хп. Что дальше?

Хочу сделать функцию, которая бы позвращала int моего хп.
Можете мне на словах обьяснить точный алгоритм и, если можно, с примером кода. Его потом можно будет вставить в шапку темы, чтобы всем понятнее было.
24. Kibor - 21 Апреля, 2017 - 18:01:54 - перейти к сообщению
codhexi позволяет перевести шестнадцатеричный hex код с целое число int

char char_hex[4];//тут будут 4 байта. записать их в этот массив.
int xp=codhexi(#char_hex[0], 4);
25. Dantes3000 - 21 Апреля, 2017 - 19:15:51 - перейти к сообщению
Хорошо, это для разового использования. Адрес меняется после перезахода.Я так понял нужно создавать маску...
(Добавление)
 Dantes3000 пишет:
Нашел я адрес 02FE5D28 это 4 байта, значение ему 3296 = это мое хп. Что дальше?

это я в СЕ нашел, надо же сначала прочитать через кибор...
26. Dantes3000 - 27 Июня, 2017 - 08:59:14 - перейти к сообщению
А можно видеоурок по этому всему? Уже сколько пытаюсь - ничего не выходит. Хотелось бы на примере варспы
27. Kibor - 27 Июня, 2017 - 16:06:17 - перейти к сообщению
Это надо найти. Вопросы то что может меняться.
7 12 ? 8 ? ? 11 ? 55

Заполняем массив char так
a[0]=7;
a[1]=12;
a[2]=0;//это не известно. можно поставить все что угодно
a[3]=8;
a[4]=0;//это не известно. можно поставить все что угодно
a[5]=0;//это не известно. можно поставить все что угодно
a[6]=11;

Так маску заполняем
m[0]=1;
m[1]=1;//если 1 то сравниваем на совпадение..
m[2]=0;//если 0 то пропускаем в поиске и не учитывает
m[3]=1;
m[4]=0;
m[5]=0;
m[6]=1;
28. Dantes3000 - 13 Июля, 2017 - 06:41:19 - перейти к сообщению
А что нужно знать, чтобы составить эту маску? Допустим, известно хп - это 02FE5D28, уже можно маску создавать или надо знать еще что-то?
29. Kibor - 14 Июля, 2017 - 01:57:41 - перейти к сообщению
ну одного значения мало. их много в памяти одинаковых. чем больше тем лучше. что бы уникальные были
30. Dantes3000 - 14 Июля, 2017 - 06:43:36 - перейти к сообщению
Можете хоть на словах чуть-чуть обьяснить порядок действий, как вы делали проверку хп в варспире?
по СЕ очень мало правильных гайдов именно на эту тему.

Powered by ExBB FM 1.0 Final