 |
|

26.03.2025, 10:19
|
|
Новичок
Регистрация: 26.03.2025
Сообщений: 2
С нами:
599568
Репутация:
1
|
|
Как защитить программу от статического анализа?
|
|
|

26.03.2025, 12:29
|
|
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами:
5332594
Репутация:
163
|
|
Сообщение от fffaff123321ggg
Как защитить программу от статического анализа?
Использовать упаковщики/проекторы (UPX, VMProtect) и мутировать код (вместо вызовов API использовать Nt, шифровать строки в статике)
|
|
|

26.03.2025, 12:38
|
|
Постоянный
Регистрация: 15.09.2021
Сообщений: 396
С нами:
2453766
Репутация:
68
|
|
Сообщение от fffaff123321ggg
Как защитить программу от статического анализа?
vmprotect
|
|
|

26.03.2025, 16:55
|
|
Новичок
Регистрация: 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
|
|
|

26.03.2025, 17:25
|
|
Флудер
Регистрация: 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">

|
|
|

28.03.2025, 02:03
|
|
Новичок
Регистрация: 25.03.2025
Сообщений: 2
С нами:
601275
Репутация:
1
|
|
Почему при использовании функции IsLineOfSightClear моргают обьекты?
|
|
|

28.03.2025, 12:49
|
|
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами:
5332594
Репутация:
163
|
|
Сообщение от NikitosikSSS
Почему при использовании функции IsLineOfSightClear моргают обьекты?
Это странное поведение. Попробуй вызвать эту же функцию в Lua и проверь как оно себя поведёт. Если будет так же моргать, то проблема у тебя в ГТАшке, иначе ты возможно нашёл не ту функцию или неправильно её вызываешь. Без более детального описания тут не помочь.
|
|
|

28.03.2025, 12:54
|
|
Постоянный
Регистрация: 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
|
|
|

30.03.2025, 21:51
|
|
Познавший АНТИЧАТ
Регистрация: 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
)
;
// восстанавливаем оригинальный цвет
}

|
|
|

03.04.2025, 15:33
|
|
Новичок
Регистрация: 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)
|
|
|
|