Показать сообщение отдельно

  #6  
Старый 31.03.2016, 00:10
Vasiliy77
Новичок
Регистрация: 21.06.2015
Сообщений: 22
С нами: 5733802

Репутация: 53
По умолчанию

Почему при каждом запуске консоли значение адреса всегда разное, а в Cheat Engine оно не меняется? Код прилагаю ниже.

Цитата:
Сообщение от Спойлер  


C++:





Код:
DWORD offsets
[
]
=
{
0x6FCF3
}
;
// смещение
DWORD addressdllsamp
=
(
DWORD
)
getModuleHandleRemote
(
PID
,
"samp.dll"
)
;
// адрес samp.dll
DWORD ippointer1
=
mem
->
ReadPointer
(
addressdllsamp
,
offsets
,
1
)
;
printf
(
"Address samp.dll [2]: 0x%x \n=====================\n"
,
addressdllsamp
)
;
printf
(
"[2] Adress: 0x%x / value = %d\n"
,
ippointer1
,
mem
->
Read
(
ippointer1
,
16
)
)
;
// ВОТ ТУТ value = всегда разное число


C++:





Код:
HMODULE AC
::
getModuleHandleRemote
(
DWORD processId
,
const
char
*
moduleName
)
{
HANDLE snap
=
CreateToolhelp32Snapshot
(
TH32CS_SNAPMODULE
,
processId
)
;
if
(
snap
==
INVALID_HANDLE_VALUE
)
return
NULL
;
MODULEENTRY32 moduleEntry
;
moduleEntry
.
dwSize
=
sizeof
(
moduleEntry
)
;
bool
found
=
Module32First
(
snap
,
&
moduleEntry
)
==
TRUE
;
while
(
found
)
{
if
(
strcmp
(
moduleEntry
.
szModule
,
moduleName
)
==
0
)
return
CloseHandle
(
snap
)
,
moduleEntry
.
hModule
;
found
=
Module32Next
(
snap
,
&
moduleEntry
)
==
TRUE
;
}
CloseHandle
(
snap
)
;
return
NULL
;
}


C++:





[CODE]
DWORD AC
::
ReadPointer
(
DWORD base
,
DWORD
*
offsets
,
int
count
)
{
for
(
int
i
=
0
;
i



 
Ответить с цитированием