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

  #1  
Старый 03.05.2020, 10:59
ALF
Постоянный
Регистрация: 14.11.2017
Сообщений: 319
С нами: 4472205

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

GetDC function (winuser.h) - Win32 apps

The GetDC function retrieves a handle to a device context (DC) for the client area of a specified window or for the entire screen.

docs.microsoft.com


C++:





Код:
#pragma comment(lib, "User32.lib")
 
Ответить с цитированием

  #2  
Старый 03.05.2020, 16:10
loganhackerdff
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами: 4633764

Репутация: 148


По умолчанию

Как сделать активацию по читкоду в sf?
 
Ответить с цитированием

  #3  
Старый 03.05.2020, 17:59
ALF
Постоянный
Регистрация: 14.11.2017
Сообщений: 319
С нами: 4472205

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

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

Как сделать активацию по читкоду в sf?
C++:





Код:
// https://github.com/cleolibrary/CLEO4/blob/master/source/CTextManager.cpp#L67
bool
TestCheat
(
const
char
*
cheat
)
{
char
*
c
=
reinterpret_cast

(
0x00969110
)
;
char
buf
[
30
]
;
strcpy
(
buf
,
cheat
)
;
char
*
s
=
_strrev
(
buf
)
;
if
(
_strnicmp
(
s
,
c
,
strlen
(
s
)
)
)
return
false
;
*
reinterpret_cast

(
0x00969110
)
=
0
;
return
true
;
}
if
(
TestCheat
(
"cheat"
)
)
{
// ...
}
 
Ответить с цитированием

  #4  
Старый 03.05.2020, 17:01
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Я делал, но способ крайне тупой. Записывать из события окна WM_CHAR значения в строку и после каждой записи производить поиск подстроки нужной и если результат истинный, то активировал нужный кусок кода и очищал строку. Так же делал фильтрацию на длинную строки в 32 символа, чтобы не забивать память.

Если строка была длинее 32 символов, то удалял первый символ из неё.
 
Ответить с цитированием

  #5  
Старый 03.05.2020, 17:48
Merger
Новичок
Регистрация: 30.04.2020
Сообщений: 1
С нами: 3178206

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

Как в asi можно получить указатель на cchat. Тот, что передается первым аргументом в AddMessage.
 
Ответить с цитированием

  #6  
Старый 04.05.2020, 10:33
ph03nix
Новичок
Регистрация: 07.01.2016
Сообщений: 4
С нами: 5447126

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

I need stealth renderer for not captured on video, anyone?
 
Ответить с цитированием

  #7  
Старый 04.05.2020, 22:35
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Такой вопрос. Он В самповских тексдравах есть возможность рендерить модель обьекта(педов, машин и т.д). Собственно, у меня такой вопрос. Как это можно реализовать самому и оттуда вытянуть(создать) текстуру в виде LPDIRECT3DTEXTURE9?
 
Ответить с цитированием

  #8  
Старый 05.05.2020, 02:00
tlwsn
Постоянный
Регистрация: 24.11.2016
Сообщений: 537
С нами: 4982429

Репутация: 78


По умолчанию

как заставить sscanf работать с русскими символами?
 
Ответить с цитированием

  #9  
Старый 05.05.2020, 10:42
DolgorukovGTA
Постоянный
Регистрация: 27.05.2018
Сообщений: 651
С нами: 4191790

Репутация: 83


По умолчанию

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

как заставить sscanf работать с русскими символами?
Попробуй использовать Wide-аналог этой функции - swscanf_s. В проекте используй набор символов Юникода (Unicode Character Set). Отпиши, помогло или нет.

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

Ошибка LNK2019 ссылка на неразрешенный внешний символ "extern "C" struct HDC__ * __stdcall GetDC(struct HWND__ *)" (?GetDC@@$$J14YGPAUHDC__@@PAUHWND__@@@Z) в функции "void __clrcall `dynamic initializer for 'hdc''(void)" (???__Ehdc@@YMXXZ@?A0xa98138a8@@$$FYMXXZ)

Юникод на многобайтовую кодировку менял, не помогло. На странице ошибки слишком размыто и инфы конкретной я не нашел

Memory.h:





Код:
#include 
#include 
#include 
#include 
#include 
DWORD
GetProcId
(
const
char
*
procName
)
{
DWORD procId
=
0
;
HANDLE hSnap
=
CreateToolhelp32Snapshot
(
TH32CS_SNAPPROCESS
,
0
)
;
if
(
hSnap
!=
INVALID_HANDLE_VALUE
)
{
PROCESSENTRY32 procEntry
;
procEntry
.
dwSize
=
sizeof
(
procEntry
)
;
if
(
Process32First
(
hSnap
,
&
procEntry
)
)
{
do
{
if
(
!
strcmp
(
procEntry
.
szExeFile
,
procName
)
)
{
procId
=
procEntry
.
th32ProcessID
;
break
;
}
}
while
(
Process32Next
(
hSnap
,
&
procEntry
)
)
;
}
}
CloseHandle
(
hSnap
)
;
return
procId
;
}
uintptr_t
GetModuleBaseAddress
(
DWORD procId
,
const
char
*
modName
)
{
uintptr_t modBaseAddr
=
0
;
HANDLE hSnap
=
CreateToolhelp32Snapshot
(
TH32CS_SNAPMODULE
|
TH32CS_SNAPMODULE32
,
procId
)
;
if
(
hSnap
!=
INVALID_HANDLE_VALUE
)
{
MODULEENTRY32 modEntry
;
modEntry
.
dwSize
=
sizeof
(
modEntry
)
;
if
(
Module32First
(
hSnap
,
&
modEntry
)
)
{
do
{
if
(
!
strcmp
(
modEntry
.
szModule
,
modName
)
)
{
modBaseAddr
=
(
uintptr_t
)
modEntry
.
modBaseAddr
;
break
;
}
}
while
(
Module32Next
(
hSnap
,
&
modEntry
)
)
;
}
}
CloseHandle
(
hSnap
)
;
return
modBaseAddr
;
}
uintptr_t moduleBase
=
GetModuleBaseAddress
(
GetProcId
(
"gta_sa.exe"
)
,
"samp.dll"
)
;
HANDLE hProcess
=
OpenProcess
(
PROCESS_ALL_ACCESS
,
NULL
,
GetProcId
(
"gta_sa.exe"
)
)
;
HDC hdc
=
GetDC
(
FindWindowA
(
NULL
,
"GTA:SA:MP"
)
)
;
template

T
RPM
(
SIZE_T address
)
{
T buffer
;
ReadProcessMemory
(
hProcess
,
(
LPCVOID
)
address
,
&
buffer
,
sizeof
(
T
)
,
NULL
)
;
return
buffer
;
}

Странно, ведь у меня работает GetDC и при простом подключении Windows.h. Не забывай отрисовочный контекст (DC) чистить, когда ты им воспользовался, и он тебе не нужен. Т.к используется ф-я GetDC, то чистим при помощи ReleaseDC. Рекомендую ознакомиться с этой страницей - http://www.vsokovikov.narod.ru/New_MSDN_API/D_context/fn_releasedc.htm. В частности, нам интересен текст под заголовком "Замечания". Если ты скинул код неполностью и ты используешь эту функцию где-то у себя дальше, то прошу прощения за наезд.
 
Ответить с цитированием

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

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

ты пытаешься читать адрес своей же программы, а не игры
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.