Фикс Уязвимости в ядре и модах [1.7/1.6]

  • Автор темы Автор темы Firkys
  • Дата начала Дата начала
У меня сгенерировало лишь основной мир. И его я уже прогружал. Наверное это из-за thermos, другие миры не прогружаются.

Нужный для прогрузки мир указал?
/wb имя_нужного_мира set радиус
/wb имя_нужного_мира fill
 
Зачем нужно loadChunkOnRequest отключать и что оно вообще делает?
 
Да, всё указывал.
После /wb fill confirm оно пишет ошибку в начале прогрузки. Типо не может понять мир и прогрузить его. Говорю, наверное ядро thermos не может в это.
Все работает. Просто в мир что хотите войдите
 
Я стоял в мире где собирался прогружать. Не работает, всё равно.
Код:
[07:46:40 INFO]: [WorldBorder] world: dim4  padding: 128  repeats: 1  ticks: 1
[07:46:40 INFO]: [WorldBorder] [Fill] No border found for world "dim4"! (free mem: 4351 MB)
[07:46:40 INFO]: The world map generation task failed to start.


Это для прогрузки?

Границу мира для начала задай, wb set
 
[Custom NPCs] (1.7)
  • 1 баг: Отправив специальный пакет, можно заспаунить любой "Enity" объект при этом не имея прав. Если выставить доступ только опам, то можно в принципе не бояться, при условии что нельзя отдельно зарегать ник админа в другом регистре.
Разрабы не пофиксили?
 
В теме остались еще люди которые шарят в поисках таких уязвимостей?

Есть некий сервер. Все что в этом списке давно перекрыто.
На нем есть "постоянный" игрок (VPN, ChangeHWID и остальные прелести обходов бана)
Заходя на сервер - спавнит лут в сундуках по указанным координатам
2жды пересматривали IC на косяк (ибо ну очень похоже), там все чисто..
Логов естественно не каких (100% действует какой то мод, это обьясняет появление предметов даже с вырезанным крафтом)
Из списка модов глаза упали на 3 мода (DraconicEvolution, а так же ZTones и Vending [барт подсказал])
Список модов:

Технические
:
Applied Energistics 2 (+ AE2 Stuff, ExtraCells)
Big Reactors
Buildcraft 7
Draconic Evolution
EnderIO
Forestry
IndustrialCraft 2 Experimental (+ Advanced Solar Panels, Nuclear Control; Combo Armors; Gravitation Suite; IC2 Backpack HUD)
Mekanism 9
OpenBlocks
OpenComputers (+ Computronics, OpenGlasses, OpenPrinter)
OpenSecurity
OpenModularTurrets
PowerConverters
Project Red
Railcraft
Tinkers Construct (+ Tinker’s Mechworks, ExtraTiC)
Thermal Expansion
Wireless Redstone Chicken Bones Edition

Декоративные:
Biomes O’Plenty
Carpenter’s Blocks
Chisel 2 (+ ChiselTones)
CustomNPCs
Dragon’s Radio Mod
Hats
MalisisAdvert
MalisisDoors
MrCrayfish’s Furniture Mod
Realistic World Gen
Streams
Ztones

Интерфейс:
Damage Indicators Mod
Inventory Tweaks
Mouse Tweaks
NEI (+ NEI Addons)
Rei’s Minimap Mod
Waila

Производительность:
Fastcraft
Optifine

Утилитарные:
Dynmap (+ Factions Addon)
Ender Storage
IronChests
JumpPad++
OmniWrench
Pam’s HarvestCraft
TooManyDanyOres
No More Recipe Conflicts
Vending Blocks

Но самые большие подозрения упали на мод DraconicEvolution, у него есть свой обработчик TileEntity, к тому же он умеет обновлять NBT своих сундуков со стороны клиента по некоторым параметрам..
(Я не разбираюсь в модо-писании клиент/сервер так что не ругайтесь, это лишь предположение основанное на логике)
Код обработчика тайлов
Java:
package com.brandon3055.draconicevolution.common.network;

import com.brandon3055.draconicevolution.common.container.ContainerDataSync;
import com.brandon3055.draconicevolution.common.tileentities.TileObjectSync;
import com.brandon3055.brandonscore.common.utills.DataUtills;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import cpw.mods.fml.relauncher.Side;
import io.netty.buffer.ByteBuf;
import net.minecraft.client.Minecraft;

/**
 * Created by Brandon on 14/11/2014.
 */
public class TileObjectPacket implements IMessage {

    int x;
    int y;
    int z;
    short index;
    short dataType = -1;
    Object object;
    boolean isContainerPacket;

    /**
     * Used for Tile and Container synchronization
     */
    public TileObjectPacket() {
    }

    public TileObjectPacket(TileObjectSync tile, byte dataType, int index, Object object) {
        this.isContainerPacket = tile == null;
        if (!isContainerPacket) {
            this.x = tile.xCoord;
            this.y = tile.yCoord;
            this.z = tile.zCoord;
        }
        this.dataType = dataType;
        this.object = object;
        this.index = (short) index;
    }

    @Override
    public void toBytes(ByteBuf bytes) {
        bytes.writeBoolean(isContainerPacket);

        if (!isContainerPacket) {
            bytes.writeInt(x);
            bytes.writeInt(y);
            bytes.writeInt(z);
        }

        bytes.writeByte(dataType);
        bytes.writeShort(index);

        DataUtills.instance.writeObjectToBytes(bytes, dataType, object);

    }

    @Override
    public void fromBytes(ByteBuf bytes) {
        isContainerPacket = bytes.readBoolean();

        if (!isContainerPacket) {
            x = bytes.readInt();
            y = bytes.readInt();
            z = bytes.readInt();
        }

        dataType = bytes.readByte();
        index = bytes.readShort();

        object = DataUtills.instance.readObjectFromBytes(bytes, dataType);
    }

    public static class Handler implements IMessageHandler<TileObjectPacket, IMessage> {

        @Override
        public IMessage onMessage(TileObjectPacket message, MessageContext ctx) {
            if (ctx.side == Side.CLIENT) {
                if (message.isContainerPacket) {
                    ContainerDataSync container = Minecraft.getMinecraft().thePlayer.openContainer instanceof ContainerDataSync ? (ContainerDataSync) Minecraft.getMinecraft().thePlayer.openContainer : null;
                    if (container == null) return null;
                    container.receiveSyncData(message.index, (Integer) message.object);
                } else {
                    if (!(Minecraft.getMinecraft().theWorld.getTileEntity(message.x, message.y, message.z) instanceof TileObjectSync))
                        return null;
                    ((TileObjectSync) Minecraft.getMinecraft().theWorld.getTileEntity(message.x, message.y, message.z)).receiveObjectFromServer(message.index, message.object);
                }
            } else {
                if (message.isContainerPacket) {
                    ContainerDataSync container = ctx.getServerHandler().playerEntity.openContainer instanceof ContainerDataSync ? (ContainerDataSync) ctx.getServerHandler().playerEntity.openContainer : null;
                    if (container == null) return null;
                    container.receiveSyncData(message.index, (Integer) message.object);
                } else {
                    if (!(ctx.getServerHandler().playerEntity.worldObj.getTileEntity(message.x, message.y, message.z) instanceof TileObjectSync))
                        return null;
                    ((TileObjectSync) ctx.getServerHandler().playerEntity.worldObj.getTileEntity(message.x, message.y, message.z)).receiveObjectFromClient(message.index, message.object);
                }
            }
            return null;
        }
    }
}

Подскажите может быть дело в чем то другом, или ваши предположения того как он меняет содержимое контейнеров не имея ни каких полномочий.
Заранее благодарен..

P.S Версии подозреваемых модов:
[Draconic-Evolution] 1.7.10 v1.0.2h
[Vending] 1.7.10 v1.2.3
[ZTones] 1.7.10 v2.2.1
-=======-
[IndustrialCraft 2] 1.7.10 v2.2.814
 
Последнее редактирование:
По этому куску кода не очен понятно но вполне возможно что это оно.
Просто логгируйте все CustomPayload пакеты и смотрите что он шлёт.
 
По этому куску кода не очен понятно но вполне возможно что это оно.
Просто логгируйте все CustomPayload пакеты и смотрите что он шлёт.
Ждать этого чела (не зная ничего о нем), пока он повторит процедуру и смотреть что он шлет (не известно куда) - приведет к тонне попыток что то поймать, а это черевато разрухой в экономике и дальнейшими откатами..

Такой вариант реально невозможен ☹️
Нужно найти дыру без использования мышеловки..
 
Ждать этого чела (не зная ничего о нем), пока он повторит процедуру и смотреть что он шлет (не известно куда) - приведет к тонне попыток что то поймать, а это черевато разрухой в экономике и дальнейшими откатами..

Такой вариант реально невозможен ☹️
Нужно найти дыру без использования мышеловки..
Что лучше, тыкать пальцем в небо или отталкиваться от каких либо данных?
К тому-же ты даже версию модов не написал.
 
Что лучше? Тыкать пальцем в небо или отталкиваясь от каких либо данных?
К тому-же ты даже версию модов не написал.
Это и будет тыкание пальцем в небо..
Когда он это сделает, кто это сделает, что сделает, как сделает - мы не знаем
Собирать все пакеты на сервере с онлайном 70+ думаю ну не к чему не приведут.
Знать бы хотя-бы логин или мод, чтоб отсеевать лишнее

Собирать все пакеты поочередно от каждого мода - это больше 10 его удачных попыток которые не будут не каким образом отловлены, и остановлены.
Опять же откаты.. Что в принципе не разумно на сервере с таким онлайном.
 
Это и будет тыкание пальцем в небо..
Когда он это сделает, кто это сделает, что сделает, как сделает - мы не знаем
Собирать все пакеты на сервере с онлайном 70+ думаю ну не к чему не приведут.
Знать бы хотя-бы логин или мод, чтоб отсеевать лишнее

Собирать все пакеты поочередно от каждого мода - это больше 10 его удачных попыток которые не будут не каким образом отловлены, и остановлены.
Опять же откаты.. Что в принципе не разумно на сервере с таким онлайном.
Люди остались =).80 проц, что это драконик, пару месяцев назад ковырял его.....Надо сделать логгер CustomPayload пакетов от этого мода.Я думаю, что мусора много не будет.Меня, кстати, таким образом спалили на редсервере с хаком креатива через серверную часть NEI.
 
Последнее редактирование:
В теме остались еще люди которые шарят в поисках таких уязвимостей?

Есть некий сервер. Все что в этом списке давно перекрыто.
На нем есть "постоянный" игрок (VPN, ChangeHWID и остальные прелести обходов бана)
Заходя на сервер - спавнит лут в сундуках по указанным координатам
2жды пересматривали IC на косяк (ибо ну очень похоже), там все чисто..
Логов естественно не каких (100% действует какой то мод, это обьясняет появление предметов даже с вырезанным крафтом)
Из списка модов глаза упали на 3 мода (DraconicEvolution, а так же ZTones и Vending [барт подсказал])
Список модов:

Технические
:
Applied Energistics 2 (+ AE2 Stuff, ExtraCells)
Big Reactors
Buildcraft 7
Draconic Evolution
EnderIO
Forestry
IndustrialCraft 2 Experimental (+ Advanced Solar Panels, Nuclear Control; Combo Armors; Gravitation Suite; IC2 Backpack HUD)
Mekanism 9
OpenBlocks
OpenComputers (+ Computronics, OpenGlasses, OpenPrinter)
OpenSecurity
OpenModularTurrets
PowerConverters
Project Red
Railcraft
Tinkers Construct (+ Tinker’s Mechworks, ExtraTiC)
Thermal Expansion
Wireless Redstone Chicken Bones Edition

Декоративные:
Biomes O’Plenty
Carpenter’s Blocks
Chisel 2 (+ ChiselTones)
CustomNPCs
Dragon’s Radio Mod
Hats
MalisisAdvert
MalisisDoors
MrCrayfish’s Furniture Mod
Realistic World Gen
Streams
Ztones

Интерфейс:
Damage Indicators Mod
Inventory Tweaks
Mouse Tweaks
NEI (+ NEI Addons)
Rei’s Minimap Mod
Waila

Производительность:
Fastcraft
Optifine

Утилитарные:
Dynmap (+ Factions Addon)
Ender Storage
IronChests
JumpPad++
OmniWrench
Pam’s HarvestCraft
TooManyDanyOres
No More Recipe Conflicts
Vending Blocks

Но самые большие подозрения упали на мод DraconicEvolution, у него есть свой обработчик TileEntity, к тому же он умеет обновлять NBT своих сундуков со стороны клиента по некоторым параметрам..
(Я не разбираюсь в модо-писании клиент/сервер так что не ругайтесь, это лишь предположение основанное на логике)
Код обработчика тайлов
Java:
package com.brandon3055.draconicevolution.common.network;

import com.brandon3055.draconicevolution.common.container.ContainerDataSync;
import com.brandon3055.draconicevolution.common.tileentities.TileObjectSync;
import com.brandon3055.brandonscore.common.utills.DataUtills;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import cpw.mods.fml.relauncher.Side;
import io.netty.buffer.ByteBuf;
import net.minecraft.client.Minecraft;

/**
* Created by Brandon on 14/11/2014.
*/
public class TileObjectPacket implements IMessage {

    int x;
    int y;
    int z;
    short index;
    short dataType = -1;
    Object object;
    boolean isContainerPacket;

    /**
     * Used for Tile and Container synchronization
     */
    public TileObjectPacket() {
    }

    public TileObjectPacket(TileObjectSync tile, byte dataType, int index, Object object) {
        this.isContainerPacket = tile == null;
        if (!isContainerPacket) {
            this.x = tile.xCoord;
            this.y = tile.yCoord;
            this.z = tile.zCoord;
        }
        this.dataType = dataType;
        this.object = object;
        this.index = (short) index;
    }

    @Override
    public void toBytes(ByteBuf bytes) {
        bytes.writeBoolean(isContainerPacket);

        if (!isContainerPacket) {
            bytes.writeInt(x);
            bytes.writeInt(y);
            bytes.writeInt(z);
        }

        bytes.writeByte(dataType);
        bytes.writeShort(index);

        DataUtills.instance.writeObjectToBytes(bytes, dataType, object);

    }

    @Override
    public void fromBytes(ByteBuf bytes) {
        isContainerPacket = bytes.readBoolean();

        if (!isContainerPacket) {
            x = bytes.readInt();
            y = bytes.readInt();
            z = bytes.readInt();
        }

        dataType = bytes.readByte();
        index = bytes.readShort();

        object = DataUtills.instance.readObjectFromBytes(bytes, dataType);
    }

    public static class Handler implements IMessageHandler<TileObjectPacket, IMessage> {

        @Override
        public IMessage onMessage(TileObjectPacket message, MessageContext ctx) {
            if (ctx.side == Side.CLIENT) {
                if (message.isContainerPacket) {
                    ContainerDataSync container = Minecraft.getMinecraft().thePlayer.openContainer instanceof ContainerDataSync ? (ContainerDataSync) Minecraft.getMinecraft().thePlayer.openContainer : null;
                    if (container == null) return null;
                    container.receiveSyncData(message.index, (Integer) message.object);
                } else {
                    if (!(Minecraft.getMinecraft().theWorld.getTileEntity(message.x, message.y, message.z) instanceof TileObjectSync))
                        return null;
                    ((TileObjectSync) Minecraft.getMinecraft().theWorld.getTileEntity(message.x, message.y, message.z)).receiveObjectFromServer(message.index, message.object);
                }
            } else {
                if (message.isContainerPacket) {
                    ContainerDataSync container = ctx.getServerHandler().playerEntity.openContainer instanceof ContainerDataSync ? (ContainerDataSync) ctx.getServerHandler().playerEntity.openContainer : null;
                    if (container == null) return null;
                    container.receiveSyncData(message.index, (Integer) message.object);
                } else {
                    if (!(ctx.getServerHandler().playerEntity.worldObj.getTileEntity(message.x, message.y, message.z) instanceof TileObjectSync))
                        return null;
                    ((TileObjectSync) ctx.getServerHandler().playerEntity.worldObj.getTileEntity(message.x, message.y, message.z)).receiveObjectFromClient(message.index, message.object);
                }
            }
            return null;
        }
    }
}

Подскажите может быть дело в чем то другом, или ваши предположения того как он меняет содержимое контейнеров не имея ни каких полномочий.
Заранее благодарен..

P.S Версии подозреваемых модов:
[Draconic-Evolution] 1.7.10 v1.0.2h
[Vending] 1.7.10 v1.2.3
[ZTones] 1.7.10 v2.2.1
-=======-
[IndustrialCraft 2] 1.7.10 v2.2.814
Ну вот этим пакетом от тебе и сетает инвентарь сундукам лол. Тут и координаты и слот в пакете имеется, и некий объект, возможно итемстак. Под описание изидропа, этот пакет 90% подходит. Удаляешь эту хрень из того мода и ждешь реакцию дропера.
P.s я не удивлюсь, что этот дропер и есть барт.
 
Последнее редактирование:
Так по его видосам все и фиксятся, в основном. Этот дцп отчаянно пиарится на дюпах, в итоге фиксит конкурентов 😁

Ты лучше бы за своей репутацией следил школьник.

Я дюпы выкладываю просто так. потому что детям это нравится. + я выкладываю все что попало в паблик и не помогаю таким низким людям как ты. этот форум давно сгнил, поэтому я перестал тут писать. начиная от того что все поголовно пытаются обмануть для своей выгоды. заканчивая даже тем , что ты зная ошибки с пакет хаками и прочим дерьмом не пишешь про них...

Про фиксы конкурентов. Кто уж виноват что 228 школопроекты не исправляют настолько баянистые и публичные дюпы ?! Если я помогаю кому то то я очень рад за них.

Так называемые тобой конкуренты ничего сами не могут придумать и сделать. Весь рукластер под копирку катает друг с друга идеи... Если я что то выкладываю, то не считаю что это очень поможет конкурентам,а если и поможет, это лишь показывает что я выложил то, что у конкурентов работает.

Я довольно открыто иду на контакт когда мне пишут люди и помогаю многим проектам сейчас с поиском и исправлением ошибок.
Хех, все "заслуги" достаются барту, хотя он не программист, а всего лишь ютубер :creeper:

Ты вправду считаешь что найди дюп , быстрее отснять его и " присвоить себе" это достижение ?
Я могу передать в видео тебе привет , может тебя это успокоит ?
 
Последнее редактирование:
Ты лучше бы за своей репутацией следил школьник.

Я дюпы выкладываю просто так. потому что детям это нравится. + я выкладываю все что попало в паблик и не помогаю таким низким людям как ты. этот форум давно сгнил, поэтому я перестал тут писать. начиная от того что все поголовно пытаются обмануть для своей выгоды. заканчивая даже тем , что ты зная ошибки с пакет хаками и прочим дерьмом не пишешь про них...

Про фиксы конкурентов. Кто уж виноват что 228 школопроекты не исправляют настолько баянистые и публичные дюпы ?! Если я помогаю кому то то я очень рад за них.

Так называемые тобой конкуренты ничего сами не могут придумать и сделать. Весь рукластер под копирку катает друг с друга идеи... Если я что то выкладываю, то не считаю что это очень поможет конкурентам,а если и поможет, это лишь показывает что я выложил то, что у конкурентов работает.

Я довольно открыто иду на контакт когда мне пишут люди и помогаю многим проектам сейчас с поиском и исправлением ошибок.


Ты вправду считаешь что найди дюп , быстрее отснять его и " присвоить себе" это достижение ?
Я могу передать в видео тебе привет , может тебя это успокоит ?
Ну тут я с тобой полностью согласен. Все копипастеры, сайты, сборки серверов.
 
Последнее редактирование:
Ну тут я с тобой полностью согласен. Все копипастеры, сайты, сборки серверов.

я стараюсь оповещать админов об ошибках проектах , я не хожу больше по серверам чтобы " баловаться дюпать и делать раздачи " . Да была дурная слава но люди меняются.🙄 .
 
я стараюсь оповещать админов об ошибках проектах , я не хожу больше по серверам чтобы " баловаться дюпать и делать раздачи " . Да была дурная слава но люди меняются.🙄 .
Да, люди меняются, но только на половину 🙂 Кстати, мне интересно знают ли школьники про этот сайт?)
Люди остались =).80 проц, что это драконик, пару месяцев назад ковырял его.....Надо сделать логгер CustomPayload пакетов от этого мода.Я думаю, что мусора много не будет.Меня, кстати, таким образом спалили на редсервере с хаком креатива через серверную часть NEI.
А вы же с Натакорном(natakorn, как-то так) Общались. Вы оба снимали видео про обходы на проекты. Что с ним стало? Первый канал в ban улетел, потом и второй.
И, Барто детям нравятся дюпы, но все в конце концов сводится к деньгам не правда ли?
 
Назад
Верх