 |
|

05.05.2016, 16:58
|
|
Участник форума
Регистрация: 18.04.2013
Сообщений: 264
С нами:
6877478
Репутация:
113
|
|
|
|
|

05.05.2016, 17:16
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Судя по коду то подключить не сложно
|
|
|

05.05.2016, 18:48
|
|
Постоянный
Регистрация: 23.06.2015
Сообщений: 411
С нами:
5731627
Репутация:
108
|
|
А для memcpy и memset обязательно снимать защиту памяти ? (VirtualProtect)
|
|
|

09.05.2016, 10:37
|
|
Новичок
Регистрация: 21.06.2015
Сообщений: 22
С нами:
5733802
Репутация:
53
|
|
Как нужно переделать, чтобы выводило в "Test command with params" не только цифры, а и буквы? Сейчас цифры только.
C++:
Код:
void
cmd_findtext
(
char
*
szParams
)
{
addMessageToChat
(
0xFFFFFFFF
,
"Test command with params: "
%
s
""
,
szParams
)
;
}
void
addMessageToChat
(
D3DCOLOR cColor
,
char
*
szMsg
,
.
.
.
)
{
if
(
g_Chat
==
nullptr
)
return
;
void
(
__thiscall
*
AddToChatWindowBuffer
)
(
const
void
*
_this
,
int
iType
,
char
*
szText
,
char
*
szPrefix
,
DWORD cColor
,
DWORD cPrefixColor
)
=
(
void
(
__thiscall
*
)
(
const
void
*
,
int
,
char
*
,
char
*
,
DWORD
,
DWORD
)
)
(
dwSAMPAddr
+
SAMP_FUNC_ADDTOCHATWND
)
;
if
(
szMsg
==
NULL
)
return
;
va_list ap
;
char
tmp
[
512
]
;
memset
(
tmp
,
0
,
512
)
;
va_start
(
ap
,
szMsg
)
;
vsnprintf
(
tmp
,
sizeof
(
tmp
)
-
1
,
szMsg
,
ap
)
;
va_end
(
ap
)
;
return
AddToChatWindowBuffer
(
(
void
*
)
g_Chat
,
8
,
tmp
,
NULL
,
cColor
,
0x00
)
;
}
|
|
|

18.05.2016, 01:15
|
|
Познающий
Регистрация: 21.05.2014
Сообщений: 77
С нами:
6304276
Репутация:
0
|
|
Как создать поток при подключении .dll, чтобы игру не крашнуло?
Код:
Код:
DWORD WINAPI tp (LPVOID);
DWORD APIENTRY DllMain (HMODULE hModule, DWORD ul_reason_for_call, LPVOID IpReserved)
{
switch(ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
CreateThread(NULL,NULL,tp,NULL,NULL,NULL);
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
}
Таким способом не получается, но нашел только его 
|
|
|

18.05.2016, 09:09
|
|
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами:
5744580
Репутация:
28
|
|
Сообщение от DarkExorcist
Как создать поток при подключении .dll, чтобы игру не крашнуло?
Код:
Код:
DWORD WINAPI tp (LPVOID);
DWORD APIENTRY DllMain (HMODULE hModule, DWORD ul_reason_for_call, LPVOID IpReserved)
{
switch(ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
CreateThread(NULL,NULL,tp,NULL,NULL,NULL);
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
}
Таким способом не получается, но нашел только его
Не проще в main его создать?
|
|
|

18.05.2016, 10:29
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от DarkExorcist
Как создать поток при подключении .dll, чтобы игру не крашнуло?
Код:
Код:
DWORD WINAPI tp (LPVOID);
DWORD APIENTRY DllMain (HMODULE hModule, DWORD ul_reason_for_call, LPVOID IpReserved)
{
switch(ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
CreateThread(NULL,NULL,tp,NULL,NULL,NULL);
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
}
Таким способом не получается, но нашел только его
_beginthread
|
|
|

18.05.2016, 16:48
|
|
Познающий
Регистрация: 21.05.2014
Сообщений: 77
С нами:
6304276
Репутация:
0
|
|
Что делать, чтобы GetKeyState(); возвращала значение не равное 0, только когда нужная мне кнопка зажата? Просто условие продолжает работу до повторного нажатия Insert
|
|
|

18.05.2016, 19:49
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
getasynckeystate и цикл. Можно и булевую переменную создать и её в качестве проверке юзать.
|
|
|

20.05.2016, 11:20
|
|
Участник форума
Регистрация: 21.06.2013
Сообщений: 131
С нами:
6785172
Репутация:
68
|
|
CLEO:
Код:
0AA2:
30@
= load_library
"samp.dll"
// IF and SET
0A8E:
1@
=
30@
+
457971
// int
0A8C:
write_memory
1@
size
4
value
24216591
virtual_protect
1
0A8E:
2@
=
1@
+
4
// int
0A8C:
write_memory
2@
size
2
value
0
virtual_protect
1
0A8E:
3@
=
30@
+
458004
// int
0A8C:
write_memory
3@
size
4
value
22053903
virtual_protect
1
0A8E:
4@
=
3@
+
4
// int
0A8C:
write_memory
4@
size
2
value
0
virtual_protect
1
0A8E:
5@
=
30@
+
458280
// int
0A8C:
write_memory
5@
size
2
value
16500
virtual_protect
1
0A8E:
6@
=
30@
+
462648
// int
0A8C:
write_memory
6@
size
2
value
24948
virtual_protect
1
0A8E:
7@
=
30@
+
462372
// int
0A8C:
write_memory
7@
size
4
value
24218127
virtual_protect
1
0A8E:
8@
=
7@
+
4
// int
0A8C:
write_memory
8@
size
2
value
0
virtual_protect
1
0AA3:
free_library
30@
0AB2:
ret
0
как это будет в C++
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|