
31.03.2016, 00:10
|
|
Новичок
Регистрация: 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
|
|
|