 |
|

09.05.2020, 18:39
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от T4yz1e
WriteProcessMemory(hProcess, (LPVOID)0x4B3296, newi, 3, nullptr);
не правильно
|
|
|

09.05.2020, 19:44
|
|
Постоянный
Регистрация: 18.03.2017
Сообщений: 410
С нами:
4818548
Репутация:
133
|
|
Сообщение от T4yz1e
@DolgorukovGTA @RTD оценку?
C++:
Код:
DWORD one
=
0x4BA3B9
;
DWORD two
=
0x4BA3BA
;
DWORD three
=
0x4BA3BB
;
DWORD four
=
0x4BA3BF
;
one
=
0xE9
;
two
=
0xA7
;
three
=
0x03
;
ReadProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3B9
,
&
one
,
sizeof
(
one
)
,
0
)
;
ReadProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3BA
,
&
two
,
sizeof
(
two
)
,
0
)
;
ReadProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3BB
,
&
three
,
sizeof
(
three
)
,
0
)
;
ReadProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3BF
,
&
four
,
sizeof
(
four
)
,
0
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
*
(
BYTE
*
)
0x4BA3B9
,
&
one
,
1
,
nullptr
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
*
(
BYTE
*
)
0x4BA3BA
,
&
two
,
1
,
nullptr
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
*
(
BYTE
*
)
0x4BA3BB
,
&
three
,
1
,
nullptr
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
*
(
BYTE
*
)
0x4BA3BF
,
&
four
,
1
,
nullptr
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
*
(
BYTE
*
)
(
0x4BA3BF
+
0x90
)
,
&
four
,
1
,
nullptr
)
;
const
int
i
=
0x90
;
const
void
*
newi
=
&
i
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3BC
,
0x00
,
2
,
nullptr
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
0x4B3296
,
newi
,
3
,
nullptr
)
;
}
Мдаааа.... Ты опять даже близко не подошел. Все что тебе нужно в моих сообщениях, но ты их не понял и никак не применил(если ваще читал). Код за тебя никто писать не будет, я тебе подсказал все что нужно, а ты продолжаешь пихать отсебятину которая не будет работать даже в теории. Продолжай писать на рандоме и у тебя ничего не получится или попытайся понять что и как работает
|
|
|

10.05.2020, 17:51
|
|
Постоянный
Регистрация: 27.05.2018
Сообщений: 651
С нами:
4191790
Репутация:
83
|
|
Сообщение от T4yz1e
@DolgorukovGTA @RTD оценку?
C++:
Код:
DWORD one
=
0x4BA3B9
;
DWORD two
=
0x4BA3BA
;
DWORD three
=
0x4BA3BB
;
DWORD four
=
0x4BA3BF
;
one
=
0xE9
;
two
=
0xA7
;
three
=
0x03
;
ReadProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3B9
,
&
one
,
sizeof
(
one
)
,
0
)
;
ReadProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3BA
,
&
two
,
sizeof
(
two
)
,
0
)
;
ReadProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3BB
,
&
three
,
sizeof
(
three
)
,
0
)
;
ReadProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3BF
,
&
four
,
sizeof
(
four
)
,
0
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
*
(
BYTE
*
)
0x4BA3B9
,
&
one
,
1
,
nullptr
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
*
(
BYTE
*
)
0x4BA3BA
,
&
two
,
1
,
nullptr
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
*
(
BYTE
*
)
0x4BA3BB
,
&
three
,
1
,
nullptr
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
*
(
BYTE
*
)
0x4BA3BF
,
&
four
,
1
,
nullptr
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
*
(
BYTE
*
)
(
0x4BA3BF
+
0x90
)
,
&
four
,
1
,
nullptr
)
;
const
int
i
=
0x90
;
const
void
*
newi
=
&
i
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3BC
,
0x00
,
2
,
nullptr
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
0x4B3296
,
newi
,
3
,
nullptr
)
;
}
Ты же указатель передаёшь.
|
|
|

10.05.2020, 19:24
|
|
Постоянный
Регистрация: 27.05.2018
Сообщений: 651
С нами:
4191790
Репутация:
83
|
|
Сообщение от T4yz1e
😭
C++:
Код:
const
int
i
=
0x90
;
const
void
*
i
=
&
i
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3BC
,
0x00
,
2
,
nullptr
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
0x4B3296
,
&
i
,
3
,
nullptr
)
;
Зачем многоуровневый указатель? И у тебя переменная имеет такой же идентификатор (имя), что и указатель на неё. Обычно к переменным-указателям добавляют "ptr" в конец или "p" в начало.
|
|
|

10.05.2020, 20:08
|
|
Постоянный
Регистрация: 27.05.2018
Сообщений: 651
С нами:
4191790
Репутация:
83
|
|
Сообщение от T4yz1e
C++:
Код:
typedef
unsigned
char
BYTE
;
BYTE one
=
0xE9
;
BYTE two
=
0xA7
;
BYTE three
=
0x03
;
BYTE four
=
(
0x4BA3BF
+
0x90
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3B9
,
&
one
,
1
,
nullptr
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3BA
,
&
two
,
1
,
nullptr
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3BB
,
&
three
,
1
,
nullptr
)
;
const
int
i
=
0x90
;
const
void
*
iptr
=
&
i
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
0x4BA3BC
,
0x00
,
2
,
nullptr
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
0x4B3296
,
&
i
,
3
,
nullptr
)
;
WriteProcessMemory
(
hProcess
,
(
LPVOID
)
(
0x4BA3BF
+
0x90
)
,
&
four
,
1
,
nullptr
)
;
Что ты творишь? Я тебе такого не советовал. Передавай в функцию указатель, он берётся при помощи операнда &. Либо же создай переменную-указатель и передавай её.
upd: @T4yz1e, почувствуй разницу на этом примере:
C:
Код:
uint8_t number
=
8
;
uint8_t
*
pNumber
=
&
number
;
printf
(
"%p\n"
,
pNumber
)
;
// выведет адрес переменной, на которую ссылается указатель
printf
(
"%i\n"
,
number
)
;
// выведет значение переменной
printf
(
"%i\n"
,
*
pNumber
)
;
// разыменуем указатель, выведет значение
|
|
|

10.05.2020, 21:17
|
|
Постоянный
Регистрация: 14.11.2017
Сообщений: 319
С нами:
4472205
Репутация:
163
|
|
советую подучить основы
|
|
|

10.05.2020, 21:49
|
|
Постоянный
Регистрация: 27.05.2018
Сообщений: 651
С нами:
4191790
Репутация:
83
|
|
@T4yz1e, небольшой пример для тебя:
C:
Код:
#include
#include
void
f
(
void
*
param
)
{
uint8_t
*
pNumber
=
(
uint8_t
*
)
param
;
// типизируем указатель
uint8_t number
=
*
pNumber
;
// разыменовываем указатель
printf
(
"%i\n"
,
number
)
;
}
int
main
(
)
{
uint8_t number
=
88
;
void
*
pNumber
=
(
void
*
)
&
number
;
// типизируем указатель
f
(
pNumber
)
;
// вызываем функцию
return
0
;
}
|
|
|

13.05.2020, 00:48
|
|
Участник форума
Регистрация: 16.03.2018
Сообщений: 108
С нами:
4295419
Репутация:
78
|
|
Недавно задался вопросом возможно ли написать свой плагин Emergency Light'ов, как подобный модуль в ImVehFt. Просто у последнего ограничения давят (до 16 разных материалов+корон и только 1 конфигурация загораний, я искренне верю что можно больше 16 сделать собственно лайтов и больше одного конфига, но пока не знаю как это реализовать). И вопрос такой, возможно ли и вообще имеет смысл писать подобный плагин? Может это потолок возможностей пожилого сап идораса, а не самого дмитрия, прекрасного автора мода ImVehFt. Было бы хорошо если бы вышеупомянутый имел опенсурс, но его бл*ин нету, так что придется велосипед изобретать в случае положительном.
|
|
|

14.05.2020, 22:41
|
|
Участник форума
Регистрация: 14.05.2014
Сообщений: 149
С нами:
6314183
Репутация:
68
|
|
Данный код постоянно выбирает первый пункт диалога, почему?
Код:
Код:
void SendDialogResponse(WORD wDialogID, BYTE bButtonID, WORD wListBoxItem = 65535, char* szInputResp = "")
{
BitStream bs;
bs.ResetWritePointer();
bs.Write(wDialogID);
bs.Write(bButtonID);
bs.Write(wListBoxItem);
bs.Write((BYTE)strlen(szInputResp));
bs.Write(szInputResp, strlen(szInputResp));
SF->getRakNet()->SendRPC(RPCEnumeration::RPC_DialogResponse, &bs);
}
SendDialogResponse(dialogID, 1, 4);
|
|
|

15.05.2020, 00:43
|
|
Участник форума
Регистрация: 28.08.2016
Сообщений: 183
С нами:
5109543
Репутация:
33
|
|
Как выйти на адреса памяти позиции игрока?
Сообщение от 2Shae
WORD wListBoxItem = 65535
убери число
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|