 |
|

03.07.2016, 18:31
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
reserWriteOffset();
ignorebits(8);
write(senderID);
Write((PCHAR)&psSync, sizeof(psSync));
|
|
|

03.07.2016, 19:07
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от AWRage
Не работает чет. Вроде должно, заменяем функцию Present (VTable[17]) на свою и в своей вызываем оригинал. До этого в другом плагине делал так же, все работало.
C++:
Код:
DWORD dwOriginal
=
0x0
;
__declspec
(
naked
)
void
hook
(
)
{
__asm pushad
__asm pushfd
Log
(
"work"
)
;
__asm popfd
__asm popad
__asm jmp
[
dwOriginal
]
}
void
init
(
)
{
Log
(
"init"
)
;
while
(
(
*
(
IDirect3DDevice9
*
*
)
0xC97C28
)
==
nullptr
)
Sleep
(
100
)
;
IDirect3DDevice9
*
Device
=
*
(
IDirect3DDevice9
*
*
)
0xC97C28
;
Log
(
"%X"
,
Device
)
;
DWORD
*
VTable
=
(
DWORD
*
)
*
(
DWORD
*
)
Device
;
Log
(
"%X"
,
VTable
)
;
MEMORY_BASIC_INFORMATION mbi
;
VirtualQuery
(
(
LPCVOID
)
VTable
,
&
mbi
,
sizeof
(
mbi
)
)
;
VirtualProtect
(
mbi
.
BaseAddress
,
mbi
.
RegionSize
,
PAGE_READWRITE
,
&
mbi
.
Protect
)
;
Log
(
"Start hook."
)
;
dwOriginal
=
VTable
[
17
]
;
VTable
[
17
]
=
(
DWORD
)
hook
;
Log
(
"Finish hook."
)
;
VirtualProtect
(
mbi
.
BaseAddress
,
mbi
.
RegionSize
,
mbi
.
Protect
,
&
mbi
.
Protect
)
;
}
А нахуя? В SFAPI и так есть хук на нее
|
|
|

03.07.2016, 19:51
|
|
Постоянный
Регистрация: 10.07.2015
Сообщений: 642
С нами:
5706781
Репутация:
43
|
|
Сообщение от SR_team
А нахуя? В SFAPI и так есть хук на нее
Странно просто. Такой же код, в одном плагине работает, во втором нет.
|
|
|

03.07.2016, 20:09
|
|
Участник форума
Регистрация: 13.03.2016
Сообщений: 242
С нами:
5351007
Репутация:
0
|
|
Сообщение от Dark_Knight
reserWriteOffset();
ignorebits(8);
write(senderID);
Write((PCHAR)&psSync, sizeof(psSync));
Не перезаписывает оно входящий битстрим(( В итоге ничего не происходит.
C++:
Код:
hook
->
bitStream
->
ResetWritePointer
(
)
;
hook
->
bitStream
->
IgnoreBits
(
8
)
;
hook
->
bitStream
->
Write
(
SenderID
)
;
hook
->
bitStream
->
Write
(
(
PCHAR
)
&
psSync
,
sizeof
(
psSync
)
)
;
|
|
|

03.07.2016, 22:02
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Пробуй читать ид пакета и записывать его тоже. Игнорирование прийдется убрать.
|
|
|

04.07.2016, 00:38
|
|
Познающий
Регистрация: 27.03.2016
Сообщений: 78
С нами:
5331145
Репутация:
0
|
|
Как можно снизить вес SF плагина?
|
|
|

04.07.2016, 01:16
|
|
Постоянный
Регистрация: 26.05.2013
Сообщений: 692
С нами:
6822856
Репутация:
213
|
|
Сообщение от QGate
Как можно снизить вес SF плагина?
UPX
|
|
|

04.07.2016, 01:27
|
|
Познающий
Регистрация: 27.03.2016
Сообщений: 78
С нами:
5331145
Репутация:
0
|
|
Сообщение от NarutoUA
UPX
Разве он подойдет для плагинов SF?
|
|
|

04.07.2016, 01:27
|
|
Постоянный
Регистрация: 26.05.2013
Сообщений: 692
С нами:
6822856
Репутация:
213
|
|
Сообщение от QGate
Разве он подойдет для плагинов SF?
Разве принято задавать мне тупые вопросы?
|
|
|

04.07.2016, 18:23
|
|
Участник форума
Регистрация: 14.06.2015
Сообщений: 126
С нами:
5744580
Репутация:
28
|
|
помогите с кодом
никак не могу gui доделать - самп крашит
C++:
Код:
bool
CALLBACK
incomingRPC
(
stRakNetHookParams
*
params
)
{
if
(
params
->
packetId
==
RPC_ClickTextDraw
)
{
void
*
pointer
;
char
*
text
;
WORD TextDrawID
;
char
*
settext
=
"Settings"
;
params
->
Read
(
TextDrawID
)
;
params
->
ResetReadPointer
(
)
;
stSAMP
*
samp
=
SF
->
getSAMP
(
)
->
getInfo
(
)
;
pointer
=
(
SAMP
->
pPools
->
pTextdraw
)
+
0x2400
+
4
*
TextDrawID
;
text
=
*
(
char
*
*
)
addr
;
if
(
strcmp
(
settext
,
text
)
!=
0
)
{
//...
}
}
}
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|