🌟NoName Server High Five for mega stats

zlDrag0nSlz

Знаменитый
Участник
Старожил I степени
Сообщения
24
Розыгрыши
0
Репутация
15
Реакции
5
Баллы
1 235
Запрещено публиковать исходный код без BB-кода — CODE
Хроники
  1. Chaotic Throne: High Five

NoName - потому что еще не придумал название =)​

От автора: проект только начинается, делаю один — буду рад любым отзывам, идеям и баг-репортам!
Платить ни за что не нужно.


Если вы хотите получить доступ к тестовому серверу или получить сборку для собственного запуска - свяжитесь со мной в личных сообщениях.

1) Продажа предметов сразу заточенные и с атрибутами.​

Поддержка продажи предметов с заранее заданной заточкой enchantCount="3" — на сколько будет заточено при покупке.
Продажа предметов с элементами (вода, огонь, земля и т.д.)
Возможность выдавать статус героя предмету:
Код:
<set name="setHeroCharacter" val="true" />
(может пригодится :cautious:)



2) Полный рефакторинг системы заточки​


Заточка стала модульной, гибкой, расширяемой

Добавлены глобальные правила типа:

Код:
<enchant id="6570" targetGrade="A" allTarget="true"/> → точит всё надетое с таким же грейдом.

Новый параметр perenchant — самый востребованный:

Код:
<perenchant stat="pAtkSpd" val="10" />
<perenchant stat="mAtkSpd" val="10" />

Каждая заточка будет добавлять +10 к скорости атаки (или любой другой стат).


3) Damage Zones​

Добавлены расширенные конфиги для фарм/фан зон:
Код:
# Включить функцию настраиваемой зоны урона.
EnableCustomDamageZone = True

# ID зон, к которым применяется настройка настраиваемого урона (через запятую).
CustomDamageZoneAllowIdZones = 300012

# Урон в секунду, наносимый игрокам внутри зоны.
CustomDamageZoneDamageCount = 100

# Разрешить игрокам умирать внутри зоны?
CustomDamageZoneAllowDie = True

# ID шаблонов NPC, которые должны автоматически возрождаться в зоне (список через запятую).
CustomDamageZoneNpcIds = 22222

# Количество NPC, появляющихся в точке появления.
CustomDamageZoneNpcCount = 5

# Количество доступных точек появления внутри зоны.
CustomDamageZoneNpcLocks = 10

# Снять все положительные эффекты с игроков, входящих в зону?
CustomDamageZoneRemoveBuff = True

# ID предметов, которые не экипированы и заблокированы в зоне (список через запятую).
CustomDamageZoneBlockedItems = 6376

Можно создавать зоны «в один клик»: указываете ID моба, кол-во, точки спавна — всё остальное автоматизировано.

Лбо через сам файл зоны можно сделать тоже самое, кому как удобно.
Код:
    <zone name="test2" id="300012" type="DamageZone" shape="NPoly" minZ="-3500" maxZ="-3300">
        <stat name="reuse" val="5000" />
        <stat name="allowDie" val="false" />
        <stat name="removeBuff" val="true" />
        <stat name="npcIds" val="22222" />
        <stat name="npcCount" val="5" />
        <stat name="npcLocks" val="5" />
        <stat name="blockedItems" val="14120" />
        <node X="84608" Y="149269" />
        <node X="83393" Y="149224" />
        <node X="83401" Y="149048" />
        <node X="83621" Y="149050" />
    </zone>


4) Skill Shop​

Полностью кастомный магазин умений в Community Board.
Пока в разработке но уже работает немного =)
Показывает досутпные, купленные. при покупке показывает описание, стоимость и можно подтвердить покупку.
Данные берутся из communitySkillShop.json
Пример:
Код:
      {
        "id": 1,
        "skillId": 1068,
        "skillLevel": 3,
        "description": "+10% Attack Speed",
        "price": [
          { "itemId": 57, "count": 5000 }
        ]
      }


5) Перековка статов​


Дело щипетильное с кучей проверок конечно же но штука интересная для сервера с мега статами, можно включить\выключить конечно же.
Перенос статов допустим из STR в WIN или CON, кому как хочется.

1763207104058.webp


6) Автозаточка

Понятное дело есть и в КБ и через .autoenchant.
Полностью конфигурируемая:

  • любой расходный материал
  • шансы
  • лимиты
  • условия
1763207222673.webp
1763207243122.webp


7) Автофарм


.farm on/off также и в Community Board.
В конфиге указывается автобутылки, если они есть в инвентаре то юзаются сами, скилы можно добавить, выставить радиус, возможность реагировать на атаки игроков, если ваш бот был атакова то персонаж сам отвечает в ответ. (далее будет реализовано автовоскрешение).

1763207261689.webp




8) Смена внешнего вида оружия или брони​


Через Community Board можно в любой предмет засунуть внешний вид другого предмета, вся реализация на стороне сервера. (проверка на тип оружия\брони, одето\снято)

1763207352413.webp


9) Система контрактов​



Через Community Board есть возможность посмотреть дневные контракты и контракты на завтра,
  • убийство боссов
  • в пати убить мобов
  • заточить предмет
  • убить игроков в пвп
  • клановый бой.
Все настраивается через файл contracts.json
1763207381893.webp
1763207397217.webp


10) Система ИИ ботов​


Реализована расширенная AI-система (в процессе разработки):

  • Автофарм бот.
  • Автоторговля (Продажа\покупка). Крафт пока в разработке.
  • Авто ПК убийца с автотаргетом и участием на ТВТ.
  • Ассистент-помощник (фича для прикола)
  • Если бота Автофарм убивают прибегает бишоп и ресает его, можно установить откат этого биша =)
Код:
# Master toggle: enable spawning and management of AI-driven player characters.
AiPlayers = True

# Directory structure for AI assets (profiles, routes, dialogs).
AiProfilesDirectory = data/ai/profiles
AiRoutesDirectory = data/ai/routes
AiDialogsDirectory = data/ai/dialogs

# General AI runtime parameters.
AiBootstrapDelayMs = 15000
AiPollingIntervalMs = 4000
AiMaxSimultaneousPlayers = 50

# -----------------------------------------------------------------------------
# Auto-farm bots
# -----------------------------------------------------------------------------
AiAutoFarm = True
AiAutoFarmProfiles = autofarm/default.json;autofarm/damage.json
AiAutoFarmRespawnDelayMs = 60000
AiAutoFarmAttackPlayers = True
AiAutoFarmAssistPlayers = True
AiAutoFarmUseShots = True
AiAutoFarmReturnDelayMs = 300000
AiAutoFarmReturnDistance = 6000

# -----------------------------------------------------------------------------
# Support bots
# -----------------------------------------------------------------------------
AiSupportProfiles = support/bishop.json

#30000 default
AiSupportCooldownMs = 30
AiSupportApproachDistance = 300

# 5000 default
AiSupportDespawnDelayMs = 5000

# -----------------------------------------------------------------------------
# Auto-trade bots
# -----------------------------------------------------------------------------
AiAutoTrade = True
AiAutoTradeProfiles = autotrade/giran.json;autotrade/giran_2.json;autotrade/giran_3.json

# -----------------------------------------------------------------------------
# Walker / patroller bots
# -----------------------------------------------------------------------------
AiPlayerWalker = True
AiWalkerRoutes = giran_walkers.json
AiWalkerLoopDelayMs = 5000

# -----------------------------------------------------------------------------
# Combat / attacker bots
# -----------------------------------------------------------------------------
AiPlayerAttacker = True
AiAttackerProfiles = attackers/giran_attackers.json
AiAttackerInitDelayMs = 15000
AiAttackerInitThreads = 5
AiAttackerAggroRange = 2000
AiAttackerRespawnDelayMs = 120000
AiAttackerTargetPlayers = True
AiAttackerPkKill = True
AiAttackerAssistPlayers = True
AiAttackerTvtRegister = True
AiAttackerOlympiadRegister = False
AiAttackerRunSpeedPercent = 30
AiAttackerAttackSpeedPercent = 30
AiAttackerCastSpeedPercent = 0
AiAttackerPAtkPercent = 0
AiAttackerMAtkPercent = 0
AiAttackerBowReusePercent = 100
AiAttackerSkillReusePercent = 100
AiAttackerMageCastSpeedPercent = 200
AiAttackerTvtCloneNames = ShadowRider;IronWolf;NightHunter;StormBlade;SilverFang;DarkArcher;FlameGhost;FrostKnight;ThunderStrike;MoonRogue;MysticRaven;SilentBlade;FireDrake;SteelViper;WildHawk;VoidRunner;BattleLion;IceWarden;LoneRanger;GhostSamurai;CrimsonFalcon;StormReaper;

# -----------------------------------------------------------------------------
# Social / talk bots
# -----------------------------------------------------------------------------
AiPlayerTalk = False
AiTalkProfiles = dialogs/default.json
AiTalkChannels = SAY,WHISPER,SHOUT
AiChatServiceProvider = none
AiChatServiceBaseUrl =
AiChatServiceModel = gpt-3.5-turbo
AiChatServiceApiKey =
AiChatReplyDelayMs = 5000
AiChatSessionTimeoutMs = 300000

Ну и для снижения нагрузки на сервер для подгрузки всех ботов добавлена конфигурация для возможности увеличения потоков их загрузки и количеству.
Статус готовности:

Воин: 90%
Маг: 70%
Саммонеры: 0% (скоро)

1763207513279.webp
1763207526184.webp

11) Система Баланса (очень важно для мега сервера с мега статами)​

Код:
# Формат: maxSkillDamage, maxNormalDamage, maxCritDamage, maxMagicCritDamage
# Значения — это проценты от максимального HP цели (0 = отключено)
# Пример: "50,10,20,30" означает:
# - Максимальный урон от навыков: 50% от максимального HP цели
# - Максимальный урон от обычных атак: 10% от максимального HP цели
# - Максимальный урон от критических ударов: 20% от максимального HP цели
# - Максимальный урон от магических критических ударов: 30% от максимального HP цели
# Оставьте пустым или установите "0,0,0,0", чтобы отключить ограничения для данного класса

# Ограничения урона для классов магов (волшебник, чародей, некромант, заклинатель и т. д.)
# Пример: "50,10,20,30" = 50% от максимального урона от навыков, 10% от максимального урона от обычных атак, 20% от максимального урона от критических ударов, 30% от максимального урона крит магии
DamageLimitMage = 0,0,0,0

# Лимиты урона для класса танка (Паладин, Тёмный мститель, Рыцарь храма, Рыцарь Шилен и т. д.)
# Пример: "30,10,20,0" = 30% от максимального навыка, 10% от максимального обычного, 20% от максимального крита, без магического крита
DamageLimitTank = 0,0,0,0

# Лимиты урона для класса лучника (Соколиный глаз, Серебряный рейнджер, Призрачный рейнджер, Стрелец и т. д.)
# Пример: "40,8,10,0" = 40% от максимального навыка, 8% от максимального обычного, 10% от максимального крита, без магического крита
DamageLimitArcher = 0,0,0,0

# Лимиты урона для класса кинжала (Охотник за сокровищами, Странник равнин, Странник бездны, Авантюрист и т. д.)
# Пример: "35,8,15,0" = 35% от максимального навыка, 8% от максимального обычного, 15% от максимального критического удара, без магического крита
DamageLimitDagger = 0,0,0,0

# Лимиты урона для класса призывателя (Чернокнижник, Призыватель стихий, Призыватель фантомов, Повелитель магии и т. д.)
# Пример: "45,10,15,25" = 45% от максимального навыка, 10% от максимального обычного, 15% от максимального критического удара, 25% от максимального магического критического удара
DamageLimitSummoner = 0,0,0,0

# Лимиты урона для класса Камаэль (все классы Камаэль)
# Пример: "40,10,18,0" = 40% от максимального навыка, 10% от максимального обычного, 18% от максимального критического удара, без магического крита
DamageLimitKamael = 0,0,0,0


12) Бесконечные стрелы и соски​

Код:
(понятно)


13) Система Community Board​


Всю систему КБ пишу с 0, пока в разработке, нет проверок на пвп, пк, ивенты и так далее. работает в тестовом режиме, показывает, нажимается.

Добавлены:

Мультиселлы
HTML окна
Телепорты
Баффер
Магазин умений
Смена пола
Геройство
Цвет ника
Перековка статов (распределение STR → CON и т.д.)
Смена внешнего вида оружия и брони (visual change)
Автофарм
Автозаточка



14) Премиум система​

Код:
# Включить/отключить премиум-пакеты
premiumEnable = true

# Премиум-пакеты: id,itemId,count (пары, разделенные символом «;»)
premium = 1,57,1000000;2,57,5000000;3,57,100

# Множители премиум-опыта: id,value (используйте «.» или «,» в качестве десятичного разделителя)
premiumRateXp = 1,2.0;2,3.0;3,4.0

# Множители премиум-SP: id,value
premiumRateSp = 1,2.0;2,3.0;3,4.0

# Множители шанса выпадения премиум-пакетов: id,value
premiumRateDrop = 1,2.0;2,3.0;3,4.0

# Длительность премиум-пакета: id,duration — поддерживаемые единицы: с/сек, мин, час, день, неделя, месяц (30 дн.), год (365 дн.)
premiumTime = 1,2 week.; 2,2 day.; 3,1 min.


15) Контроллер урона и жизней боссов и мобов​

Три режима:

oiginal - означает что статы будут браться из фала xml
level - значение будет равно уровню моба\босса\героя в зависимостри что за конфигурация
статическое число - будет утановленно статическое значение =)

Код:
# HP мобов (original/level/число)
staticMobsHp = level  
# Урон моба по игроку
staticMobsDamage = level    

# HP мобов (original/level/число)
staticBossHp = level   
 
# Урон босса по игроку  (original/level/число)
staticBossDamage = 100 

# Урон игроков по боссам # Маги и скиллы (original/level/число)
staticOnBossDamageMage = 10

# Воины/автоатаки (original/level/число)
staticOnBossDamageFighter = 10

# Урон игроков по обычным мобам (original/level/число)
staticOnMobsDamageMage = 10
staticOnMobsDamageFighter = 10

# Кастомные исключения (перечисление через ;)
# Формат: id,damage,hp,damageOn
# customBossConfig = 29020,50000,200000,150; 29006,level,original,level
# customMobsConfig = 22601,original,5000,100;22222,10,100,1
customBossConfig=
customMobsConfig=

16) Автоматический прокси логин сервер​


Логинсервер может работать как прокси:

Показывает пинг
Кол-во подключенных игроков
Передаёт трафик на основной сервер
Для игроков в игре отображается, через какой прокси он подключился

Код:
Настройка:
# Основной хост сервера для регистрации прокси
# Прокси-сервер будет подключаться к этому хосту для регистрации
# Значение по умолчанию: (пусто)
ProxyClientMainServerHost = 127.0.0.1

# Основной порт сервера для регистрации прокси
# Значение по умолчанию: 2108
ProxyClientMainServerPort = 2108

# IP-адрес прокси-сервера (видимый клиентами)
# Это IP-адрес, к которому будут подключаться клиенты
# Значение по умолчанию: (пусто)
ProxyClientProxyIp = 127.0.0.2

# Порт прокси-сервера (к которому подключаются клиенты)
# Значение по умолчанию: 2106
ProxyClientProxyPort = 2106

# Региональное имя прокси-сервера
# Пример: Russia, Germany, Test
# по умолчанию: Unknown
ProxyClientRegion = Russia

Пример лога Основного логина:
Код:
[INFO ] 2025-11-15 11:31:45 LoginServer: === Proxy Servers Status ===
[INFO ] 2025-11-15 11:31:45 LoginServer: Total registered proxies: 2, Total connected players: 12
[INFO ] 2025-11-15 11:31:45 LoginServer: Proxy 127.0.0.2:2106 (Russia) - Ping: 3 ms, Players: 7
[INFO ] 2025-11-15 11:31:45 LoginServer: Proxy 127.0.0.3:2106 (Amsterdam) - Ping: 82 ms, Players: 5
[INFO ] 2025-11-15 11:31:45 LoginServer: ===========================

Лог с прокси логина:
Код:
[INFO ] 2025-11-15 11:33:10 ProxyClient: Heartbeat sent: OK, IP: 127.0.0.1:2106, Ping: 4ms, Connected players: 7

Добавил антифлуд запищу в логин
Код:
# Антифлуд при входе через прокси (для каждого IP-адреса клиента)
# Количество новых подключений, разрешённых в течение окна до временной блокировки (0 отключает ограничение)
ProxyLoginFloodMaxAttempts = 5
# Временной интервал в секундах для подсчёта попыток
ProxyLoginFloodWindowSeconds = 60
# Длительность блокировки в секундах после превышения лимита
ProxyLoginFloodLockSeconds = 60



17) Переводы (Lang)​


Конечно же переводы, добавлены файлы с translations.properties для перевода Community Board

Код:
# Main Menu (пример)
menu.main.title=Доска объявлений
menu.main.teleport=Телепорт
menu.main.buff=Бафф
menu.main.skillshop=Магазин умений
menu.main.premium=Премиум
menu.main.appearance=Смена внешнего вида
menu.main.contracts=Контракты
menu.main.farm=Автофарм
menu.main.autoenchant=Автозаточка
menu.main.services=Услуги игрока

# Main Menu (Exanple)
menu.main.title=Community Board
menu.main.teleport=Teleport
menu.main.buff=Buff
menu.main.skillshop=Skill Shop
menu.main.premium=Premium
menu.main.appearance=Appearance Change
menu.main.contracts=Contracts
menu.main.farm=Auto Farm
menu.main.autoenchant=Auto Enchant
menu.main.services=Player Services

реализованы показы html из папок html-%s

Код:
# Шаблон пути для локализованных HTML-каталогов (используйте %s для кода языка)
MultiLangHtmlDir = data/html-%s/

18) Откат скилов, стрелки, автоатаки​

Нашел проблему с формулой стандартной, она не расчитана на очень высокие статы (например 40к атак спида или 40к каста).
Герой просто зависал с вытянутой рукой при автоатаке, стрелок вставал на одной ноге спамя стрелами без возможности подвинуться.
Магические скилы нормально не откатывались и не использовались. Добавил новый конфиг чтоб решить эту проблему.


Код:
# Минимальное время применения в миллисекундах, применяемое после применения скорости применения.

# Ограничены только навыки, базовое время попадания которых превышает это значение.

# Установите 0, чтобы отключить минимальный предел в 500 мс, как в обычном режиме.

SkillMinCastTimeMs = 100

# Минимальная задержка повторного использования в миллисекундах, применяемая после применения модификаторов характеристик.

# Установите 0, чтобы разрешить мгновенное повторное использование навыков при достижении нулевого значения.

SkillMinReuseDelayMs = 0

# Включить масштабирование задержки повторного использования навыков в зависимости от скорости атаки/применения (только для нестатических навыков).

SkillReuseScaleWithSpeed = False

# Минимальные значения (в миллисекундах), которых может достичь повторное использование после масштабирования для каждого типа навыка.

# Эти значения действуют как минимальные значения: даже при очень высокой скорости повторное использование не опустится ниже.
SkillReuseMagicBaseMs = 100
SkillReusePhysicalBaseMs = 100

# Базовые скорости (в миллисекундах), используемые для масштабирования. Только скорости выше этих
# значений уменьшат повторное использование; установите меньшее значение, чтобы масштабирование сработало раньше.
SkillReuseMagicReferenceMs = 100
SkillReusePhysicalReferenceMs = 100

# Минимальное время (мс), допустимое между автоатаками для определённых семейств оружия.
# Используйте эти значения, чтобы предотвратить анимацию с нулевой задержкой при экстремальных скоростях атаки.
AttackMinBowIntervalMs = 100
AttackMinCrossbowIntervalMs = 100
AttackMinFistIntervalMs = 100
upd 15.11


От меня =)​


Проект я делаю один, работа только началась.
Ищу:

ваши пожелания
идеи
предложения
замеченные баги
тестеров

Если кто-то хочет получить билд для просмотра — пишите в личные сообщения.


Спасибо всем, кто поддержит и поможет сделать сборку лучше ❤️

Буду добавлять описания и что сделал по мере поступления.
 

Вложения

  • 1763207038853.webp
    1763207038853.webp
    46,3 КБ · Просмотры: 111
Последнее редактирование:
Севак онлайн? Тестовый. Можно лаунчер?
 

Привет, отписался в личные сообщения 🙂
Да зашел побегал, из первого при создании чара нет отображения, от слова совсем. В Гиране Страйдеры и они злые будто алкаши у закрывшегося ларька, злые и бессмертные, хотел в магазин, убили и оплевали. Если можешь пропиши ГМа на чара либо убери гадов от туда. При перезаходе заходишь трупом. Часть магазинов не работает. Карта врет последний скрин.
 

Вложения

  • 1.webp
    1.webp
    18,5 КБ · Просмотры: 52
  • 2.webp
    2.webp
    191,1 КБ · Просмотры: 55
  • 3.webp
    3.webp
    174,9 КБ · Просмотры: 55
  • 4.webp
    4.webp
    175,2 КБ · Просмотры: 62
Последнее редактирование:
Да зашел побегал, из первого при создании чара нет отображения, от слова совсем. В Гиране Страйдеры и они злые будто алкаши у закрывшегося ларька, злые и бессмертные, хотел в магазин, убили и оплевали. Если можешь пропиши ГМа на чара либо убери гадов от туда. При перезаходе заходишь трупом. Часть магазинов не работает. Карта врет последний скрин.
Не ожидал такого на Яве. Из того что описали моя сборка тогда в разы более рабочая чем эта. И это на совсем других технологиях... Интересно тогда почему такие изменения на сервере и какая была базовая сборка до начала ужастиков на сервере?
 
Геодату можно выпиливать смело, ее явно делал человек под очень большой дозой чистого спирта или героина. Не в обиду. Я просто сходил в Руне на паром, что бы зайти на него потребовалось 50 или 70 кликов что бы попасть туда куда надо.Так идеи ништяков очень даже неплохи, но к примеру Песни и Танцы НПЦ дает чуть ли не на 96 часов но после перезагрузки все пропадает, ништяки ништяками но сам сервер походу из-за них страдает. Было бы неплохо ГМом побегать, проверить боссов и так далее.
 
Оверпостинг
Да зашел побегал, из первого при создании чара нет отображения, от слова совсем. В Гиране Страйдеры и они злые будто алкаши у закрывшегося ларька, злые и бессмертные, хотел в магазин, убили и оплевали. Если можешь пропиши ГМа на чара либо убери гадов от туда. При перезаходе заходишь трупом. Часть магазинов не работает. Карта врет последний скрин.
Чара у тебя нет при регистрации видимо из-за клиента не стандартного, могу скинуть чистый Клинт. В гиране страйдеры с статической атакой и уроном, всегда по 10. ГМа выдам без проблем 🙂
Что при перезаходе трупом это странно очень, проверю 👍

Геодату можно выпиливать смело, ее явно делал человек под очень большой дозой чистого спирта или героина. Не в обиду. Я просто сходил в Руне на паром, что бы зайти на него потребовалось 50 или 70 кликов что бы попасть туда куда надо.Так идеи ништяков очень даже неплохи, но к примеру Песни и Танцы НПЦ дает чуть ли не на 96 часов но после перезагрузки все пропадает, ништяки ништяками но сам сервер походу из-за них страдает. Было бы неплохо ГМом побегать, проверить боссов и так далее.
Огромное спасибо за отзывы, любая мелочь полезна и будет 100% исправлена.
Геодата пьяна, согласен, свой движок и недоработан еще до конца. Будет сделано 🙂
Бафы добавлю проверки, еще нашел баг при переливе стат dex-con или в другую сторону уперевшись в максимальное значение то при перезаходе может пропасть на несколько секунд параметр, внесу изменения в менеджер.
 
Последнее редактирование модератором:

Геодата и позиции​



1. Движок геодаты был поправлен, геодата была обновлена. Прошу проверить пожалуйста еще раз.
2. Бафы по 10 часов, после перезагрузки не пропадают. Бафы сейчас только в Community Board




1763376285235.webp
Да зашел побегал, из первого при создании чара нет отображения, от слова совсем. В Гиране Страйдеры и они злые будто алкаши у закрывшегося ларька, злые и бессмертные, хотел в магазин, убили и оплевали. Если можешь пропиши ГМа на чара либо убери гадов от туда. При перезаходе заходишь трупом. Часть магазинов не работает. Карта врет последний скрин.
 
Над вами ява в детстве надругалась? Какая-то прям фиксация у вас на этой теме нездоровая.
Очень здоровая фиксация. У вас же тоже самое. Как про Яву кто-то начинает так вот и вы!
 

GameGuard, Защита от подмена пакетов​



Реализована защита от подмены пакетов клиент <---> сервер с генерацией по Timestamp и хешами.
  • Алгоритм: SHA-1 (160 бит на выходе)
  • Используется: первые 8 байт = 64 бита
  • Энтропия: 2^64 ≈ 18.4 квинтиллиона комбинаций
Данные для хеша:
  • timestamp (8 байт) — текущее время в миллисекундах
  • random1 (4 байта) — случайное число
  • random2 (4 байта) — случайное число
  • secret_key (25 байт) — статический ключ "*******"
В дальнейшем будет обновлен до SHA-256 или SHA-3 для того чтобы использовать больше байт хеша (12-16 вместо 8) с использованием динамичного секретного ключа.
Добавление HMAC вместо простого хеша.

Реализован dsetup.dll с проверкой на его наличие, отправка уникальных ответных пакетов.
Далее.... реализация защиты от реверс-инжиниринга, и переход на SHA-256 для улучшения защиты.

Файл dsetup будет идти с сборкой либо привязанный к 127.0.0.1 либо с файлом конфигурации для смены ключа и адреса.

Рефакторинг логов,
мелкие фиксы по формулам





(на 127.0.0.1 без конфига)
 
Реализована защита от подмены пакетов клиент <---> сервер с генерацией по Timestamp и хешами.
В чем смысл этого, если пакеты сейчас подменяются не сторонними тулзами, а перехуками основных функций в памяти ДО всех ваших хешей. Т.е любые модификации пакетов будут происходить в валидном пайплайне и валидно хешиться вашими костылями.
 
В чем смысл этого, если пакеты сейчас подменяются не сторонними тулзами, а перехуками основных функций в памяти ДО всех ваших хешей. Т.е любые модификации пакетов будут происходить в валидном пайплайне и валидно хешиться вашими костылями.
Если будет инструкция эмуляции такх действий без проблем сделаем и для такого защиту, мой вариант спасет только от самых простых подмен, конечно есть множества вариантов наредить в наше время.

Именно для этого и был заведен топик на форуме чтоб более углубиться во все это и сделать действительно рабочий проект.
 
Если будет инструкция эмуляции такх действий без проблем сделаем и для такого защиту, мой вариант спасет только от самых простых подмен, конечно есть множества вариантов наредить в наше время.
Это делается функционалом адрика. Просто, банально и без изысков.
 
  • Ха-ха-ха
Реакции: kick
Назад
Сверху Снизу