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

  #2961  
Старый 07.11.2018, 21:46
CleanLegend
Постоянный
Регистрация: 28.03.2013
Сообщений: 495
С нами: 6908018

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

Цитата:
Сообщение от 2Shae  

Как отправить сообщение через C++? (без собейта, а то немогу разобраться в нём)
C++:





Код:
(
(
void
(
__thiscall
*
)
(
void
*
_this
,
char
*
message
)
)
(
g_dwSAMP_Addr
+
SAMP_FUNC_SAY
)
)
(
g_Players
->
pLocalPlayer
,
msg
)
;


полная функция в собейте - BlastHackNet/mod_s0beit_sa(https://github.com/BlastHackNet/mod_s0beit_sa/blob/master/src/samp.cpp#L712)
 
Ответить с цитированием

  #2962  
Старый 08.11.2018, 00:07
Adder
Новичок
Регистрация: 01.11.2013
Сообщений: 22
С нами: 6593689

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

Написал функцию, которая обновляет определённые строки чата после ввода команды.

Функция работает с помощью SF->getSAMP()->getChat()->chatEntry.

Но чат не обновляет, пробовал обновить с помощью Set.iMessagesReceived = 1;

В этом случае, она обновляется, но только после того как в чат приходит ещё одна строка.

В этом случае Set.iMessagesReceived = 0; она обновляется сразу, но на время происходит не плохая просадка ФПС.

Может подскажете, как ещё можно обновлять чат? Или какой-нибудь вариант без просадки ФПС
 
Ответить с цитированием

  #2963  
Старый 08.11.2018, 01:55
#Rin
Познавший АНТИЧАТ
Регистрация: 09.08.2015
Сообщений: 1,213
С нами: 5663255

Репутация: 183


По умолчанию

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

Может подскажете, как ещё можно обновлять чат? Или какой-нибудь вариант без просадки ФПС
Можно сэмулировать тройное нажатие F7.

Можно попробовать вызвать функцию (0x5D7B0), что вызывает и F7.

Функция является _thiscall'ом, в аргументы передать ChatInfo (0x21A0E4).

Адреса указаны для SAMP 0.3.7 R1.
 
Ответить с цитированием

  #2964  
Старый 08.11.2018, 08:10
leak.
Познающий
Регистрация: 05.09.2016
Сообщений: 37
С нами: 5097707

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

всем привет. подскажите, пожалуйста, каким образом можно дебажить самп.длл вместе с игрой через Ida?

пробовал Attach to process - gta_sa.exe (запущенный) , видит асм код гташки, а сампа не может

Цитата:
Сообщение от Спойлер  

Applaction: E:\gta_samp_037\gta_sa.exe

Input file: E:\gta_samp_037\samp.dll

Directory: E:\gta_samp_037
и потом запускать StartProcess, не получилось
 
Ответить с цитированием

  #2965  
Старый 08.11.2018, 09:28
#Rin
Познавший АНТИЧАТ
Регистрация: 09.08.2015
Сообщений: 1,213
С нами: 5663255

Репутация: 183


По умолчанию

Цитата:
Сообщение от leak.  

всем привет. подскажите, пожалуйста, каким образом можно дебажить самп.длл вместе с игрой через Ida?

пробовал Attach to process - gta_sa.exe (запущенный) , видит асм код гташки, а сампа не может

Цитата:
Сообщение от Спойлер  

Applaction: E:\gta_samp_037\gta_sa.exe

Input file: E:\gta_samp_037\samp.dll

Directory: E:\gta_samp_037
и потом запускать StartProcess, не получилось
Атачишся к процессу, и в списке модулей выбираешь адресное пространство сампа.
 
Ответить с цитированием

  #2966  
Старый 08.11.2018, 10:14
leak.
Познающий
Регистрация: 05.09.2016
Сообщений: 37
С нами: 5097707

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

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

Атачишся к процессу, и в списке модулей выбираешь адресное пространство сампа.
в общем, я гружу gta_sa.idb, потом запускаю самп, выбираю тип дебаггера(WinDbg, LocalWin) Debuger - тестил оба.

дальше Debuger-Attach to process, выбираю gta_sa.exe.

все грузится. в списке модулей выбираю самп, перехожу по адресу - адреса есть, но байты будто пустые. ни один сампский хук не видит.

а еще в модуле есть загрузка samp.pdb файла, это нужно заливать? хотя у меня его нет

что я делаю не так?
 
Ответить с цитированием

  #2967  
Старый 08.11.2018, 10:44
ЯedЯuM
Участник форума
Регистрация: 13.03.2016
Сообщений: 242
С нами: 5351007

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

Цитата:
Сообщение от leak.  

в общем, я гружу gta_sa.idb, потом запускаю самп, выбираю тип дебаггера(WinDbg, LocalWin) Debuger - тестил оба.
дальше Debuger-Attach to process, выбираю gta_sa.exe.
все грузится. в списке модулей выбираю самп, перехожу по адресу - адреса есть, но байты будто пустые. ни один сампский хук не видит.
а еще в модуле есть загрузка samp.pdb файла, это нужно заливать? хотя у меня его нет
что я делаю не так?
Попробуй x64dbg (32-битную версию) у меня под ним нормально дебажит
 
Ответить с цитированием

  #2968  
Старый 08.11.2018, 11:39
leak.
Познающий
Регистрация: 05.09.2016
Сообщений: 37
С нами: 5097707

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

Цитата:
Сообщение от Rzeźnik  

Попробуй x64dbg (32-битную версию) у меня под ним нормально дебажит
поставил. после аттача показывает примерно 32766 строк gta_sa кода. с самп.длл тоже самое. почему половина кода не видит?

Цитата:
Сообщение от Спойлер  




делаю так: Файл-Присоединиться-F9. перехожу на "Отладочные символы" - выбираю gta_sa.exe
 
Ответить с цитированием

  #2969  
Старый 08.11.2018, 12:03
#Rin
Познавший АНТИЧАТ
Регистрация: 09.08.2015
Сообщений: 1,213
С нами: 5663255

Репутация: 183


По умолчанию

Цитата:
Сообщение от leak.  

почему половина кода не видит?
И где на скрине, то что нету кода?
 
Ответить с цитированием

  #2970  
Старый 08.11.2018, 12:10
leak.
Познающий
Регистрация: 05.09.2016
Сообщений: 37
С нами: 5097707

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

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

И где на скрине, то что нету кода?
так на скрине показывает до 0x407FFF строки, т,е это начало кода. в гта их больше
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.