Другое С/С++ Вопрос - Ответ

0pc0d3R

Потрачен
550
269
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Скиньте, пожалуйста, урок по получению оффсетов для любой игры)
find out what writes to this address, в Cheat engine не даёт результатов.
Тебе указатель нужно просто найти?
 

0pc0d3R

Потрачен
550
269
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
нужен аналог этого опкода на c++ 04C4: store_coords_to 15@ 16@ 17@ from_actor $PLAYER_ACTOR with_offset 3.0 3.0 -1.0
C++:
SF->getCLEO()->callOpcode("04C4: store_coords_to 15@ 16@ 17@ from_actor $PLAYER_ACTOR with_offset 3.0 3.0 -1.0");
   float stored[3];
   stored[0] = SF->getCLEO()->GetLocalVar(15); // x
   stored[1] = SF->getCLEO()->GetLocalVar(16); // y
   stored[2] = SF->getCLEO()->GetLocalVar(17); // z
А что тебе мешает вызвать его клео обработчиком?
 

Stas07

Известный
Проверенный
262
98
Тебе указатель нужно просто найти?
Нет, сам адрес я нахожу, но в других играх они же плавают, там определённый оффсет от адреса игры. Так вот, способ есть через ЧИ, но он нехера не работает. Скорее всего защита игры. Так вооот... Меня интересуют другие способы и обходы защиты. Мне конечно наврятли кто поможет, и навретли тут страдал кто такой херней. Но если знаете, то буду благодарен.
 

SR_team

like pancake
BH Team
4,707
6,347
Нет, сам адрес я нахожу, но в других играх они же плавают, там определённый оффсет от адреса игры. Так вот, способ есть через ЧИ, но он нехера не работает. Скорее всего защита игры. Так вооот... Меня интересуют другие способы и обходы защиты. Мне конечно наврятли кто поможет, и навретли тут страдал кто такой херней. Но если знаете, то буду благодарен.
OllyDbg и дебажить
 
  • Нравится
Реакции: Stas07

SR_team

like pancake
BH Team
4,707
6,347
C++:
SF->getCLEO()->callOpcode("04C4: store_coords_to 15@ 16@ 17@ from_actor $PLAYER_ACTOR with_offset 3.0 3.0 -1.0");
   float stored[3];
   stored[0] = SF->getCLEO()->GetLocalVar(15); // x
   stored[1] = SF->getCLEO()->GetLocalVar(16); // y
   stored[2] = SF->getCLEO()->GetLocalVar(17); // z
А что тебе мешает вызвать его клео обработчиком?
Порядок переменных точно такой? В любом случае работать будет раза в 3 медленее.

P.S. Есть функция от фипа для расчета такой херни для любых координат, но "-1.0" там считается не так как в опкоде
 

FYP

Известный
Администратор
1,757
5,684
нужен аналог этого опкода на c++ 04C4: store_coords_to 15@ 16@ 17@ from_actor $PLAYER_ACTOR with_offset 3.0 3.0 -1.0
C++:
void store_coords_with_offset ( float point[3], float radian, float x_offset, float y_offset, float z_offset, float pos[3] )
{
   float sinx, cosx, siny, cosy;
   float point_[3];

   vect3_copy(point, point_);
   sinx = sinf(radian) * x_offset;
   cosx = cosf(radian) * x_offset;
   point_[0] += cosx;
   point_[1] += sinx;
   siny = sinf(-radian) * y_offset;
   cosy = cosf(-radian) * y_offset;
   point_[0] += siny;
   point_[1] += cosy;
   point_[2] += z_offset;
   vect3_copy(point_, pos);
}
Нет, сам адрес я нахожу, но в других играх они же плавают, там определённый оффсет от адреса игры. Так вот, способ есть через ЧИ, но он нехера не работает. Скорее всего защита игры. Так вооот... Меня интересуют другие способы и обходы защиты. Мне конечно наврятли кто поможет, и навретли тут страдал кто такой херней. Но если знаете, то буду благодарен.
в CE есть автоматический поиск указателей, иногда спасает, когда ручной поиск не даёт результатов.
 
  • Нравится
Реакции: Stas07

Gabriel__

Известный
Проверенный
411
181
Как форматировать строку в c++ аналог опкода 0AD3 в клео.
 

CarLCas

Известный
161
118
А пример приводить кто будет. В уроке sf api в вики не понял.
sprintf(str, "string #%d %s", 1,"new");
str - символьная переменная (char) в которую будет производиться запись
"string #%d %s" - строка которая туда будет записываться с 2 параметрами int и string, которые идут после строки (это 1 и "new")
И вообще можно повежливее обращаться, к тем кто тебе помогает. Да и гуглом научиться пользоваться
 

Gabriel__

Известный
Проверенный
411
181
sprintf(str, "string #%d %s", 1,"new");
str - символьная переменная (char) в которую будет производиться запись
"string #%d %s" - строка которая туда будет записываться с 2 параметрами int и string, которые идут после строки (это 1 и "new")
И вообще можно повежливее обращаться, к тем кто тебе помогает. Да и гуглом научиться пользоваться
Ничо не понял
 

Woofing Giraffe

Активный
402
49
Код:
char stroka[128];
int apples = 10;
sprintf(stroka, "У меня %d яблок.", apples);

stroka - Строка в которую хочешь записать
У меня %d яблок - То, что ты записываешь в эту строку
apples - Кол-во яблок.
 
Последнее редактирование:
  • Нравится
Реакции: Gabriel__

Woofing Giraffe

Активный
402
49
Объясните как regex пользоваться. Или почему при sscanf буква "я" считается окончанием строки?
 
  • Нравится
Реакции: Gabriel__

SR_team

like pancake
BH Team
4,707
6,347
C++:
void store_coords_with_offset ( float point[3], float radian, float x_offset, float y_offset, float z_offset, float pos[3] )
{
   float sinx, cosx, siny, cosy;
   float point_[3];

   vect3_copy(point, point_);
   sinx = sinf(radian) * x_offset;
   cosx = cosf(radian) * x_offset;
   point_[0] += cosx;
   point_[1] += sinx;
   siny = sinf(-radian) * y_offset;
   cosy = cosf(-radian) * y_offset;
   point_[0] += siny;
   point_[1] += cosy;
   point_[2] += z_offset;
   vect3_copy(point_, pos);
}

в CE есть автоматический поиск указателей, иногда спасает, когда ручной поиск не даёт результатов.
В каком-то плане руками искать проще. Бывает в функции указатель из нескольких поебень в регистр складывается и хуярится несколько раз перед использованием