 |
|

09.11.2016, 19:57
|
|
Участник форума
Регистрация: 10.07.2015
Сообщений: 103
С нами:
5706449
Репутация:
68
|
|
благодарю
|
|
|

09.11.2016, 19:59
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от AWRage
bool b = *(bool *)0xB7CEE4; // read
*(bool *)0xB7CEE4 = true; // write
То там по другому делать надо.
|
|
|

09.11.2016, 20:48
|
|
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами:
5706781
Репутация:
43
|
|
Сообщение от Dark_Knight
То там по другому делать надо.
Он спросил как редачить адреса памяти. Я ответил.
|
|
|

10.11.2016, 22:52
|
|
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами:
5744580
Репутация:
28
|
|
Нужно зарандомить число от x до y включительно. Как реализовать? Пробовал так: rand() % (Count[1] - Count[0]) + Count[0];
На числах от 1 до 9 работает, дальше бред выдает
|
|
|

10.11.2016, 23:02
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами:
6935121
Репутация:
233
|
|
Сообщение от Woofing Giraffe
Нужно зарандомить число от x до y включительно. Как реализовать? Пробовал так: rand() % (Count[1] - Count[0]) + Count[0];
На числах от 1 до 9 работает, дальше бред выдает
rand() - прошлый век, не надо его юзать.
C++:
Код:
#include
int
randomInteger
(
int
min
,
int
max
)
{
static
std
::
random_device rd
;
static
std
::
default_random_engine
e1
(
rd
(
)
)
;
std
::
uniform_int_distribution
uniform_dist
(
min
,
max
)
;
return
uniform_dist
(
e1
)
;
}
|
|
|

13.11.2016, 14:57
|
|
Участник форума
Регистрация: 19.03.2014
Сообщений: 222
С нами:
6395080
Репутация:
128
|
|
Несколько вопросов, не касаемых гта:
1)Steam. HL2: DM. На сервере использвуется VAC. Если сразу после включения игры заинжектить простую .dll, которая хукает directx, то при заходе на сервер прилетает VAC бан, или кикает, или еще че, но если заинжектить ее после подключения к серверу - все работает прекрасно. Неужели в CS:GO будет так же?
2)Может есть какие-нибудь хитрости в поиске различных структур в играх? Поделитесь ссылками на статьи/гайды пож. Потому что у меня, кроме как пригласить 2-3 человек на сервер и искать в памяти их хп, позицию и т.п., искать закономерности, разницу между адресами этих значений у игроков (по идее должна быть равна размеру стр-ры), других идей пока что нет.
3)Или, может, по HL2: DM (движок Source) выкладывали хоть какие-нибудь адреса? Искать всё с нуля впадлу пзедц. Нашел исходники движка, но они старые и хер знает, сколько потерпели изменений.
|
|
|

13.11.2016, 17:25
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами:
6935121
Репутация:
233
|
|
@Picador
1. насколько мне известно, инжектить dll туда, где есть встроенный античит - это плохая практика. спустя время такие дллки начинают палится, если не будут замечены античитом сразу же. почему? точно сказать не могу, но можно предположить, что неизвестные библиотеки отправляются на сервера античита для анализа, возможно даже ручного. альтернатива - внешние (external) читы, но и у них есть хуева гора нюансов.
2. трюки есть, но они все не универсальные. например, в CE есть немало инструментов для автоматического анализа структур, в IDA Pro можно составить структуру из обращения к полям, есть даже отдельная программа ReClass, которая предназначена лишь для одной цели - разбора структур в запущенном процессе, но любые автоматические методы никак не могут гарантировать правильность распознавания, и чаще всего разбор любых структур требует ручного вмешательства.
3. можно поискать читы с открытыми исходниками. начни с unknowncheats.me, там немало такого контента.
|
|
|

15.11.2016, 20:37
|
|
Постоянный
Регистрация: 20.10.2014
Сообщений: 489
С нами:
6086011
Репутация:
108
|
|
Сообщение от Woofing Giraffe
Нужно зарандомить число от x до y включительно. Как реализовать? Пробовал так: rand() % (Count[1] - Count[0]) + Count[0];
На числах от 1 до 9 работает, дальше бред выдает
C++:
Код:
int
x
=
rand
(
)
%
(
B
-
A
+
1
)
+
A
;
я так делал
Pawn, как пример.
Код:
Код:
stock FractionName(playerid)
{
new fractionname[40];
switch(pInfo[playerid][pMember])
{
case 1: { fractionname = "38"; }
case 2: { fractionname = "64"; }
case 3: { fractionname = "208+"; }
case 4: { fractionname = "++102"; }
case 5: { fractionname = "283"; }
}
return fractionname;
}
И потом хуярим например так:
Код:
Код:
new dialog[24 + 40 + 40]; format(dialog, sizeof(dialog), "%s приглашает Вас присоединиться к %s", pInfo[playerid][pName], FractionName(playerid));
Kak захуярить на C++ такое? Ну сток создать
|
|
|

17.11.2016, 01:24
|
|
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами:
5744580
Репутация:
28
|
|
Сообщение от Sire
Pawn, как пример.
Код:
Код:
stock FractionName(playerid)
{
new fractionname[40];
switch(pInfo[playerid][pMember])
{
case 1: { fractionname = "38"; }
case 2: { fractionname = "64"; }
case 3: { fractionname = "208+"; }
case 4: { fractionname = "++102"; }
case 5: { fractionname = "283"; }
}
return fractionname;
}
И потом хуярим например так:
Код:
Код:
new dialog[24 + 40 + 40]; format(dialog, sizeof(dialog), "%s приглашает Вас присоединиться к %s", pInfo[playerid][pName], FractionName(playerid));
Kak захуярить на C++ такое? Ну сток создать
char же обычный
|
|
|

22.11.2016, 15:44
|
|
Постоянный
Регистрация: 10.01.2016
Сообщений: 922
С нами:
5441999
Репутация:
133
|
|
Есть две строки, одна указатель, другая массив:
C++:
Код:
char
*
pstr
=
"string"
,
str
[
]
=
"string"
;
Как их сравнить?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|