 |
|

04.08.2017, 14:20
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Сообщение от Mystache
Само собой, код написал там, куда дальше нажимать? Как скомпилировать? (VS 2017 Community)
(https://www.blast.hk/wiki/tutorials:api_lesson_basics)
Основы изучи сначала, а потом уже с апи работай
|
|
|

04.08.2017, 14:41
|
|
Участник форума
Регистрация: 28.08.2016
Сообщений: 183
С нами:
5109543
Репутация:
33
|
|
Сообщение от Mystache
Само собой, код написал там, куда дальше нажимать? Как скомпилировать? (VS 2017 Community)
(https://www.blast.hk/wiki/tutorials:api_lesson_basics)
Screenshot_13.pngsamp is meme · 4 Авг 2017 в 13:41' data-fancybox="lb-post-154245" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/8429/" style="cursor: pointer;" title="Screenshot_13.png">

|
|
|

05.08.2017, 17:29
|
|
Постоянный
Регистрация: 21.08.2015
Сообщений: 343
С нами:
5646349
Репутация:
163
|
|
Как из DLL сделать ASI? Если просто переименовать - не работает. Писал на Visual C++. ASI loader стоит.
|
|
|

05.08.2017, 17:33
|
|
Постоянный
Регистрация: 10.01.2016
Сообщений: 922
С нами:
5441999
Репутация:
133
|
|
Сообщение от TheGREATFerZ
Как из DLL сделать ASI? Если просто переименовать - не работает. Писал на Visual C++. ASI loader стоит.
Другие аси грузит? Asi и dll это одно и то же
|
|
|

05.08.2017, 17:38
|
|
Постоянный
Регистрация: 21.08.2015
Сообщений: 343
С нами:
5646349
Репутация:
163
|
|
Сообщение от BlackKnigga
Другие аси грузит? Asi и dll это одно и то же
Другие АСИ грузит прекрасно.
|
|
|

05.08.2017, 19:11
|
|
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами:
6438231
Репутация:
133
|
|
Сообщение от TheGREATFerZ
Другие АСИ грузит прекрасно.
Код покажи.
|
|
|

05.08.2017, 22:38
|
|
Постоянный
Регистрация: 21.08.2015
Сообщений: 343
С нами:
5646349
Репутация:
163
|
|
Сообщение от iAmerican
Код покажи.
Если инжектить через cheat engine - то все работает.
C++:
Код:
LRESULT defwndproc
;
LRESULT CALLBACK
WindowProc
(
HWND hwnd
,
UINT uMsg
,
WPARAM wParam
,
LPARAM lParam
)
{
if
(
uMsg
==
WM_KEYDOWN
)
{
switch
(
wParam
)
{
case
VK_LEFT
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYDOWN
,
VK_NUMPAD4
,
lParam
)
;
break
;
case
VK_RIGHT
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYDOWN
,
VK_NUMPAD6
,
lParam
)
;
break
;
case
VK_UP
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYDOWN
,
VK_NUMPAD8
,
lParam
)
;
break
;
case
VK_DOWN
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYDOWN
,
VK_NUMPAD2
,
lParam
)
;
break
;
}
}
if
(
uMsg
==
WM_KEYUP
)
{
switch
(
wParam
)
{
case
VK_LEFT
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYUP
,
VK_NUMPAD4
,
lParam
)
;
break
;
case
VK_RIGHT
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYUP
,
VK_NUMPAD6
,
lParam
)
;
break
;
case
VK_UP
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYUP
,
VK_NUMPAD8
,
lParam
)
;
break
;
case
VK_DOWN
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYUP
,
VK_NUMPAD2
,
lParam
)
;
break
;
}
}
return
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
uMsg
,
wParam
,
lParam
)
;
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD ul_reason_for_call
,
LPVOID lpReserved
)
{
switch
(
ul_reason_for_call
)
{
case
DLL_PROCESS_ATTACH
:
defwndproc
=
SetWindowLongA
(
FindWindowA
(
0
,
"GTA:SA:MP"
)
,
GWL_WNDPROC
,
LONG
(
WindowProc
)
)
;
case
DLL_THREAD_ATTACH
:
case
DLL_THREAD_DETACH
:
case
DLL_PROCESS_DETACH
:
break
;
}
return
TRUE
;
}
|
|
|

05.08.2017, 22:49
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
Сообщение от TheGREATFerZ
Если инжектить через cheat engine - то все работает.
Название окна становится GTA:SA:MP только после того, как загрузится сам самп (покажется чат и игра, естественно).
|
|
|

06.08.2017, 12:41
|
|
Познающий
Регистрация: 13.09.2015
Сообщений: 94
С нами:
5613466
Репутация:
68
|
|
Ребят, может кто объяснить как работать с камерой средствами СФ(устанавливать позицию) ну и мелкие нюансы, если есть?
|
|
|

06.08.2017, 18:22
|
|
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами:
6438231
Репутация:
133
|
|
Сообщение от TheGREATFerZ
Если инжектить через cheat engine - то все работает.
C++:
Код:
LRESULT defwndproc
;
LRESULT CALLBACK
WindowProc
(
HWND hwnd
,
UINT uMsg
,
WPARAM wParam
,
LPARAM lParam
)
{
if
(
uMsg
==
WM_KEYDOWN
)
{
switch
(
wParam
)
{
case
VK_LEFT
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYDOWN
,
VK_NUMPAD4
,
lParam
)
;
break
;
case
VK_RIGHT
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYDOWN
,
VK_NUMPAD6
,
lParam
)
;
break
;
case
VK_UP
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYDOWN
,
VK_NUMPAD8
,
lParam
)
;
break
;
case
VK_DOWN
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYDOWN
,
VK_NUMPAD2
,
lParam
)
;
break
;
}
}
if
(
uMsg
==
WM_KEYUP
)
{
switch
(
wParam
)
{
case
VK_LEFT
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYUP
,
VK_NUMPAD4
,
lParam
)
;
break
;
case
VK_RIGHT
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYUP
,
VK_NUMPAD6
,
lParam
)
;
break
;
case
VK_UP
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYUP
,
VK_NUMPAD8
,
lParam
)
;
break
;
case
VK_DOWN
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYUP
,
VK_NUMPAD2
,
lParam
)
;
break
;
}
}
return
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
uMsg
,
wParam
,
lParam
)
;
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD ul_reason_for_call
,
LPVOID lpReserved
)
{
switch
(
ul_reason_for_call
)
{
case
DLL_PROCESS_ATTACH
:
defwndproc
=
SetWindowLongA
(
FindWindowA
(
0
,
"GTA:SA:MP"
)
,
GWL_WNDPROC
,
LONG
(
WindowProc
)
)
;
case
DLL_THREAD_ATTACH
:
case
DLL_THREAD_DETACH
:
case
DLL_PROCESS_DETACH
:
break
;
}
return
TRUE
;
}
ASI инжектится моментально , при запуске процесса(точно не знаю).
Так что добавляй цикл.
C++:
Код:
HWND hWnd
=
0
;
while
(
hWnd
==
0
)
{
hWnd
=
FindWindow
(
0
,
"GTA:SA:MP"
)
;
Sleep
(
100
)
;
}
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|