HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #3921  
Старый 13.08.2019, 00:22
Stiopko
Постоянный
Регистрация: 28.02.2018
Сообщений: 307
С нами: 4319022

Репутация: 113
По умолчанию

Цитата:
Сообщение от ШPEK  

ebp удобней т.к он не меняется в отличии от esp, pushad сохраняет 32 битные регистры в стеке
А почему мы добавляем к регистру esp если esp это вершина куда еще вверх?
 
Ответить с цитированием

  #3922  
Старый 13.08.2019, 00:24
ШPEK
Познавший АНТИЧАТ
Регистрация: 22.02.2017
Сообщений: 1,474
С нами: 4852492

Репутация: 88


По умолчанию

Цитата:
Сообщение от Stiopko  

А почему мы добавляем к регистру esp если esp это вершина куда еще вверх?
При push стек уменьшается на 4, а аргументы передаются через push
 
Ответить с цитированием

  #3923  
Старый 13.08.2019, 20:06
0xNull_Dll
Участник форума
Регистрация: 10.07.2018
Сообщений: 143
С нами: 4128555

Репутация: 68
По умолчанию

Парни, кто-нибудь знает оффсет на клавиши? Конкретно - на WASD. Типа, чтобы можно было записать в какой-то адресс 255 - нажалась кнопка, к примеру, W. 0 = "отжалась" (press / release)

P.S Не функцию. Именно оффсет
 
Ответить с цитированием

  #3924  
Старый 14.08.2019, 16:47
MuhaPW
Новичок
Регистрация: 12.08.2019
Сообщений: 6
С нами: 3555044

Репутация: 1
По умолчанию

1 Не могу начать писать плагины SAMPFUNCS.

Установил Visual Studio, распаковал проект SFPlugin и открыл. Вот ошибка, ни как не могу понять с чем связана ошибка и как его исправить.

Код:





Код:
1>------ Перестроение всех файлов начато: проект: FirstSF, Конфигурация: Release Win32 ------
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(379,5): error MSB8020: The build tools for Visual Studio 2012 - Windows XP (Platform Toolset = 'v110_xp') cannot be found. To build using the v110_xp build tools, please install Visual Studio 2012 - Windows XP build tools.  Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution".
1>Сборка проекта "SFPlugin.vcxproj" завершена с ошибкой.
========== Перестроение всех проектов: успешно: 0, с ошибками: 1, пропущено: 0 ==========
 
Ответить с цитированием

  #3925  
Старый 15.08.2019, 21:43
MuhaPW
Новичок
Регистрация: 12.08.2019
Сообщений: 6
С нами: 3555044

Репутация: 1
По умолчанию

Цитата:
Сообщение от MuhaPW  

1 Не могу начать писать плагины SAMPFUNCS.
Установил Visual Studio, распаковал проект SFPlugin и открыл. Вот ошибка, ни как не могу понять с чем связана ошибка и как его исправить.

Код:





Код:
1>------ Перестроение всех файлов начато: проект: FirstSF, Конфигурация: Release Win32 ------
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(379,5): error MSB8020: The build tools for Visual Studio 2012 - Windows XP (Platform Toolset = 'v110_xp') cannot be found. To build using the v110_xp build tools, please install Visual Studio 2012 - Windows XP build tools.  Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution".
1>Сборка проекта "SFPlugin.vcxproj" завершена с ошибкой.
========== Перестроение всех проектов: успешно: 0, с ошибками: 1, пропущено: 0 ==========

Я решил проблему. Мне помог человек из Stack Overflow. Вот ссылка на вопрос и ответ. https://ru.stackoverflow.com/questions/1013544/visual-studio-2019-error-msb8020/1013659#1013659
 
Ответить с цитированием

  #3926  
Старый 15.08.2019, 21:50
ALF
Постоянный
Регистрация: 14.11.2017
Сообщений: 319
С нами: 4472205

Репутация: 163
По умолчанию

Цитата:
Сообщение от MuhaPW  

1 Не могу начать писать плагины SAMPFUNCS.
Установил Visual Studio, распаковал проект SFPlugin и открыл. Вот ошибка, ни как не могу понять с чем связана ошибка и как его исправить.

Код:





Код:
1>------ Перестроение всех файлов начато: проект: FirstSF, Конфигурация: Release Win32 ------
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(379,5): error MSB8020: The build tools for Visual Studio 2012 - Windows XP (Platform Toolset = 'v110_xp') cannot be found. To build using the v110_xp build tools, please install Visual Studio 2012 - Windows XP build tools.  Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution".
1>Сборка проекта "SFPlugin.vcxproj" завершена с ошибкой.
========== Перестроение всех проектов: успешно: 0, с ошибками: 1, пропущено: 0 ==========

достаточно просто прочитать что там написано

Цитата:
Сообщение от MuhaPW  

Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution".
 
Ответить с цитированием

  #3927  
Старый 16.08.2019, 00:53
Stiopko
Постоянный
Регистрация: 28.02.2018
Сообщений: 307
С нами: 4319022

Репутация: 113
По умолчанию

Здарова, сделал я структуру для хука, но она почему-то не ставит хук, хотя просто функция работала нормально, как можно решить?

C++:





Код:
struct
Hook
{
DWORD addr
=
NULL
;
byte
*
data
=
nullptr
;
size_t size
=
NULL
;
Hook
(
const
DWORD
&
addr
,
const
DWORD
&
func
,
const
size_t
&
size
=
5
)
{
this
->
data
=
new
byte
[
size
]
;
this
->
size
=
size
;
this
->
addr
=
addr
;
DWORD dwProt
=
PAGE_EXECUTE_READWRITE
;
VirtualProtect
(
(
void
*
)
addr
,
size
,
dwProt
,
&
dwProt
)
;
memcpy
(
data
,
(
void
*
)
addr
,
size
)
;
memset
(
(
void
*
)
(
addr
-
4
)
,
0x90
,
size
-
4
)
;
*
(
byte
*
)
(
addr
)
=
0xE9
;
// jmp
*
(
unsigned
int
*
)
(
addr
+
1
)
=
func
-
(
addr
+
5
)
;
VirtualProtect
(
(
void
*
)
addr
,
size
,
dwProt
,
NULL
)
;
}
~
Hook
(
)
{
if
(
data
!=
nullptr
)
{
DWORD dwProt
=
PAGE_EXECUTE_READWRITE
;
VirtualProtect
(
(
void
*
)
addr
,
size
,
dwProt
,
&
dwProt
)
;
memcpy
(
(
void
*
)
addr
,
data
,
size
)
;
VirtualProtect
(
(
void
*
)
addr
,
size
,
dwProt
,
NULL
)
;
delete
[
]
data
;
}
}
}
;
 
Ответить с цитированием

  #3928  
Старый 16.08.2019, 04:12
p1cador
Участник форума
Регистрация: 19.03.2014
Сообщений: 222
С нами: 6395080

Репутация: 128
По умолчанию

@Stiopko, код, реализующий перенаправление из функции в другое место хоть и [S]говно[/S]плоховат, но свою задачу выполняет (не поленился, проверил дебагером).

Возможно, ты создал объект Hook на стеке, в результате чего после выхода из области видимости, автоматически вызвался деструктор. Попробуй создавать его на куче через new
 
Ответить с цитированием

  #3929  
Старый 16.08.2019, 11:19
MuhaPW
Новичок
Регистрация: 12.08.2019
Сообщений: 6
С нами: 3555044

Репутация: 1
По умолчанию

У меня появился другой вопрос. Вот я отлавливаю пакеты.

Вот по этому уроку у меня получилось это сделать https://blast.hk/wiki/tutorials:api_lesson_raknet

Я понимаю как он отлавливает пакеты и как читает. (Конечно есть некоторые вопросы, но походу разберусь).

Я не понимаю одного. Зачем нужны 2 вида отправка пакетов Pacet и RPC ? Что, когда нужно использовать ?

В интернете я ничего не нашел по этому вопросу. Пожалуйста, если вы знаете ответ, или знаете источник где этот ответ есть скажите мне!
 
Ответить с цитированием

  #3930  
Старый 16.08.2019, 11:47
Cake_
Участник форума
Регистрация: 04.04.2017
Сообщений: 263
С нами: 4793630

Репутация: 133
По умолчанию

Цитата:
Сообщение от MuhaPW  

У меня появился другой вопрос. Вот я отлавливаю пакеты.
Вот по этому уроку у меня получилось это сделать https://blast.hk/wiki/tutorials:api_lesson_raknet
Я понимаю как он отлавливает пакеты и как читает. (Конечно есть некоторые вопросы, но походу разберусь).

Я не понимаю одного. Зачем нужны 2 вида отправка пакетов Pacet и RPC ? Что, когда нужно использовать ?
В интернете я ничего не нашел по этому вопросу. Пожалуйста, если вы знаете ответ, или знаете источник где этот ответ есть скажите мне!
рпк и пакеты это разные вещи. рпк отправляются / приходят в момент какого-то события например сервер показал нам диалог в этот момент нам приходит ShowDialog - ID: 61. а пакеты же используются для того чтобы отправлять информацию серверу об твоём хп / позиции / положении твоей камеры / являешься ли ты наблюдателем / отправка BULLET SYNC(в момент стрельбы) пример, когда мы двигаемся отправляется он фут дата (ID_PLAYER_SYNC), оно отправляется даже когда персонаж не двигается(отправляется с меньшей частотой)

update: https://github.com/BrunoBM16/samp-pa.../wiki/RPC-List тут можешь глянуть инфу об всех пакетах / rpc
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.