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

  #1  
Старый 24.06.2021, 17:13
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

очередной высер

C++:





Код:
#pragma once
#include 
#include 
namespace
memory
{
class
c_unprotect
{
void
*
m_address
{
nullptr
}
;
std
::
size_t m_size
{
0
}
;
u_long m_protect
{
PAGE_EXECUTE_READWRITE
}
;
public
:
c_unprotect
(
void
*
a_address
,
std
::
size_t a_size
)
:
m_address
(
a_address
)
,
m_size
(
a_size
)
{
VirtualProtect
(
m_address
,
a_size
,
m_protect
,
&
m_protect
)
;
}
~
c_unprotect
(
)
{
VirtualProtect
(
m_address
,
m_size
,
m_protect
,
&
m_protect
)
;
}
}
;
void
copy
(
void
*
a_dst
,
void
*
a_src
,
std
::
size_t a_size
)
{
c_unprotect unprot
{
a_dst
,
a_size
}
;
std
::
memcpy
(
a_dst
,
a_src
,
a_size
)
;
}
void
set
(
void
*
a_dst
,
std
::
uint8_t
a_value
,
std
::
size_t a_size
)
{
c_unprotect unprot
{
a_dst
,
a_size
}
;
std
::
memset
(
a_dst
,
a_value
,
a_size
)
;
}
void
nop
(
void
*
a_dst
,
std
::
size_t a_size
)
{
memory
::
set
(
a_dst
,
0x90
,
a_size
)
;
}
void
byte
(
void
*
a_dst
,
std
::
uint8_t
a_value
)
{
memory
::
set
(
a_dst
,
a_value
,
1
)
;
}
class
c_nop
{
std
::
unique_ptr

m_bytes
{
}
;
void
*
m_pointer
{
nullptr
}
;
std
::
size_t m_size
{
0
}
;
public
:
c_nop
(
)
=
default
;
c_nop
(
void
*
a_address
,
std
::
size_t a_size
)
{
this
->
install
(
a_address
,
a_size
)
;
}
c_nop
(
std
::
uintptr_t a_address
,
std
::
size_t a_size
)
{
this
->
install
(
a_address
,
a_size
)
;
}
~
c_nop
(
)
{
this
->
restore
(
)
;
}
void
install
(
void
*
a_address
,
const
std
::
size_t a_size
)
{
m_bytes
=
std
::
make_unique

(
a_size
)
;
m_pointer
=
a_address
;
m_size
=
a_size
;
memory
::
copy
(
m_bytes
.
get
(
)
,
m_pointer
,
m_size
)
;
memory
::
nop
(
m_pointer
,
m_size
)
;
}
void
install
(
std
::
uintptr_t a_address
,
const
std
::
size_t a_size
)
{
this
->
install
(
reinterpret_cast

(
a_address
)
,
a_size
)
;
}
void
restore
(
)
{
memory
::
copy
(
m_pointer
,
m_bytes
.
get
(
)
,
m_size
)
;
}
}
;
}


C++:





Код:
memory
::
c_nop mq
{
0xAABBCCu
,
3
}
;
// ставит 3 нопа на адресе 0xAABBCC
// ваша ***ня
mq
.
restore
(
)
;
// ставит ориг. байты
// ещё варик
memory
::
c_nop mq
;
mq
.
install
(
0xAABBCCu
,
3
)
;
// ставит 3 нопа на адресе 0xAABBCC
// ваша ***ня
mq
.
restore
(
)
;
// ещё варик
memory
::
c_nop mq
{
0xAABBCCu
,
3
}
;
// ваша ***ня
delete
&
mq
;
// тут вас посылает на*** (budet CRASH)


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





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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

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

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

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

Сумма USDT:

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

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

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

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

×

Мои сделки

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

Сделка


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

ESCROW ADMIN PANEL

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