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

  #7481  
Старый 26.03.2025, 10:19
fffaff123321ggg
Новичок
Регистрация: 26.03.2025
Сообщений: 2
С нами: 599568

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

Как защитить программу от статического анализа?
 
Ответить с цитированием

  #7482  
Старый 26.03.2025, 12:29
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

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

Как защитить программу от статического анализа?
Использовать упаковщики/проекторы (UPX, VMProtect) и мутировать код (вместо вызовов API использовать Nt, шифровать строки в статике)
 
Ответить с цитированием

  #7483  
Старый 26.03.2025, 12:38
vmprotect
Постоянный
Регистрация: 15.09.2021
Сообщений: 396
С нами: 2453766

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

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

Как защитить программу от статического анализа?
vmprotect
 
Ответить с цитированием

  #7484  
Старый 26.03.2025, 16:55
NullPhantom
Новичок
Регистрация: 02.09.2024
Сообщений: 28
С нами: 894582

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

Всем привет.

Проверка на переполнения буфера.

Ввожу strcpy и компилятор выдает ошибку прося ввести strcpy_c

сразу говорю что компилятор плюсов а не си

1742993696722.pngNullPhantom · 26 Мар 2025 в 15:55' data-fancybox="lb-post-1594774" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/266391/" style="cursor: pointer;" title="1742993696722.png">


Buffer:





[CODE]
#include
#include
int
main
(
)
{
setlocale
(
LC_ALL
,
"RU"
)
;
char
Buffer
[
20
]
=
{
'\0'
}
;
std
::
cout

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

  #7485  
Старый 26.03.2025, 17:25
ARMOR
Флудер
Регистрация: 02.02.2019
Сообщений: 5,070
С нами: 3831395

Репутация: 183


По умолчанию

[QUOTE="std::vector<>"]

Всем привет.

Проверка на переполнения буфера.

Ввожу strcpy и компилятор выдает ошибку прося ввести strcpy_c
сразу говорю что компилятор плюсов а не си

Buffer:





[CODE]
#include
#include
int
main
(
)
{
setlocale
(
LC_ALL
,
"RU"
)
;
char
Buffer
[
20
]
=
{
'\0'
}
;
std
::
cout
1742995526923.pngARMOR · 26 Мар 2025 в 16:25' data-fancybox="lb-post-1594779" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/266394/" style="cursor: pointer;" title="1742995526923.png">
 
Ответить с цитированием

  #7486  
Старый 28.03.2025, 02:03
NikitosikSSS
Новичок
Регистрация: 25.03.2025
Сообщений: 2
С нами: 601275

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

Почему при использовании функции IsLineOfSightClear моргают обьекты?
 
Ответить с цитированием

  #7487  
Старый 28.03.2025, 12:49
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

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

Почему при использовании функции IsLineOfSightClear моргают обьекты?
Это странное поведение. Попробуй вызвать эту же функцию в Lua и проверь как оно себя поведёт. Если будет так же моргать, то проблема у тебя в ГТАшке, иначе ты возможно нашёл не ту функцию или неправильно её вызываешь. Без более детального описания тут не помочь.
 
Ответить с цитированием

  #7488  
Старый 28.03.2025, 12:54
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

[QUOTE="std::vector<>"]

Всем привет.

Проверка на переполнения буфера.

Ввожу strcpy и компилятор выдает ошибку прося ввести strcpy_c
сразу говорю что компилятор плюсов а не си

Buffer:





[CODE]
#include
#include
int
main
(
)
{
setlocale
(
LC_ALL
,
"RU"
)
;
char
Buffer
[
20
]
=
{
'\0'
}
;
std
::
cout
Preprocessor -> Preprocessor Definitions.

1743152056840.pngReceiver · 28 Мар 2025 в 11:54' data-fancybox="lb-post-1595230" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/266489/" style="cursor: pointer;" title="1743152056840.png">


Про SDL чеки: https://learn.microsoft.com/ru-ru/c...rity-checks?view=msvc-170#compile-time-checks
 
Ответить с цитированием

  #7489  
Старый 30.03.2025, 21:51
4el0ve4ik
Познавший АНТИЧАТ
Регистрация: 12.11.2015
Сообщений: 1,560
С нами: 5526867

Репутация: 183


По умолчанию

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

C++:





Код:
void
__fastcall
Hook_DoHeadLightBeam
(
CVehicle
*
vehicle
,
void
*
edx
,
int
arg0
,
CMatrix
&
matrix
,
unsigned
char
arg2
)
{
vehicle
->
DoHeadLightBeam
(
arg0
,
matrix
,
arg2
)
;
}


C++:





Код:
patch
::
RedirectCall
(
0x6A2EDA
,
Hook_DoHeadLightBeam
)
;
patch
::
RedirectCall
(
0x6A2EF2
,
Hook_DoHeadLightBeam
)
;
patch
::
RedirectCall
(
0x6BDE80
,
Hook_DoHeadLightBeam
)
;


как можно покрасить луч если в void __thiscall CVehicle:oHeadLightBeam(CVehicle *this, int a2, CMatrix *m, char a4) нету по типу r,g,b как в StoreCarLightShadow
есть только







ida pro:





Код:
.text:006E12F6 0A0 B9 FF FF FF 00                          mov     ecx, 0FFFFFFh


но как тогда красить луч только для нужного CVehicle
Делаешь в хуке проверку то что функция вызвана для нужного т/с.

цвет ты тоже верно нашел, B9 трогать не нужно, все что идёт дальше - цвет, в формате BGR, т.е. 6E12F7 -blue, 6E12F8 -green, 6E12F9 -red.

дальше просто берешь в хуке и

C++:





Код:
void
setColor
(
unsigned
char
r
,
unsigned
char
g
,
unsigned
char
b
)
{
//функция написана условна, не забываем про снятия протекта памяти.
*
reinterpret_cast

(
0x6E12F9
)
=
r
;
*
reinterpret_cast

(
0x6E12F8
)
=
g
;
*
reinterpret_cast

(
0x6E12F7
)
=
b
;
}
void
__fastcall
Hook_DoHeadLightBeam
(
CVehicle
*
vehicle
,
void
*
edx
,
int
arg0
,
CMatrix
&
matrix
,
unsigned
char
arg2
)
{
setColor
(
0x00
,
0x00
,
0xff
)
;
//требуемый цвет
vehicle
->
DoHeadLightBeam
(
arg0
,
matrix
,
arg2
)
;
setColor
(
0xff
,
0xff
,
0xff
)
;
// восстанавливаем оригинальный цвет
}


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

  #7490  
Старый 03.04.2025, 15:33
tanksoftik
Новичок
Регистрация: 10.03.2025
Сообщений: 17
С нами: 622067

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

C++:





Код:
int
AddParticle
(
FxSystem_c
*
particle
,
RwV3d
*
position
,
RwV3d
*
velocity
,
float
unk
,
FxPrtMult_c
*
particleData
,
float
a6
,
float
brightness
,
float
a8
,
int
a9
)
{
particle
->
AddParticle
(
position
,
velocity
,
unk
,
particleData
,
a6
,
brightness
,
a8
,
a9
)
;
return
1
;
}


C++:





Код:
patch
::
RedirectCall
(
0x6DF303
,
AddParticle
)
;
patch
::
RedirectCall
(
0x6DEE83
,
AddParticle
)
;
patch
::
RedirectCall
(
0x6DF0C3
,
AddParticle
)
;


функцию AddParticle что в ней передается брал фулл из ida

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


psevdocode:





Код:
int __thiscall FxSystem_c::AddParticle(
        FxSystem_c *particle,
        CVector *position,
        CVector *velocity,
        float unk,
        FxPrtMult_c *particleData,
        float a6,
        float brightness,
        float a8,
        int a9)
{
  int v10; // esi
  int result; // eax
  FxPrim_c *particlePrim; // ecx
  float v13; // [esp+18h] [ebp-8h]
  int i; // [esp+3Ch] [ebp+1Ch]

  v10 = (rand() * 0.000030517578 * 100.0);
  result = Fx_c::GetFxQuality(&g_fx);
  if ( result || v10 >= 50 )
  {
    result = Fx_c::GetFxQuality(&g_fx);
    if ( result != FX_MEDIUM || v10 >= 25 )
    {
      v13 = 1.0;
      if ( brightness m_pBluePrint->m_nNumEmitters; i = ++result )
      {
        particlePrim = particle->PrimsList[result];
        if ( particlePrim->m_bEnabled )
        {
          (particlePrim->vtable->field_14)(
            particlePrim,
            position,
            velocity,
            LODWORD(unk),
            particleData,
            LODWORD(a6),
            COERCE_FLOAT(LODWORD(v13)),
            a9);
          result = i;
        }
      }
    }
  }
  return result;
}


но почему то крашит, пробовал пустую функцию делать все равно крашит
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.